diff --git a/doc/diagrams/benchmarks-flat_map/clang-arm64/Running erasure.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-arm64/Running erasure.xlsx.plot.png index 69cc81c5..dae5cecc 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-arm64/Running erasure.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-arm64/Running erasure.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-arm64/Running insertion.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-arm64/Running insertion.xlsx.plot.png index 112fa672..b1d0f29a 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-arm64/Running insertion.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-arm64/Running insertion.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered successful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered successful looukp.xlsx.plot.png index 2356fae6..26418ad4 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered successful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered successful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered unsuccessful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered unsuccessful looukp.xlsx.plot.png index eaa1f6f6..a073614d 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered unsuccessful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-arm64/Scattered unsuccessful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x64/Running erasure.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x64/Running erasure.xlsx.plot.png index 0f3beb19..4ada054c 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x64/Running erasure.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x64/Running erasure.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x64/Running insertion.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x64/Running insertion.xlsx.plot.png index 339d37e6..497fe908 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x64/Running insertion.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x64/Running insertion.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered successful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered successful looukp.xlsx.plot.png index 44753c91..a658e132 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered successful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered successful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered unsuccessful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered unsuccessful looukp.xlsx.plot.png index be78b9ec..8256b0b8 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered unsuccessful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x64/Scattered unsuccessful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x86/Running erasure.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x86/Running erasure.xlsx.plot.png index c0f8b10c..db8d5e61 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x86/Running erasure.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x86/Running erasure.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x86/Running insertion.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x86/Running insertion.xlsx.plot.png index b609fc90..5ee39bfc 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x86/Running insertion.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x86/Running insertion.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered successful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered successful looukp.xlsx.plot.png index 52e01e41..2d9d1862 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered successful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered successful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered unsuccessful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered unsuccessful looukp.xlsx.plot.png index 2bade48f..35987cfa 100644 Binary files a/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered unsuccessful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/clang-x86/Scattered unsuccessful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x64/Running erasure.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x64/Running erasure.xlsx.plot.png index 61e527a3..ed8d753e 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x64/Running erasure.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x64/Running erasure.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x64/Running insertion.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x64/Running insertion.xlsx.plot.png index 1c9b29fd..0764d4d8 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x64/Running insertion.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x64/Running insertion.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered successful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered successful looukp.xlsx.plot.png index eb0c8f89..6db08040 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered successful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered successful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered unsuccessful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered unsuccessful looukp.xlsx.plot.png index ae4201e6..ad6f45c9 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered unsuccessful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x64/Scattered unsuccessful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x86/Running erasure.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x86/Running erasure.xlsx.plot.png index b744d9eb..d672b370 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x86/Running erasure.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x86/Running erasure.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x86/Running insertion.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x86/Running insertion.xlsx.plot.png index b7324108..64ffc15a 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x86/Running insertion.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x86/Running insertion.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered successful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered successful looukp.xlsx.plot.png index e3b16370..d3c4f3bf 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered successful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered successful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered unsuccessful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered unsuccessful looukp.xlsx.plot.png index aa9bb9b5..0e7b1d57 100644 Binary files a/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered unsuccessful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/gcc-x86/Scattered unsuccessful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x64/Running erasure.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x64/Running erasure.xlsx.plot.png index 982afede..85b38ef5 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x64/Running erasure.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x64/Running erasure.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x64/Running insertion.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x64/Running insertion.xlsx.plot.png index 4918c7f4..cb7b35cf 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x64/Running insertion.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x64/Running insertion.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered successful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered successful looukp.xlsx.plot.png index 2477e627..e1cbc684 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered successful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered successful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered unsuccessful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered unsuccessful looukp.xlsx.plot.png index 3624dd4c..f6bc65cd 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered unsuccessful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x64/Scattered unsuccessful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x86/Running erasure.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x86/Running erasure.xlsx.plot.png index d9418351..142b18ab 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x86/Running erasure.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x86/Running erasure.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x86/Running insertion.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x86/Running insertion.xlsx.plot.png index 2e9c5551..1d821410 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x86/Running insertion.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x86/Running insertion.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered successful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered successful looukp.xlsx.plot.png index a09cd088..a8d67d7a 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered successful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered successful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered unsuccessful looukp.xlsx.plot.png b/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered unsuccessful looukp.xlsx.plot.png index c6c6dfb3..ca591cff 100644 Binary files a/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered unsuccessful looukp.xlsx.plot.png and b/doc/diagrams/benchmarks-flat_map/vs-x86/Scattered unsuccessful looukp.xlsx.plot.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique 5.png index 1a1463c7..a12433de 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique.png index 4a73d06e..1e4888e5 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique 5.png b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique 5.png index 2228b9e5..75ffde9b 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique 5.png and b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique.png b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique.png index 3c1c33b2..23c62f97 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique.png and b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash.png b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash.png index e6dea1b3..ec484cf7 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash.png and b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice norehash.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice.png b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice.png index cc4c94ce..96bf66ff 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice.png and b/doc/diagrams/benchmarks-set/clang_libcpp/running insertion.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure by key.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure by key.xlsx.practice non-unique 5.png new file mode 100644 index 00000000..0fae21db Binary files /dev/null and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure by key.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure by key.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure by key.xlsx.practice non-unique.png new file mode 100644 index 00000000..748964f5 Binary files /dev/null and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure by key.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique 5.png index 283289e4..5f30091b 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique.png index 18f337cd..bb24c096 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice.png index f7cf2e0f..9170a1e9 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered erasure.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique 5.png index 84173e72..498e8924 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique.png index d1c73ce0..0836576b 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice.png index 5685e21c..5e61c49a 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered successful looukp.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique 5.png index 89598dba..6b023124 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique.png index 993d9303..f41986be 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice.png b/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice.png index 50e1b106..e0aae171 100644 Binary files a/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice.png and b/doc/diagrams/benchmarks-set/clang_libcpp/scattered unsuccessful looukp.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique 5.png index 18d17d5d..b0902aa2 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique.png index 391ba2cb..56d9c345 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique 5.png b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique 5.png index 71adada1..d48963af 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique 5.png and b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique.png b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique.png index 81dd4da5..3b3be467 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique.png and b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash.png b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash.png index 36e4e1a5..7f802adf 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash.png and b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice norehash.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice.png b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice.png index 2e0f2d7a..b933a41b 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice.png and b/doc/diagrams/benchmarks-set/gcc/running insertion.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered erasure by key.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/gcc/scattered erasure by key.xlsx.practice non-unique 5.png new file mode 100644 index 00000000..7bb06b8b Binary files /dev/null and b/doc/diagrams/benchmarks-set/gcc/scattered erasure by key.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered erasure by key.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/gcc/scattered erasure by key.xlsx.practice non-unique.png new file mode 100644 index 00000000..75c7c0f0 Binary files /dev/null and b/doc/diagrams/benchmarks-set/gcc/scattered erasure by key.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique 5.png index 87b18e42..fb64c82c 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique.png index 5ff84e67..e20f3b99 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice.png b/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice.png index 6e8ea516..00ff29f8 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice.png and b/doc/diagrams/benchmarks-set/gcc/scattered erasure.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique 5.png index 3561bec8..20f70064 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique.png index e5d8b51b..b862d818 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice.png b/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice.png index 32ee5248..c64f7113 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice.png and b/doc/diagrams/benchmarks-set/gcc/scattered successful looukp.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique 5.png index 76bb72ee..5b917b4c 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique.png index 4f36bf4d..cea38eba 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice.png b/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice.png index 579df839..3622cca7 100644 Binary files a/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice.png and b/doc/diagrams/benchmarks-set/gcc/scattered unsuccessful looukp.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique 5.png index 429bfe96..f40f0f81 100644 Binary files a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique.png index a9e53a77..342e7c99 100644 Binary files a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique 5.png b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique 5.png index bd45067b..6fde0a3f 100644 Binary files a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique 5.png and b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique.png b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique.png index cdb1bf0a..32d1c19d 100644 Binary files a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique.png and b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash.png b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash.png index 23762c30..37402bab 100644 Binary files a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash.png and b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice norehash.png differ diff --git a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice.png b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice.png index 4a7f3268..a267db18 100644 Binary files a/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice.png and b/doc/diagrams/benchmarks-set/vs/running insertion.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered erasure by key.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/vs/scattered erasure by key.xlsx.practice non-unique 5.png new file mode 100644 index 00000000..b5f4013b Binary files /dev/null and b/doc/diagrams/benchmarks-set/vs/scattered erasure by key.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered erasure by key.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/vs/scattered erasure by key.xlsx.practice non-unique.png new file mode 100644 index 00000000..7f99ecd3 Binary files /dev/null and b/doc/diagrams/benchmarks-set/vs/scattered erasure by key.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique 5.png index 9cd07ad7..d8f1e263 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique.png index 930caa64..65faa5c4 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice.png b/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice.png index 5d65e989..23aa4929 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice.png and b/doc/diagrams/benchmarks-set/vs/scattered erasure.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique 5.png index 3260afba..01fa7108 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique.png index d05c2264..7a5d80e7 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice.png b/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice.png index b0d13f67..8e1a40fb 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice.png and b/doc/diagrams/benchmarks-set/vs/scattered successful looukp.xlsx.practice.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique 5.png b/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique 5.png index 7908d2a4..971757b8 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique 5.png and b/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique 5.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique.png b/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique.png index b972f860..40147d99 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique.png and b/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice non-unique.png differ diff --git a/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice.png b/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice.png index b98a3c2b..12a15bbc 100644 Binary files a/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice.png and b/doc/diagrams/benchmarks-set/vs/scattered unsuccessful looukp.xlsx.practice.png differ diff --git a/doc/unordered/benchmarks.adoc b/doc/unordered/benchmarks.adoc index 4ba673e0..4d1fae35 100644 --- a/doc/unordered/benchmarks.adoc +++ b/doc/unordered/benchmarks.adoc @@ -10,7 +10,7 @@ All benchmarks were created using `unordered_set` (non-duplicate) The insertion benchmarks insert `n` random values, where `n` is between 10,000 and 3 million. For the duplicated benchmarks, the same random values are repeated an average of 5 times. -The erasure benchmarks erase all `n` elements randomly until the container is empty. +The erasure benchmarks erase all `n` elements randomly until the container is empty. Erasure by key uses `erase(const key_type&)` to remove entire groups of equivalent elements in each operation. The successful lookup benchmarks are done by looking up all `n` values, in their original insertion order. @@ -30,7 +30,7 @@ The unsuccessful lookup benchmarks use `n` randomly generated integers but using h|non-duplicate elements h|duplicate elements -h|duplicate elements + +h|duplicate elements, + max load factor 5 |=== @@ -64,8 +64,18 @@ prior `reserve` h|non-duplicate elements h|duplicate elements -h|duplicate elements + +h|duplicate elements, + max load factor 5 + +| +|image::benchmarks-set/gcc/scattered%20erasure%20by%20key.xlsx.practice non-unique.png[width=250,link=../diagrams/benchmarks-set/gcc/scattered%20erasure%20by%20key.xlsx.practice non-unique.png,window=_blank] +|image::benchmarks-set/gcc/scattered%20erasure%20by%20key.xlsx.practice non-unique 5.png[width=250,link=../diagrams/benchmarks-set/gcc/scattered%20erasure%20by%20key.xlsx.practice non-unique 5.png,window=_blank] + +| +h|by key, duplicate elements +h|by key, duplicate elements, + +max load factor 5 + |=== ==== Successful Lookup @@ -154,6 +164,15 @@ h|duplicate elements h|duplicate elements, + max load factor 5 +| +|image::benchmarks-set/clang_libcpp/scattered%20erasure%20by%20key.xlsx.practice non-unique.png[width=250,link=../diagrams/benchmarks-set/clang_libcpp/scattered%20erasure%20by%20key.xlsx.practice non-unique.png,window=_blank] +|image::benchmarks-set/clang_libcpp/scattered%20erasure%20by%20key.xlsx.practice non-unique 5.png[width=250,link=../diagrams/benchmarks-set/clang_libcpp/scattered%20erasure%20by%20key.xlsx.practice non-unique 5.png,window=_blank] + +| +h|by key, duplicate elements +h|by key, duplicate elements, + +max load factor 5 + |=== ==== Successful lookup @@ -242,6 +261,15 @@ h|duplicate elements h|duplicate elements, + max load factor 5 +| +|image::benchmarks-set/vs/scattered%20erasure%20by%20key.xlsx.practice non-unique.png[width=250,link=../diagrams/benchmarks-set/vs/scattered%20erasure%20by%20key.xlsx.practice non-unique.png,window=_blank] +|image::benchmarks-set/vs/scattered%20erasure%20by%20key.xlsx.practice non-unique 5.png[width=250,link=../diagrams/benchmarks-set/vs/scattered%20erasure%20by%20key.xlsx.practice non-unique 5.png,window=_blank] + +| +h|by key, duplicate elements +h|by key, duplicate elements, + +max load factor 5 + |=== ==== Successful lookup