forked from improbable-eng/phtree-cpp
-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededquestionFurther information is requestedFurther information is requested
Description
At anyone reading this: please feel free to put suggestions & endorsements into comments below
Here are some assorted ideas / plans for the future:
API:
-
Think about providingProbably not goping to happen, we havefind_navigable()/erase_navigable()that return truly iterable iterators.lower_bound()now. - Add
performance_hints()that checks for various performance issues (and returns a list of <string, bool> checks. E.g.- Is the value trivially copyable or movable? (TBC)
- Is the value "small" in size? -> Use pointer instead
- Suggest using std::vector for high-dim keys (TBC)
-
self_join()function? - Check R-Tree (std std::...) direct access to nodes. What do people use it for? Should we provide it?
- Similar to previous: Support custom data (and possibly functions) in nodes. Examples for functions + data would be to store aggregate information (total child count, total area of boxes, some kind of aggregate running on the values associated with keys...).
Internally:
-
MakeOn hold: No benefit for DIM < 30 and only marginal (i.e. only for insertion but not query/kNN) above 30.std::vectorthe default key for high dimensions (verify the idea first). - Make Entry & Node trivially copyable
Documentation:
- Document prominently that PhPoint/Box are only "default" keys
- Document more prominently that find/erase do not return real iterators
- Provide example + documentation for multi-map
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededquestionFurther information is requestedFurther information is requested