Remove the postfix and infix fields from Node and instead have only a single infix in Entry. See issue #11.
The idea is that we can check whether a child node should be traversed (checking with key and infix/posfix) without having to access the node (=pointer indirection). I.e. we can avoid loading nodes that we never need.
This is expected to be useful for all types of access: insert, update, erase, query, kNN. This mostly worked out except that queries showed no improvement and other operations improved mostly for low dimensionality (e.g. 3D).
Improvements summary of various benchmarks:
Remove the
postfix
andinfix
fields fromNode
and instead have only a singleinfix
inEntry
. See issue #11. The idea is that we can check whether a child node should be traversed (checking with key and infix/posfix) without having to access the node (=pointer indirection). I.e. we can avoid loading nodes that we never need. This is expected to be useful for all types of access: insert, update, erase, query, kNN. This mostly worked out except that queries showed no improvement and other operations improved mostly for low dimensionality (e.g. 3D). Improvements summary of various benchmarks:All results: remove-postlen.txt