For small sets or maps, it's usually much faster to just use a sorted vector, instead of the tree-based set
/map
- especially for something like 5-10 elements. LLVM has some classes in that spirit, but no real adapter that would provide a std::map
like interface backed up with a std::vector
.
Any (free) implementation of this out there?
Edit: Thanks for all the alternative ideas, but I'm really interested in a vector based set/map. I do have specific cases where I tend to create huge amounts of sets/maps which contain usually less than 10 elements, and I do really want to have less memory pressure. Think about for example neighbor edges for a vertex in a triangle mesh, you easily wind up with 100k sets of 3-4 elements each.