I did a little update to the official perf tool in https://github.com/intel/tbb/blob/tbb_2020/src/perf/time_hash_map.cpp, (my updated code is attached.)
and aim to compare the perf between tbb::concurrent_unordered_map and std::unordered_map.
the result i got is a little weird to me, it shows the ave latency for single find/update operation drops a lot after the table size grow larger than a certain value, (it's around 2000000 in my side)
So is this result expected? anyone know why the perf drops worse than std::unordered_map when table size grow larger?
i tried to pre-allocate the capacity of hash table, but the result are still the same.
axial x means element count in table, axial y means latency in nano sec.
For more complete information about compiler optimizations, see our Optimization Notice.