Open lerno opened 5 years ago
do you have specific instances which you want to replace?
@bvdberg Well, the glaring problem is in the parsing code, but creating a custom hash and vector could then be reused across the codebase I think. Note that llvm's implementations like smallvector (allocates the vector on the stack unless it grows large – ideal for when collecting a list of attributes etc that is known to be small in the common case) can probably be a good alternative to rolling ones own alternatives.
This is related to #100 which usually occurs together with STL usage.
In my research std::unordered_map/std::map are not very efficient for the special cases we want to use them for. Consequently hash maps could be replaced by simpler replacements reducing compilation time and increasing efficiency.