{"action":"opened","issue":{"url":"https://api.github.com/repos/KristofferC/NearestNeighbors.jl/issues/17","labels_url":"https://api.github.com/repos/KristofferC/NearestNeighbors.jl/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/KristofferC/NearestNeighbors.jl/issues/17/comments","events_url":"https://api.github.com/repos/KristofferC/NearestNeighbors.jl/issues/17/events","html_url":"https://github.com/KristofferC/NearestNeighbors.jl/issues/17","id":123844833,"number":17,"title":"Investigate into Fixed Size Arrays / dim parameterization","user":{"login":"KristofferC","id":1282691,"avatar_url":"https://avatars.githubusercontent.com/u/1282691?v=3","gravatar_id":"","url":"https://api.github.com/users/KristofferC","html_url":"https://github.com/KristofferC","followers_url":"https://api.github.com/users/KristofferC/followers","following_url":"https://api.github.com/users/KristofferC/following{/other_user}","gists_url":"https://api.github.com/users/KristofferC/gists{/gist_id}","starred_url":"https://api.github.com/users/KristofferC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KristofferC/subscriptions","organizations_url":"https://api.github.com/users/KristofferC/orgs","repos_url":"https://api.github.com/users/KristofferC/repos","events_url":"https://api.github.com/users/KristofferC/events{/privacy}","received_events_url":"https://api.github.com/users/KristofferC/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-25T02:06:45Z","updated_at":"2015-12-25T02:06:45Z","closed_at":null,"body":"It could be possible to get some speedups by using a vector of fixed size arrays instead of matrices to represent the data in the trees. The loop counts would then be known at compile time and it is possible that more efficient code could be generated.\r\n\r\nAnother way to know the loop counts at compile time is to parametrize the trees on the dimension of the points.\r\n\r\nFor small dimensions it should be possible for LLVM to for example unroll the loops if it think it is beneficial.\r\n\r\nBoth things are worth looking into."}}