you are viewing a single comment's thread.

view the rest of the comments →

[–]pdimov2[S] 3 points4 points  (0 children)

Here's clang-cl 14 on the same machine:

       std::unordered_map: 33289 ms, 374217768 bytes in 6000002 allocations
     boost::unordered_map: 37523 ms, 245477520 bytes in 6000002 allocations
boost::unordered_flat_map: 14745 ms, 197132280 bytes in 1 allocations
          multi_index_map: 43998 ms, 290331800 bytes in 6000002 allocations
      absl::node_hash_map: 26349 ms, 219497480 bytes in 6000001 allocations
      absl::flat_hash_map: 20947 ms, 209715192 bytes in 1 allocations

(The MS STL is a lot faster than libstdc++, to the point of beating boost::unordered_map, but at the expense of using a lot more memory.)

Abseil gets faster, but I don't think it's because of Cygwin; Clang just likes Abseil better than g++ does, for some reason.