Settings
KEY_COUNT: 20000000
KEY_COUNT_MEASUREMENT_INTERVAL: 50000
RUN_COUNT: 14
DISCARDED_RUNS_COUNT: 4
MAX_LOAD_FACTOR: 0.875
APPROXIMATE_CACHE_SIZE: 20000000
MILLISECOND_COOLDOWN_BETWEEN_BENCHMARKS: 1000
32-bit integer key, 32-bit value: Total time to insert N nonexisting keys
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
64-bit integer key, 448-bit value: Total time to insert N nonexisting keys
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
16-char c-string key, 64-bit value: Total time to insert N nonexisting keys
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
32-bit integer key, 32-bit value: Time to erase 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
64-bit integer key, 448-bit value: Time to erase 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
16-char c-string key, 64-bit value: Time to erase 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
32-bit integer key, 32-bit value: Time to replace 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
64-bit integer key, 448-bit value: Time to replace 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
16-char c-string key, 64-bit value: Time to replace 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
32-bit integer key, 32-bit value: Time to erase 1,000 nonexisting keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
64-bit integer key, 448-bit value: Time to erase 1,000 nonexisting keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
16-char c-string key, 64-bit value: Time to erase 1,000 nonexisting keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
32-bit integer key, 32-bit value: Time to look up 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
64-bit integer key, 448-bit value: Time to look up 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
16-char c-string key, 64-bit value: Time to look up 1,000 existing keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
32-bit integer key, 32-bit value: Time to look up 1,000 nonexisting keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
64-bit integer key, 448-bit value: Time to look up 1,000 nonexisting keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
16-char c-string key, 64-bit value: Time to look up 1,000 nonexisting keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
32-bit integer key, 32-bit value: Time to iterate over 5,000 keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
64-bit integer key, 448-bit value: Time to iterate over 5,000 keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
16-char c-string key, 64-bit value: Time to iterate over 5,000 keys with N keys in the map
Linear time from zero ⟶ N keys 4,000,000 8,000,000 12,000,000 16,000,000
Total time taken relative to the fastest table in the benchmark (lower is better) ankerl absl boost ska std tsl CC STC klib M*LIB stb_ds uthash Verstable M*LIB dict 32-bit integer key, 32-bit value: Insert nonexisting 1.75 1.09 1.00 1.83 6.33 1.67 1.31 1.07 1.22 1.36 2.00 6.65 1.26 1.45 64-bit integer key, 448-bit value: Insert nonexisting 1.33 1.50 1.07 1.66 4.85 2.03 1.27 1.00 1.14 1.54 1.37 4.22 1.35 1.03 16-char c-string key, 64-bit value: Insert nonexisting 1.58 1.35 1.23 2.26 2.94 1.36 1.80 1.56 1.75 1.97 1.16 2.92 1.44 1.00 32-bit integer key, 32-bit value: Erase existing 2.76 2.17 1.36 1.51 11.29 2.46 1.50 3.80 1.28 1.00 4.79 7.81 1.47 1.36 64-bit integer key, 448-bit value: Erase existing 2.34 1.89 1.33 1.77 9.95 3.32 1.50 4.16 1.12 1.16 4.01 6.28 1.36 1.00 16-char c-string key, 64-bit value: Erase existing 1.50 1.27 1.01 1.22 3.14 1.67 1.05 4.54 1.25 1.26 1.96 2.45 1.03 1.00 32-bit integer key, 32-bit value: Replace existing 1.73 1.67 1.33 1.15 2.70 1.31 1.28 1.35 1.72 1.00 2.47 3.70 1.34 1.17 64-bit integer key, 448-bit value: Replace existing 1.28 1.35 1.18 1.25 2.27 1.47 1.22 1.23 1.48 1.09 1.72 2.90 1.39 1.00 16-char c-string key, 64-bit value: Replace existing 1.03 1.12 1.02 1.15 1.52 1.40 1.02 1.18 1.29 1.27 1.07 1.53 1.03 1.00 32-bit integer key, 32-bit value: Erase nonexisting 1.67 1.16 1.00 1.60 5.18 1.85 1.17 2.36 2.18 2.59 3.82 3.67 1.14 2.65 64-bit integer key, 448-bit value: Erase nonexisting 1.70 1.32 1.00 2.02 5.69 2.72 1.22 2.50 2.62 3.42 3.92 3.95 1.16 2.86 16-char c-string key, 64-bit value: Erase nonexisting 1.18 1.08 1.00 1.69 2.35 1.94 1.07 2.24 2.49 2.57 2.03 2.12 1.05 1.63 32-bit integer key, 32-bit value: Look up existing 1.24 1.67 1.24 1.23 2.28 1.26 1.20 1.26 1.51 1.00 2.41 2.44 1.17 1.07 64-bit integer key, 448-bit value: Look up existing 1.12 1.52 1.40 1.37 2.16 1.51 1.27 1.27 1.59 1.17 1.97 2.17 1.08 1.00 16-char c-string key, 64-bit value: Look up existing 1.00 1.13 1.03 1.18 1.52 1.42 1.03 1.20 1.29 1.30 1.07 1.48 1.03 1.02 32-bit integer key, 32-bit value: Look up nonexisting 1.47 1.23 1.00 1.66 4.12 1.75 1.15 2.31 2.01 2.55 3.57 3.49 1.14 2.60 64-bit integer key, 448-bit value: Look up nonexisting 1.41 1.17 1.00 1.93 4.15 2.18 1.12 2.24 2.12 3.04 3.20 3.48 1.05 2.48 16-char c-string key, 64-bit value: Look up nonexisting 1.08 1.08 1.00 1.70 2.35 2.05 1.08 2.27 2.40 2.79 2.02 2.13 1.06 1.70 32-bit integer key, 32-bit value: Iterate 1.00 3.92 2.72 7.43 89.28 5.47 4.12 5.14 6.79 5.47 1.04 40.62 3.34 17.19 64-bit integer key, 448-bit value: Iterate 1.00 1.99 1.98 2.42 27.21 2.00 1.99 1.82 2.10 1.79 1.13 10.68 1.90 5.75 16-char c-string key, 64-bit value: Iterate 1.00 3.28 2.31 6.02 80.95 4.56 3.78 4.34 5.50 4.51 1.08 29.70 2.82 16.06