High performance nearest neighbor data structures (KDTree and BallTree) and algorithms for Julia.
413
stars
65
forks
source link
KDTree: SoA the `Node` struct to avoid paying alignment cost to store the split dimension #177
Closed
KristofferC closed 2 months ago
Previously, the
split_dim
had to be aligned giving:This instead SoAs that struct so that the values and dimensions are stored separately and can thus be stored without paying the alignment cost:
I see roughly a 5% improvement in
knn
from this.