{"action":"created","issue":{"url":"https://api.github.com/repos/knossos-project/knossos/issues/225","labels_url":"https://api.github.com/repos/knossos-project/knossos/issues/225/labels{/name}","comments_url":"https://api.github.com/repos/knossos-project/knossos/issues/225/comments","events_url":"https://api.github.com/repos/knossos-project/knossos/issues/225/events","html_url":"https://github.com/knossos-project/knossos/issues/225","id":76382659,"number":225,"title":"Oc/Dc2Pointer no-hash hash","user":{"login":"orenshatz","id":7572520,"avatar_url":"https://avatars.githubusercontent.com/u/7572520?v=3","gravatar_id":"","url":"https://api.github.com/users/orenshatz","html_url":"https://github.com/orenshatz","followers_url":"https://api.github.com/users/orenshatz/followers","following_url":"https://api.github.com/users/orenshatz/following{/other_user}","gists_url":"https://api.github.com/users/orenshatz/gists{/gist_id}","starred_url":"https://api.github.com/users/orenshatz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orenshatz/subscriptions","organizations_url":"https://api.github.com/users/orenshatz/orgs","repos_url":"https://api.github.com/users/orenshatz/repos","events_url":"https://api.github.com/users/orenshatz/events{/privacy}","received_events_url":"https://api.github.com/users/orenshatz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/knossos-project/knossos/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"jmrk84","id":7120954,"avatar_url":"https://avatars.githubusercontent.com/u/7120954?v=3","gravatar_id":"","url":"https://api.github.com/users/jmrk84","html_url":"https://github.com/jmrk84","followers_url":"https://api.github.com/users/jmrk84/followers","following_url":"https://api.github.com/users/jmrk84/following{/other_user}","gists_url":"https://api.github.com/users/jmrk84/gists{/gist_id}","starred_url":"https://api.github.com/users/jmrk84/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmrk84/subscriptions","organizations_url":"https://api.github.com/users/jmrk84/orgs","repos_url":"https://api.github.com/users/jmrk84/repos","events_url":"https://api.github.com/users/jmrk84/events{/privacy}","received_events_url":"https://api.github.com/users/jmrk84/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-05-14T14:49:40Z","updated_at":"2015-05-14T14:52:17Z","closed_at":null,"body":"As long as the supercube is a rectangular cube, the current unordered_map is a very inefficient solution for a quick retrieval of a cube from coordinate in the supercube. A simple 3D table of the supercube would be the best - dereference would cost practically nothing.\r\nIt would only have to be copied - also, very quickly - when the supercube is changing.\r\n\r\nIt seems that somehow the current unordered_map hashing is not a bottleneck in normal knossos usage, including high-throughput random voxel-wise access from python, probably due to a heavier burden on the actual thunking. However, should in the future more efficient random access schemes be used within the C++ code, that cannot be efficiently binned into cubes to allow pre-hashing the cube pointer for each bin - a hashed access to cubes may be the bottleneck, and direct table reference the solution."},"comment":{"url":"https://api.github.com/repos/knossos-project/knossos/issues/comments/102060902","html_url":"https://github.com/knossos-project/knossos/issues/225#issuecomment-102060902","issue_url":"https://api.github.com/repos/knossos-project/knossos/issues/225","id":102060902,"user":{"login":"Optiligence","id":1899299,"avatar_url":"https://avatars.githubusercontent.com/u/1899299?v=3","gravatar_id":"","url":"https://api.github.com/users/Optiligence","html_url":"https://github.com/Optiligence","followers_url":"https://api.github.com/users/Optiligence/followers","following_url":"https://api.github.com/users/Optiligence/following{/other_user}","gists_url":"https://api.github.com/users/Optiligence/gists{/gist_id}","starred_url":"https://api.github.com/users/Optiligence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Optiligence/subscriptions","organizations_url":"https://api.github.com/users/Optiligence/orgs","repos_url":"https://api.github.com/users/Optiligence/repos","events_url":"https://api.github.com/users/Optiligence/events{/privacy}","received_events_url":"https://api.github.com/users/Optiligence/received_events","type":"User","site_admin":false},"created_at":"2015-05-14T14:52:17Z","updated_at":"2015-05-14T14:52:17Z","body":"Maybe we want to change the supercube shape soonish…\r\nI don’t think this is needed, one should not query cubes that often. \r\nAs you said, it’s no bootleneck. "}}