158 KiB
Experimental results for candidate Boost Bloom Library
The tables show the false positive rate (FPR) and execution times in nanoseconds per operation
for several configurations of boost::bloom::filter<int, ...>
where N elements have been inserted. Filters are constructed with a capacity
c*N (bits), so c is the number of bits used per element. For each combination of c and
a given filter configuration, we have selected the optimum value of K (that yielding the minimum FPR).
Standard release-mode settings are used;
AVX2 is indicated for Visual Studio builds (/arch:AVX2) and 64-bit GCC/Clang builds (-mavx2),
which causes fast_multiblock32 and fast_multiblock64 to use their AVX2 variant.
For reference, we provide also insertion, successful lookup and unsuccessful lookup times
for a boost::unordered_flat_set<int> with the same number of elements N.
Results
GCC 14, x64
N = 1M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 26.93 | 5.57 | 4.50 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1635 | 12.85 | 11.69 | 18.00 | 4 | 3.3525 | 3.86 | 4.60 | 4.60 | 5 | 3.0203 | 4.84 | 4.96 | 4.97 |
| 12 | 9 | 0.3151 | 19.41 | 16.96 | 18.84 | 5 | 1.0369 | 4.41 | 5.05 | 5.06 | 6 | 0.8293 | 5.21 | 5.46 | 5.47 |
| 16 | 11 | 0.0455 | 23.09 | 20.02 | 17.70 | 6 | 0.4138 | 5.00 | 5.30 | 5.30 | 7 | 0.2824 | 5.84 | 5.94 | 5.94 |
| 20 | 14 | 0.0084 | 28.26 | 25.02 | 18.10 | 7 | 0.1936 | 5.58 | 5.77 | 5.78 | 8 | 0.1197 | 6.26 | 6.26 | 6.26 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4274 | 5.20 | 5.52 | 5.53 | 5 | 2.3232 | 5.47 | 6.66 | 6.66 | 5 | 2.7402 | 3.22 | 3.39 | 3.39 |
| 12 | 8 | 0.4244 | 7.07 | 7.74 | 7.73 | 8 | 0.3758 | 8.21 | 10.15 | 10.15 | 8 | 0.5360 | 2.56 | 3.09 | 3.14 |
| 16 | 11 | 0.0782 | 10.19 | 11.34 | 11.34 | 11 | 0.0581 | 22.42 | 13.51 | 13.52 | 11 | 0.1169 | 6.17 | 5.87 | 4.19 |
| 20 | 13 | 0.0132 | 11.26 | 13.06 | 13.09 | 14 | 0.0131 | 12.31 | 15.95 | 15.94 | 13 | 0.0280 | 6.22 | 5.89 | 4.17 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4803 | 3.21 | 3.21 | 3.28 | 5 | 2.4404 | 4.61 | 5.20 | 5.20 | 5 | 2.3234 | 4.69 | 5.02 | 5.02 |
| 12 | 8 | 0.4455 | 3.35 | 3.34 | 3.29 | 8 | 0.4197 | 3.42 | 4.46 | 4.47 | 8 | 0.3827 | 4.73 | 5.16 | 5.17 |
| 16 | 11 | 0.0840 | 5.62 | 5.53 | 4.00 | 11 | 0.0761 | 7.53 | 8.14 | 6.27 | 11 | 0.0629 | 8.91 | 7.94 | 6.17 |
| 20 | 13 | 0.0183 | 5.66 | 5.57 | 3.96 | 13 | 0.0154 | 9.13 | 9.46 | 6.35 | 14 | 0.0121 | 8.96 | 9.09 | 6.22 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.2994 | 6.19 | 7.66 | 15.02 | 6 | 2.2649 | 12.38 | 9.73 | 19.35 | 7 | 2.3451 | 10.86 | 10.95 | 10.96 |
| 12 | 7 | 0.4106 | 8.82 | 9.81 | 13.80 | 7 | 0.3873 | 13.10 | 10.18 | 15.58 | 10 | 0.3354 | 14.67 | 14.24 | 14.24 |
| 16 | 9 | 0.0845 | 10.88 | 11.39 | 13.44 | 10 | 0.0708 | 15.73 | 12.60 | 16.65 | 11 | 0.0510 | 16.40 | 16.15 | 16.16 |
| 20 | 12 | 0.0198 | 13.28 | 13.93 | 14.76 | 12 | 0.0147 | 17.10 | 14.84 | 16.15 | 15 | 0.0087 | 21.04 | 21.19 | 21.21 |
N = 10M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 48.42 | 24.30 | 15.28 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1566 | 17.90 | 15.33 | 20.61 | 4 | 3.3462 | 5.50 | 6.30 | 6.26 | 5 | 3.0448 | 6.05 | 5.97 | 5.99 |
| 12 | 9 | 0.3146 | 44.15 | 40.78 | 24.67 | 5 | 1.0310 | 10.46 | 11.07 | 11.01 | 6 | 0.8244 | 11.73 | 12.27 | 11.69 |
| 16 | 11 | 0.0456 | 87.31 | 82.44 | 31.10 | 6 | 0.4035 | 16.46 | 17.98 | 17.98 | 7 | 0.2885 | 18.81 | 18.75 | 18.75 |
| 20 | 14 | 0.0066 | 126.87 | 116.19 | 36.57 | 7 | 0.1879 | 21.86 | 21.84 | 21.83 | 8 | 0.1185 | 25.59 | 22.65 | 22.63 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4515 | 5.99 | 6.34 | 6.32 | 5 | 2.3208 | 7.98 | 9.39 | 9.48 | 5 | 2.7234 | 4.72 | 4.91 | 4.88 |
| 12 | 8 | 0.4244 | 13.32 | 13.74 | 13.71 | 8 | 0.3758 | 17.50 | 20.20 | 20.27 | 8 | 0.5407 | 7.41 | 8.54 | 8.48 |
| 16 | 11 | 0.0776 | 29.55 | 29.82 | 29.83 | 11 | 0.0641 | 37.34 | 32.44 | 32.43 | 11 | 0.1174 | 19.18 | 20.14 | 14.84 |
| 20 | 13 | 0.0148 | 39.40 | 39.07 | 39.09 | 14 | 0.0120 | 41.10 | 51.00 | 51.00 | 13 | 0.0277 | 22.37 | 23.37 | 16.63 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4625 | 4.24 | 4.63 | 4.39 | 5 | 2.4388 | 7.30 | 8.55 | 8.17 | 5 | 2.3198 | 5.58 | 6.07 | 6.07 |
| 12 | 8 | 0.4428 | 8.13 | 8.94 | 8.96 | 8 | 0.4190 | 8.84 | 10.69 | 10.52 | 8 | 0.3747 | 10.05 | 11.87 | 11.87 |
| 16 | 11 | 0.0866 | 17.93 | 18.71 | 14.52 | 11 | 0.0781 | 23.62 | 25.96 | 21.39 | 11 | 0.0651 | 25.48 | 25.83 | 20.65 |
| 20 | 13 | 0.0180 | 20.96 | 21.38 | 16.34 | 13 | 0.0147 | 32.57 | 35.91 | 24.89 | 14 | 0.0112 | 29.88 | 33.12 | 24.18 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3301 | 8.17 | 9.71 | 16.91 | 6 | 2.2943 | 13.94 | 11.93 | 22.72 | 7 | 2.3317 | 19.38 | 19.18 | 19.08 |
| 12 | 7 | 0.4128 | 18.92 | 19.00 | 18.55 | 7 | 0.3893 | 23.53 | 21.60 | 20.16 | 10 | 0.3489 | 32.25 | 32.25 | 32.22 |
| 16 | 9 | 0.0838 | 27.05 | 26.97 | 20.94 | 10 | 0.0718 | 39.12 | 33.20 | 25.06 | 11 | 0.0492 | 47.68 | 50.25 | 50.31 |
| 20 | 12 | 0.0197 | 41.64 | 41.89 | 24.57 | 12 | 0.0151 | 51.57 | 50.00 | 27.55 | 15 | 0.0076 | 78.60 | 73.53 | 73.58 |
Clang 18, x64
N = 1M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 26.23 | 6.53 | 4.26 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1635 | 9.59 | 10.62 | 17.14 | 4 | 3.3525 | 3.57 | 4.05 | 4.05 | 5 | 3.0203 | 4.12 | 4.66 | 4.66 |
| 12 | 9 | 0.3151 | 14.47 | 15.41 | 18.42 | 5 | 1.0369 | 4.15 | 4.66 | 4.67 | 6 | 0.8293 | 4.67 | 5.50 | 5.49 |
| 16 | 11 | 0.0455 | 17.74 | 18.47 | 17.01 | 6 | 0.4138 | 4.63 | 5.05 | 5.05 | 7 | 0.2824 | 5.00 | 5.96 | 5.95 |
| 20 | 14 | 0.0084 | 21.81 | 23.12 | 17.49 | 7 | 0.1936 | 5.00 | 5.61 | 5.60 | 8 | 0.1197 | 3.30 | 3.49 | 3.49 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4274 | 3.33 | 3.90 | 3.90 | 5 | 2.3232 | 3.39 | 3.73 | 3.73 | 5 | 2.7402 | 2.84 | 2.53 | 2.53 |
| 12 | 8 | 0.4244 | 2.98 | 4.74 | 4.74 | 8 | 0.3758 | 4.00 | 4.91 | 4.89 | 8 | 0.5360 | 2.26 | 2.31 | 2.31 |
| 16 | 11 | 0.0782 | 6.03 | 7.85 | 7.76 | 11 | 0.0581 | 6.14 | 7.56 | 7.56 | 11 | 0.1169 | 4.41 | 4.35 | 3.25 |
| 20 | 13 | 0.0132 | 6.50 | 8.46 | 8.46 | 14 | 0.0131 | 7.00 | 8.59 | 8.63 | 13 | 0.0280 | 4.44 | 4.38 | 3.20 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4803 | 2.83 | 2.37 | 2.38 | 5 | 2.4404 | 3.90 | 4.13 | 4.13 | 5 | 2.3234 | 3.97 | 3.94 | 3.94 |
| 12 | 8 | 0.4455 | 2.90 | 2.42 | 2.42 | 8 | 0.4197 | 3.22 | 3.83 | 3.83 | 8 | 0.3827 | 4.12 | 4.05 | 4.06 |
| 16 | 11 | 0.0840 | 4.53 | 4.31 | 3.00 | 11 | 0.0761 | 5.86 | 6.34 | 4.67 | 11 | 0.0629 | 6.08 | 6.12 | 4.49 |
| 20 | 13 | 0.0183 | 4.56 | 4.31 | 2.99 | 13 | 0.0154 | 6.99 | 7.13 | 4.65 | 14 | 0.0121 | 7.29 | 6.85 | 4.44 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.2994 | 6.95 | 6.99 | 13.88 | 6 | 2.2649 | 13.30 | 8.16 | 18.54 | 7 | 2.3451 | 10.59 | 11.06 | 11.06 |
| 12 | 7 | 0.4106 | 9.46 | 9.59 | 13.72 | 7 | 0.3873 | 13.63 | 9.98 | 15.64 | 10 | 0.3354 | 14.54 | 14.44 | 14.99 |
| 16 | 9 | 0.0845 | 11.56 | 11.24 | 13.52 | 10 | 0.0708 | 16.86 | 12.67 | 16.68 | 11 | 0.0510 | 16.08 | 16.53 | 15.48 |
| 20 | 12 | 0.0198 | 15.19 | 13.60 | 14.01 | 12 | 0.0147 | 18.46 | 14.79 | 16.20 | 15 | 0.0087 | 23.08 | 21.47 | 21.05 |
N = 10M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 50.59 | 23.72 | 14.31 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1566 | 15.09 | 16.30 | 20.03 | 4 | 3.3462 | 4.69 | 5.28 | 5.30 | 5 | 3.0448 | 5.06 | 5.74 | 5.75 |
| 12 | 9 | 0.3146 | 41.42 | 43.35 | 25.34 | 5 | 1.0310 | 8.87 | 9.59 | 9.66 | 6 | 0.8244 | 10.75 | 12.01 | 12.02 |
| 16 | 11 | 0.0456 | 70.44 | 73.32 | 29.70 | 6 | 0.4035 | 16.26 | 17.55 | 17.56 | 7 | 0.2885 | 16.81 | 20.44 | 20.45 |
| 20 | 14 | 0.0066 | 103.98 | 103.69 | 35.11 | 7 | 0.1879 | 19.37 | 21.53 | 21.58 | 8 | 0.1185 | 13.60 | 15.31 | 15.30 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4515 | 3.97 | 4.54 | 4.55 | 5 | 2.3208 | 5.47 | 6.21 | 6.31 | 5 | 2.7234 | 3.55 | 3.38 | 3.35 |
| 12 | 8 | 0.4244 | 8.05 | 10.34 | 10.34 | 8 | 0.3758 | 8.78 | 11.20 | 11.28 | 8 | 0.5407 | 6.41 | 6.65 | 6.62 |
| 16 | 11 | 0.0776 | 19.70 | 22.46 | 22.44 | 11 | 0.0641 | 19.80 | 22.42 | 22.41 | 11 | 0.1174 | 14.83 | 16.08 | 11.94 |
| 20 | 13 | 0.0148 | 24.37 | 30.31 | 30.32 | 14 | 0.0120 | 25.03 | 31.58 | 31.60 | 13 | 0.0277 | 17.13 | 18.19 | 13.45 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4625 | 3.73 | 3.45 | 3.45 | 5 | 2.4388 | 4.66 | 5.05 | 5.06 | 5 | 2.3198 | 5.52 | 5.84 | 5.85 |
| 12 | 8 | 0.4428 | 7.53 | 7.58 | 7.59 | 8 | 0.4190 | 7.85 | 8.99 | 9.08 | 8 | 0.3747 | 10.36 | 11.78 | 11.80 |
| 16 | 11 | 0.0866 | 14.92 | 16.11 | 11.68 | 11 | 0.0781 | 19.83 | 21.41 | 16.97 | 11 | 0.0651 | 19.86 | 21.19 | 16.84 |
| 20 | 13 | 0.0180 | 17.35 | 18.28 | 13.21 | 13 | 0.0147 | 24.97 | 26.91 | 19.80 | 14 | 0.0112 | 25.37 | 26.91 | 19.44 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3301 | 8.58 | 8.52 | 15.32 | 6 | 2.2943 | 13.86 | 9.73 | 20.08 | 7 | 2.3317 | 13.63 | 14.45 | 14.27 |
| 12 | 7 | 0.4128 | 16.86 | 16.40 | 17.67 | 7 | 0.3893 | 22.50 | 20.48 | 19.99 | 10 | 0.3489 | 29.65 | 29.73 | 30.34 |
| 16 | 9 | 0.0838 | 27.92 | 27.00 | 21.72 | 10 | 0.0718 | 42.13 | 33.14 | 25.16 | 11 | 0.0492 | 47.06 | 47.36 | 47.65 |
| 20 | 12 | 0.0197 | 44.48 | 41.83 | 24.42 | 12 | 0.0151 | 53.67 | 50.28 | 27.84 | 15 | 0.0076 | 80.17 | 73.52 | 73.42 |
Clang 15, ARM64
N = 1M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 18.75 | 2.41 | 1.99 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1635 | 6.33 | 4.38 | 11.34 | 4 | 3.3525 | 1.31 | 1.19 | 1.18 | 5 | 3.0203 | 1.61 | 1.29 | 1.29 |
| 12 | 9 | 0.3151 | 9.49 | 6.63 | 11.73 | 5 | 1.0369 | 1.36 | 1.34 | 1.34 | 6 | 0.8293 | 1.70 | 1.41 | 1.41 |
| 16 | 11 | 0.0455 | 12.41 | 8.19 | 10.97 | 6 | 0.4138 | 1.53 | 1.54 | 1.54 | 7 | 0.2824 | 1.74 | 1.57 | 1.57 |
| 20 | 14 | 0.0084 | 15.61 | 10.74 | 11.22 | 7 | 0.1936 | 1.73 | 1.75 | 1.75 | 8 | 0.1197 | 1.80 | 1.58 | 1.58 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4274 | 2.28 | 1.70 | 1.70 | 5 | 2.3232 | 2.27 | 1.74 | 1.75 | 5 | 2.7402 | 2.03 | 1.70 | 1.69 |
| 12 | 8 | 0.4244 | 2.16 | 1.84 | 1.84 | 8 | 0.3758 | 2.73 | 2.22 | 2.13 | 8 | 0.5360 | 1.49 | 1.35 | 1.35 |
| 16 | 11 | 0.0782 | 4.07 | 2.89 | 2.90 | 11 | 0.0581 | 4.08 | 3.01 | 3.02 | 11 | 0.1169 | 2.91 | 2.38 | 1.74 |
| 20 | 13 | 0.0132 | 4.54 | 3.32 | 3.33 | 14 | 0.0131 | 4.66 | 3.58 | 3.60 | 13 | 0.0280 | 2.93 | 2.93 | 1.74 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4803 | 2.02 | 1.70 | 1.67 | 5 | 2.4274 | 2.30 | 1.70 | 1.70 | 5 | 2.3232 | 2.27 | 1.73 | 1.74 |
| 12 | 8 | 0.4455 | 2.02 | 1.58 | 1.58 | 8 | 0.4244 | 2.15 | 1.84 | 1.84 | 8 | 0.3758 | 2.80 | 2.14 | 2.15 |
| 16 | 11 | 0.0840 | 2.88 | 2.39 | 1.74 | 11 | 0.0782 | 4.08 | 2.92 | 2.92 | 11 | 0.0581 | 4.07 | 3.02 | 3.02 |
| 20 | 13 | 0.0183 | 2.88 | 2.85 | 1.72 | 13 | 0.0132 | 4.62 | 3.36 | 3.44 | 14 | 0.0131 | 4.70 | 3.58 | 3.58 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.2994 | 3.13 | 3.17 | 10.13 | 6 | 2.2649 | 6.99 | 3.91 | 12.64 | 7 | 2.3451 | 7.72 | 4.88 | 4.88 |
| 12 | 7 | 0.4106 | 4.27 | 4.29 | 9.89 | 7 | 0.3873 | 7.43 | 4.58 | 10.47 | 10 | 0.3354 | 10.95 | 6.91 | 6.91 |
| 16 | 9 | 0.0845 | 5.41 | 5.19 | 9.65 | 10 | 0.0708 | 8.57 | 5.79 | 11.23 | 11 | 0.0510 | 12.07 | 7.57 | 7.58 |
| 20 | 12 | 0.0198 | 6.86 | 6.23 | 10.11 | 12 | 0.0147 | 9.52 | 6.41 | 10.75 | 15 | 0.0087 | 17.68 | 10.68 | 10.66 |
N = 10M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 23.51 | 10.96 | 6.04 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1566 | 7.73 | 6.33 | 13.02 | 4 | 3.3462 | 2.04 | 1.97 | 1.99 | 5 | 3.0448 | 2.18 | 2.12 | 2.13 |
| 12 | 9 | 0.3146 | 13.83 | 12.20 | 16.03 | 5 | 1.0310 | 3.63 | 3.29 | 3.38 | 6 | 0.8244 | 3.24 | 3.33 | 3.31 |
| 16 | 11 | 0.0456 | 30.48 | 25.52 | 17.61 | 6 | 0.4035 | 6.58 | 6.33 | 6.21 | 7 | 0.2885 | 6.51 | 6.01 | 6.52 |
| 20 | 14 | 0.0066 | 54.21 | 40.91 | 20.82 | 7 | 0.1879 | 8.97 | 7.80 | 7.81 | 8 | 0.1185 | 7.66 | 6.82 | 6.51 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4515 | 2.73 | 2.55 | 2.63 | 5 | 2.3208 | 2.74 | 2.66 | 2.65 | 5 | 2.7234 | 2.41 | 2.56 | 2.58 |
| 12 | 8 | 0.4244 | 3.90 | 4.25 | 4.28 | 8 | 0.3758 | 4.31 | 4.79 | 4.78 | 8 | 0.5407 | 2.77 | 3.35 | 3.64 |
| 16 | 11 | 0.0776 | 10.38 | 9.50 | 9.55 | 11 | 0.0641 | 11.31 | 9.78 | 9.73 | 11 | 0.1174 | 8.50 | 8.03 | 5.47 |
| 20 | 13 | 0.0148 | 15.63 | 13.04 | 13.12 | 14 | 0.0120 | 15.82 | 13.30 | 12.94 | 13 | 0.0277 | 9.57 | 10.51 | 6.13 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4625 | 2.37 | 2.59 | 2.61 | 5 | 2.4515 | 2.75 | 2.59 | 2.62 | 5 | 2.3208 | 2.76 | 2.66 | 2.68 |
| 12 | 8 | 0.4428 | 3.12 | 3.43 | 3.44 | 8 | 0.4244 | 4.19 | 4.53 | 4.34 | 8 | 0.3758 | 4.35 | 4.75 | 4.55 |
| 16 | 11 | 0.0866 | 7.58 | 7.79 | 5.35 | 11 | 0.0776 | 11.07 | 10.19 | 9.87 | 11 | 0.0641 | 10.86 | 9.65 | 9.70 |
| 20 | 13 | 0.0180 | 10.47 | 11.22 | 6.42 | 13 | 0.0148 | 15.55 | 12.71 | 12.52 | 14 | 0.0120 | 16.74 | 13.74 | 13.34 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3301 | 4.59 | 4.25 | 11.31 | 6 | 2.2943 | 8.92 | 5.00 | 13.60 | 7 | 2.3317 | 9.08 | 6.98 | 6.91 |
| 12 | 7 | 0.4128 | 7.94 | 7.21 | 12.22 | 7 | 0.3893 | 13.43 | 8.32 | 13.11 | 10 | 0.3489 | 15.28 | 12.28 | 12.56 |
| 16 | 9 | 0.0838 | 16.31 | 13.91 | 14.12 | 10 | 0.0718 | 24.36 | 15.09 | 15.94 | 11 | 0.0492 | 26.49 | 22.91 | 22.83 |
| 20 | 12 | 0.0197 | 22.52 | 17.90 | 15.22 | 12 | 0.0151 | 30.21 | 21.19 | 17.29 | 15 | 0.0076 | 49.89 | 38.45 | 38.76 |
VS 2022, x64
N = 1M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 25.17 | 5.16 | 3.68 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1635 | 9.26 | 10.50 | 14.08 | 4 | 3.3525 | 3.71 | 3.44 | 3.43 | 5 | 3.0203 | 4.27 | 4.11 | 4.08 |
| 12 | 9 | 0.3151 | 13.57 | 14.83 | 14.80 | 5 | 1.0369 | 4.33 | 3.86 | 3.82 | 6 | 0.8293 | 4.95 | 4.72 | 4.61 |
| 16 | 11 | 0.0455 | 16.32 | 18.07 | 13.79 | 6 | 0.4138 | 5.43 | 4.27 | 4.23 | 7 | 0.2824 | 5.56 | 5.06 | 5.07 |
| 20 | 14 | 0.0084 | 28.09 | 49.72 | 17.14 | 7 | 0.1936 | 7.25 | 4.65 | 4.65 | 8 | 0.1197 | 6.15 | 5.49 | 5.51 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4274 | 5.28 | 4.22 | 4.22 | 5 | 2.3232 | 7.86 | 4.54 | 4.57 | 5 | 2.7402 | 2.85 | 2.10 | 2.09 |
| 12 | 8 | 0.4244 | 8.16 | 6.96 | 6.93 | 8 | 0.3758 | 12.93 | 6.88 | 6.84 | 8 | 0.5360 | 2.79 | 2.91 | 2.29 |
| 16 | 11 | 0.0782 | 10.47 | 9.24 | 9.14 | 11 | 0.0581 | 12.53 | 10.20 | 10.33 | 11 | 0.1169 | 4.25 | 4.37 | 3.05 |
| 20 | 13 | 0.0132 | 11.89 | 19.27 | 19.23 | 14 | 0.0131 | 14.12 | 12.22 | 12.20 | 13 | 0.0280 | 7.94 | 4.38 | 3.05 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4803 | 2.84 | 1.90 | 1.90 | 5 | 2.4404 | 3.71 | 3.18 | 3.18 | 5 | 2.3234 | 3.77 | 2.99 | 2.99 |
| 12 | 8 | 0.4455 | 3.20 | 3.25 | 2.58 | 8 | 0.4197 | 4.19 | 3.74 | 3.16 | 8 | 0.3827 | 5.96 | 4.45 | 3.78 |
| 16 | 11 | 0.0840 | 4.55 | 4.20 | 2.91 | 11 | 0.0761 | 7.76 | 6.31 | 4.83 | 11 | 0.0629 | 9.33 | 6.19 | 4.79 |
| 20 | 13 | 0.0183 | 4.39 | 4.23 | 2.88 | 13 | 0.0154 | 12.28 | 6.82 | 4.82 | 14 | 0.0121 | 8.66 | 6.66 | 4.81 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.2994 | 6.89 | 6.52 | 11.25 | 6 | 2.2649 | 9.62 | 8.80 | 13.97 | 7 | 2.3451 | 9.93 | 8.82 | 8.86 |
| 12 | 7 | 0.4106 | 9.73 | 9.62 | 11.88 | 7 | 0.3873 | 11.57 | 11.07 | 13.08 | 10 | 0.3354 | 13.77 | 12.80 | 12.79 |
| 16 | 9 | 0.0845 | 11.37 | 16.57 | 15.02 | 10 | 0.0708 | 13.99 | 13.17 | 12.54 | 11 | 0.0510 | 15.29 | 20.89 | 21.11 |
| 20 | 12 | 0.0198 | 14.51 | 13.82 | 12.43 | 12 | 0.0147 | 16.04 | 15.03 | 12.32 | 15 | 0.0087 | 23.40 | 40.43 | 43.24 |
N = 10M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 42.35 | 23.78 | 15.89 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1566 | 9.97 | 11.01 | 15.46 | 4 | 3.3462 | 4.07 | 3.72 | 3.71 | 5 | 3.0448 | 4.62 | 4.41 | 4.45 |
| 12 | 9 | 0.3146 | 16.91 | 17.02 | 16.42 | 5 | 1.0310 | 6.22 | 5.75 | 5.60 | 6 | 0.8244 | 7.07 | 6.68 | 6.63 |
| 16 | 11 | 0.0456 | 66.89 | 77.31 | 25.65 | 6 | 0.4035 | 15.45 | 14.79 | 14.76 | 7 | 0.2885 | 16.25 | 15.88 | 15.92 |
| 20 | 14 | 0.0066 | 96.38 | 109.69 | 29.54 | 7 | 0.1879 | 19.55 | 16.60 | 16.63 | 8 | 0.1185 | 20.38 | 22.50 | 22.57 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4515 | 5.96 | 4.58 | 4.55 | 5 | 2.3208 | 8.11 | 4.93 | 4.92 | 5 | 2.7234 | 3.20 | 2.36 | 2.29 |
| 12 | 8 | 0.4244 | 10.44 | 9.23 | 9.04 | 8 | 0.3758 | 15.56 | 20.01 | 20.00 | 8 | 0.5407 | 5.06 | 5.09 | 4.49 |
| 16 | 11 | 0.0776 | 25.81 | 23.60 | 23.68 | 11 | 0.0641 | 29.92 | 28.22 | 28.24 | 11 | 0.1174 | 14.11 | 15.56 | 11.03 |
| 20 | 13 | 0.0148 | 35.77 | 34.58 | 34.76 | 14 | 0.0120 | 39.59 | 37.71 | 37.71 | 13 | 0.0277 | 16.33 | 17.82 | 12.30 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4625 | 7.67 | 6.09 | 6.09 | 5 | 2.4388 | 4.10 | 3.45 | 3.43 | 5 | 2.3198 | 4.16 | 3.22 | 3.19 |
| 12 | 8 | 0.4428 | 5.23 | 5.19 | 4.35 | 8 | 0.4190 | 6.21 | 5.55 | 5.11 | 8 | 0.3747 | 8.08 | 6.77 | 6.07 |
| 16 | 11 | 0.0866 | 15.69 | 15.80 | 11.12 | 11 | 0.0781 | 22.86 | 18.34 | 15.43 | 11 | 0.0651 | 23.67 | 18.81 | 15.83 |
| 20 | 13 | 0.0180 | 19.24 | 18.86 | 12.84 | 13 | 0.0147 | 29.40 | 26.49 | 18.73 | 14 | 0.0112 | 29.71 | 24.34 | 18.67 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3301 | 7.53 | 7.29 | 12.01 | 6 | 2.2943 | 10.21 | 9.63 | 14.67 | 7 | 2.3317 | 11.38 | 9.93 | 9.92 |
| 12 | 7 | 0.4128 | 11.29 | 12.33 | 13.84 | 7 | 0.3893 | 15.22 | 15.15 | 14.96 | 10 | 0.3489 | 15.71 | 14.03 | 14.03 |
| 16 | 9 | 0.0838 | 25.43 | 26.85 | 20.03 | 10 | 0.0718 | 33.17 | 32.55 | 19.68 | 11 | 0.0492 | 40.43 | 39.89 | 39.96 |
| 20 | 12 | 0.0197 | 35.60 | 34.93 | 23.03 | 12 | 0.0151 | 42.41 | 41.36 | 21.84 | 15 | 0.0076 | 67.85 | 63.58 | 63.72 |
GCC 14, x86
N = 1M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 74.43 | 38.06 | 14.40 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1546 | 27.96 | 44.69 | 38.08 | 4 | 3.3200 | 13.38 | 18.11 | 17.87 | 5 | 3.0523 | 17.26 | 20.11 | 20.87 |
| 12 | 9 | 0.3118 | 41.61 | 67.44 | 40.49 | 5 | 1.0423 | 18.39 | 21.26 | 21.51 | 6 | 0.8142 | 16.20 | 18.94 | 18.99 |
| 16 | 11 | 0.0453 | 50.69 | 83.29 | 40.16 | 6 | 0.3972 | 17.48 | 19.26 | 19.80 | 7 | 0.2784 | 17.33 | 21.08 | 21.09 |
| 20 | 14 | 0.0062 | 64.28 | 105.14 | 39.96 | 7 | 0.1886 | 18.55 | 20.85 | 20.82 | 8 | 0.1259 | 19.14 | 21.99 | 23.00 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4144 | 19.39 | 22.62 | 22.56 | 5 | 2.3168 | 25.59 | 26.31 | 26.57 | 5 | 2.7635 | 12.54 | 15.75 | 15.74 |
| 12 | 8 | 0.4200 | 25.83 | 29.50 | 29.60 | 8 | 0.3742 | 36.31 | 32.48 | 32.46 | 8 | 0.5186 | 14.13 | 17.74 | 17.70 |
| 16 | 11 | 0.0783 | 32.15 | 35.80 | 35.70 | 11 | 0.0667 | 68.75 | 49.07 | 49.22 | 11 | 0.1230 | 16.77 | 20.69 | 20.71 |
| 20 | 13 | 0.0150 | 36.18 | 40.22 | 40.43 | 14 | 0.0106 | 82.49 | 58.28 | 58.06 | 13 | 0.0295 | 24.25 | 24.92 | 25.15 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4627 | 14.39 | 16.06 | 16.02 | 5 | 2.4144 | 19.61 | 22.67 | 22.64 | 5 | 2.3168 | 25.58 | 26.35 | 26.43 |
| 12 | 8 | 0.4575 | 19.29 | 19.73 | 19.50 | 8 | 0.4200 | 26.54 | 29.49 | 29.69 | 8 | 0.3742 | 36.33 | 32.50 | 32.46 |
| 16 | 11 | 0.0876 | 23.06 | 23.95 | 23.93 | 11 | 0.0783 | 32.11 | 35.78 | 35.71 | 11 | 0.0667 | 68.72 | 49.03 | 49.18 |
| 20 | 13 | 0.0171 | 31.80 | 32.95 | 32.79 | 13 | 0.0150 | 36.22 | 40.25 | 40.29 | 14 | 0.0106 | 82.54 | 58.34 | 58.09 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3219 | 17.91 | 24.52 | 27.26 | 6 | 2.2856 | 32.83 | 30.09 | 35.90 | 7 | 2.3420 | 31.83 | 34.52 | 34.37 |
| 12 | 7 | 0.4140 | 31.42 | 38.24 | 29.15 | 7 | 0.3818 | 45.95 | 39.64 | 32.86 | 10 | 0.3419 | 43.03 | 44.43 | 44.35 |
| 16 | 9 | 0.0858 | 37.65 | 45.02 | 28.69 | 10 | 0.0720 | 48.45 | 47.85 | 34.34 | 11 | 0.0511 | 44.75 | 47.17 | 47.17 |
| 20 | 12 | 0.0216 | 42.33 | 50.57 | 29.70 | 12 | 0.0148 | 51.43 | 51.37 | 34.23 | 15 | 0.0066 | 62.72 | 65.06 | 64.93 |
N = 10M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 108.02 | 126.24 | 26.58 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1489 | 30.11 | 47.44 | 43.05 | 4 | 3.3441 | 13.73 | 18.68 | 18.64 | 5 | 3.0511 | 20.13 | 25.57 | 24.62 |
| 12 | 9 | 0.3184 | 90.80 | 130.05 | 61.12 | 5 | 1.0317 | 27.32 | 33.77 | 33.81 | 6 | 0.8206 | 25.73 | 31.56 | 30.80 |
| 16 | 11 | 0.0455 | 171.93 | 247.79 | 77.64 | 6 | 0.4015 | 38.22 | 41.54 | 46.42 | 7 | 0.2865 | 38.65 | 50.21 | 50.21 |
| 20 | 14 | 0.0068 | 269.41 | 405.98 | 104.13 | 7 | 0.1883 | 47.22 | 61.95 | 62.06 | 8 | 0.1200 | 61.09 | 64.71 | 64.61 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4525 | 25.80 | 28.99 | 28.98 | 5 | 2.3280 | 33.08 | 36.50 | 36.76 | 5 | 2.7396 | 16.28 | 20.02 | 20.28 |
| 12 | 8 | 0.4209 | 41.74 | 44.47 | 44.64 | 8 | 0.3751 | 57.02 | 54.74 | 54.78 | 8 | 0.5422 | 25.24 | 28.79 | 28.81 |
| 16 | 11 | 0.0783 | 64.63 | 68.66 | 69.10 | 11 | 0.0645 | 101.69 | 82.11 | 81.72 | 11 | 0.1202 | 41.78 | 44.59 | 44.60 |
| 20 | 13 | 0.0144 | 87.58 | 93.30 | 93.27 | 14 | 0.0117 | 133.99 | 108.93 | 108.83 | 13 | 0.0273 | 69.73 | 76.28 | 76.31 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4723 | 16.66 | 19.46 | 18.31 | 5 | 2.4525 | 22.76 | 26.54 | 26.48 | 5 | 2.3280 | 29.64 | 33.06 | 32.98 |
| 12 | 8 | 0.4399 | 28.55 | 28.76 | 28.66 | 8 | 0.4209 | 39.57 | 43.52 | 43.56 | 8 | 0.3751 | 51.85 | 49.14 | 48.94 |
| 16 | 11 | 0.0859 | 53.24 | 47.41 | 47.42 | 11 | 0.0783 | 67.73 | 72.12 | 72.06 | 11 | 0.0645 | 101.96 | 80.59 | 80.71 |
| 20 | 13 | 0.0182 | 82.14 | 86.56 | 85.15 | 13 | 0.0144 | 86.45 | 93.21 | 93.42 | 14 | 0.0117 | 134.36 | 109.31 | 109.14 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3203 | 20.55 | 28.19 | 30.06 | 6 | 2.2996 | 35.91 | 35.78 | 40.26 | 7 | 2.3251 | 41.08 | 40.39 | 40.88 |
| 12 | 7 | 0.4161 | 44.52 | 52.24 | 37.96 | 7 | 0.3865 | 60.70 | 54.16 | 44.00 | 10 | 0.3470 | 64.64 | 66.11 | 66.36 |
| 16 | 9 | 0.0852 | 65.68 | 73.95 | 47.24 | 10 | 0.0713 | 84.47 | 86.74 | 57.97 | 11 | 0.0480 | 90.83 | 93.52 | 93.41 |
| 20 | 12 | 0.0196 | 83.55 | 91.11 | 56.27 | 12 | 0.0155 | 103.33 | 105.73 | 66.63 | 15 | 0.0075 | 141.98 | 141.51 | 143.52 |
Clang 18, x86
N = 1M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 79.11 | 14.35 | 8.55 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1546 | 15.89 | 22.95 | 28.12 | 4 | 3.3200 | 12.20 | 13.46 | 13.46 | 5 | 3.0523 | 14.83 | 16.34 | 16.20 |
| 12 | 9 | 0.3118 | 22.29 | 33.86 | 28.80 | 5 | 1.0423 | 15.34 | 16.59 | 16.62 | 6 | 0.8142 | 17.15 | 18.80 | 18.75 |
| 16 | 11 | 0.0453 | 27.83 | 46.58 | 29.42 | 6 | 0.3972 | 17.57 | 19.12 | 19.13 | 7 | 0.2784 | 20.68 | 21.58 | 21.58 |
| 20 | 14 | 0.0062 | 35.72 | 54.59 | 29.97 | 7 | 0.1886 | 21.05 | 22.04 | 22.02 | 8 | 0.1259 | 23.28 | 24.37 | 24.21 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4144 | 17.28 | 17.03 | 17.05 | 5 | 2.3168 | 16.08 | 17.21 | 17.19 | 5 | 2.7635 | 7.82 | 8.72 | 8.68 |
| 12 | 8 | 0.4200 | 21.99 | 26.00 | 25.98 | 8 | 0.3742 | 24.27 | 26.09 | 26.07 | 8 | 0.5186 | 11.07 | 12.40 | 12.41 |
| 16 | 11 | 0.0783 | 34.28 | 36.44 | 36.38 | 11 | 0.0667 | 33.43 | 35.51 | 35.59 | 11 | 0.1230 | 13.57 | 15.41 | 15.39 |
| 20 | 13 | 0.0150 | 37.32 | 38.82 | 38.83 | 14 | 0.0106 | 42.25 | 40.66 | 40.74 | 13 | 0.0295 | 17.62 | 20.30 | 20.26 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4627 | 7.25 | 8.64 | 8.49 | 5 | 2.4144 | 17.28 | 17.03 | 17.16 | 5 | 2.3168 | 16.12 | 17.20 | 17.18 |
| 12 | 8 | 0.4575 | 10.95 | 12.16 | 12.17 | 8 | 0.4200 | 21.99 | 25.96 | 25.95 | 8 | 0.3742 | 24.27 | 26.09 | 26.10 |
| 16 | 11 | 0.0876 | 13.03 | 15.29 | 15.30 | 11 | 0.0783 | 34.30 | 36.41 | 36.43 | 11 | 0.0667 | 33.38 | 35.60 | 35.54 |
| 20 | 13 | 0.0171 | 17.54 | 19.07 | 19.08 | 13 | 0.0150 | 37.34 | 38.83 | 38.82 | 14 | 0.0106 | 42.35 | 40.70 | 40.78 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3219 | 17.09 | 18.16 | 22.51 | 6 | 2.2856 | 47.06 | 40.79 | 40.77 | 7 | 2.3420 | 26.11 | 27.38 | 28.36 |
| 12 | 7 | 0.4140 | 26.63 | 27.58 | 23.32 | 7 | 0.3818 | 51.51 | 45.68 | 38.85 | 10 | 0.3419 | 36.64 | 35.47 | 35.08 |
| 16 | 9 | 0.0858 | 32.26 | 34.69 | 23.31 | 10 | 0.0720 | 59.27 | 53.37 | 40.26 | 11 | 0.0511 | 39.16 | 38.01 | 37.76 |
| 20 | 12 | 0.0216 | 38.45 | 45.38 | 28.08 | 12 | 0.0148 | 62.76 | 57.35 | 42.17 | 15 | 0.0066 | 51.27 | 49.67 | 49.63 |
N = 10M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 123.96 | 61.85 | 23.04 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1489 | 23.10 | 32.62 | 32.79 | 4 | 3.3441 | 14.84 | 16.33 | 16.32 | 5 | 3.0511 | 17.51 | 18.67 | 18.87 |
| 12 | 9 | 0.3184 | 56.03 | 74.83 | 41.32 | 5 | 1.0317 | 26.40 | 27.92 | 27.90 | 6 | 0.8206 | 26.97 | 30.89 | 30.81 |
| 16 | 11 | 0.0455 | 113.47 | 163.24 | 58.03 | 6 | 0.4015 | 39.03 | 47.52 | 47.38 | 7 | 0.2865 | 48.60 | 49.88 | 49.85 |
| 20 | 14 | 0.0068 | 165.36 | 239.18 | 71.63 | 7 | 0.1883 | 62.89 | 62.09 | 62.05 | 8 | 0.1200 | 66.54 | 65.52 | 65.36 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4525 | 20.28 | 20.10 | 19.89 | 5 | 2.3280 | 19.84 | 21.24 | 21.32 | 5 | 2.7396 | 10.21 | 11.25 | 11.26 |
| 12 | 8 | 0.4209 | 34.40 | 40.42 | 40.33 | 8 | 0.3751 | 40.96 | 43.10 | 43.06 | 8 | 0.5422 | 19.77 | 20.84 | 20.90 |
| 16 | 11 | 0.0783 | 69.19 | 70.53 | 70.52 | 11 | 0.0645 | 69.35 | 71.03 | 71.08 | 11 | 0.1202 | 37.95 | 39.16 | 40.09 |
| 20 | 13 | 0.0144 | 87.70 | 86.91 | 87.15 | 14 | 0.0117 | 94.08 | 91.09 | 91.22 | 13 | 0.0273 | 51.92 | 52.71 | 52.61 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4723 | 9.57 | 11.07 | 11.12 | 5 | 2.4525 | 20.16 | 20.05 | 20.25 | 5 | 2.3280 | 19.36 | 20.76 | 20.74 |
| 12 | 8 | 0.4399 | 21.08 | 23.06 | 21.66 | 8 | 0.4209 | 35.28 | 40.69 | 40.73 | 8 | 0.3751 | 39.52 | 42.21 | 42.20 |
| 16 | 11 | 0.0859 | 36.75 | 39.24 | 39.34 | 11 | 0.0783 | 68.79 | 68.31 | 68.29 | 11 | 0.0645 | 68.13 | 68.00 | 68.11 |
| 20 | 13 | 0.0182 | 51.79 | 52.82 | 52.76 | 13 | 0.0144 | 87.95 | 87.06 | 87.09 | 14 | 0.0117 | 94.35 | 93.51 | 93.56 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3203 | 20.30 | 21.36 | 24.85 | 6 | 2.2996 | 49.13 | 42.52 | 43.03 | 7 | 2.3251 | 34.48 | 37.30 | 35.32 |
| 12 | 7 | 0.4161 | 40.97 | 38.85 | 29.52 | 7 | 0.3865 | 66.39 | 59.02 | 49.34 | 10 | 0.3470 | 59.25 | 56.79 | 56.77 |
| 16 | 9 | 0.0852 | 62.37 | 63.12 | 38.87 | 10 | 0.0713 | 91.66 | 86.92 | 63.38 | 11 | 0.0480 | 88.36 | 82.09 | 81.96 |
| 20 | 12 | 0.0196 | 80.74 | 86.42 | 54.09 | 12 | 0.0155 | 108.60 | 104.77 | 73.29 | 15 | 0.0075 | 130.58 | 117.37 | 117.36 |
VS 2022, x86
N = 1M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 31.82 | 6.67 | 5.67 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1546 | 50.53 | 45.57 | 32.42 | 4 | 3.3200 | 18.25 | 20.10 | 21.64 | 5 | 3.0523 | 21.96 | 24.24 | 25.94 |
| 12 | 9 | 0.3118 | 77.19 | 66.01 | 34.77 | 5 | 1.0423 | 19.69 | 20.24 | 21.58 | 6 | 0.8142 | 25.12 | 25.35 | 26.93 |
| 16 | 11 | 0.0453 | 94.33 | 79.90 | 33.37 | 6 | 0.3972 | 23.16 | 23.04 | 24.30 | 7 | 0.2784 | 27.36 | 27.12 | 28.52 |
| 20 | 14 | 0.0062 | 122.07 | 101.03 | 33.49 | 7 | 0.1886 | 24.27 | 24.49 | 25.24 | 8 | 0.1259 | 28.87 | 29.58 | 30.02 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4144 | 21.09 | 38.26 | 38.39 | 5 | 2.3168 | 23.53 | 38.08 | 38.57 | 5 | 2.7253 | 16.04 | 27.61 | 27.22 |
| 12 | 8 | 0.4200 | 25.88 | 52.47 | 52.45 | 8 | 0.3742 | 29.99 | 52.81 | 52.62 | 8 | 0.5350 | 15.50 | 37.19 | 27.24 |
| 16 | 11 | 0.0783 | 35.62 | 72.67 | 73.49 | 11 | 0.0667 | 40.59 | 72.23 | 72.99 | 11 | 0.1194 | 25.54 | 53.74 | 36.84 |
| 20 | 13 | 0.0150 | 39.57 | 81.79 | 82.80 | 14 | 0.0106 | 46.01 | 85.83 | 88.61 | 13 | 0.0276 | 25.71 | 54.21 | 37.25 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4823 | 16.52 | 27.47 | 27.45 | 5 | 2.4524 | 18.52 | 29.64 | 29.64 | 5 | 2.3084 | 19.21 | 29.56 | 29.48 |
| 12 | 8 | 0.4562 | 16.55 | 43.81 | 34.28 | 8 | 0.4164 | 17.42 | 38.33 | 28.81 | 8 | 0.3847 | 19.01 | 46.66 | 37.02 |
| 16 | 11 | 0.0862 | 26.17 | 53.80 | 36.43 | 11 | 0.0758 | 29.99 | 57.64 | 39.58 | 11 | 0.0626 | 30.89 | 57.34 | 39.38 |
| 20 | 13 | 0.0188 | 26.00 | 54.09 | 36.90 | 13 | 0.0109 | 31.16 | 59.41 | 39.91 | 14 | 0.0103 | 31.99 | 59.13 | 39.94 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3219 | 24.62 | 41.58 | 30.77 | 6 | 2.2856 | 30.58 | 51.46 | 33.74 | 7 | 2.3420 | 34.61 | 58.01 | 58.09 |
| 12 | 7 | 0.4140 | 33.15 | 57.41 | 30.80 | 7 | 0.3818 | 37.83 | 58.14 | 31.86 | 10 | 0.3419 | 42.81 | 75.34 | 77.96 |
| 16 | 9 | 0.0858 | 38.29 | 70.84 | 30.85 | 10 | 0.0720 | 45.22 | 76.71 | 33.20 | 11 | 0.0511 | 45.81 | 82.77 | 84.09 |
| 20 | 12 | 0.0216 | 50.53 | 96.72 | 31.81 | 12 | 0.0148 | 54.56 | 95.82 | 32.92 | 15 | 0.0066 | 61.61 | 113.36 | 112.80 |
N = 10M elements
boost::unordered_flat_set | ||
|---|---|---|
| insertion | successful lookup |
unsuccessful lookup |
| 61.43 | 33.34 | 17.12 |
filter<int,K> |
filter<int,1,block<uint64_t,K>> |
filter<int,1,block<uint64_t,K>,1> |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 6 | 2.1489 | 57.13 | 48.47 | 35.60 | 4 | 3.3441 | 18.51 | 20.33 | 22.14 | 5 | 3.0511 | 24.51 | 28.73 | 30.82 |
| 12 | 9 | 0.3184 | 104.49 | 113.07 | 48.22 | 5 | 1.0317 | 22.29 | 24.70 | 26.84 | 6 | 0.8206 | 30.33 | 28.78 | 30.13 |
| 16 | 11 | 0.0455 | 222.31 | 191.22 | 59.13 | 6 | 0.4015 | 35.68 | 35.47 | 37.06 | 7 | 0.2865 | 47.20 | 47.49 | 49.16 |
| 20 | 14 | 0.0068 | 351.17 | 295.42 | 73.14 | 7 | 0.1883 | 42.70 | 42.91 | 44.14 | 8 | 0.1200 | 59.22 | 58.78 | 60.52 |
filter<int,1,multiblock<uint64_t,K>> |
filter<int,1,multiblock<uint64_t,K>,1> |
filter<int,1,fast_multiblock32<K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4525 | 24.44 | 38.56 | 39.17 | 5 | 2.3280 | 26.46 | 38.39 | 38.80 | 5 | 2.7254 | 16.37 | 29.54 | 29.48 |
| 12 | 8 | 0.4209 | 32.43 | 54.42 | 54.58 | 8 | 0.3751 | 37.45 | 57.36 | 56.32 | 8 | 0.5375 | 18.92 | 41.18 | 30.09 |
| 16 | 11 | 0.0783 | 56.57 | 87.38 | 88.21 | 11 | 0.0645 | 63.68 | 88.78 | 89.15 | 11 | 0.1187 | 46.71 | 79.32 | 61.89 |
| 20 | 13 | 0.0144 | 73.78 | 105.21 | 106.08 | 14 | 0.0117 | 84.06 | 115.97 | 117.74 | 13 | 0.0277 | 58.29 | 92.41 | 74.72 |
filter<int,1,fast_multiblock32<K>,1> |
filter<int,1,fast_multiblock64<K>> |
filter<int,1,fast_multiblock64<K>,1> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.4632 | 16.79 | 29.09 | 29.07 | 5 | 2.4414 | 18.79 | 31.49 | 31.45 | 5 | 2.3147 | 19.66 | 36.65 | 36.72 |
| 12 | 8 | 0.4402 | 19.63 | 49.42 | 39.99 | 8 | 0.4194 | 19.59 | 41.59 | 32.58 | 8 | 0.3773 | 24.13 | 53.04 | 43.64 |
| 16 | 11 | 0.0851 | 48.31 | 78.57 | 62.42 | 11 | 0.0779 | 52.19 | 82.02 | 64.01 | 11 | 0.0652 | 53.24 | 82.71 | 64.72 |
| 20 | 13 | 0.0183 | 59.46 | 91.39 | 75.79 | 13 | 0.0146 | 61.15 | 96.86 | 77.98 | 14 | 0.0112 | 63.33 | 98.03 | 78.38 |
filter<int,1,block<uint64_t[8],K>> |
filter<int,1,block<uint64_t[8],K>,1> |
filter<int,1,multiblock<uint64_t[8],K>> |
|||||||||||||
| c | K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
| 8 | 5 | 2.3203 | 32.74 | 48.09 | 39.23 | 6 | 2.2996 | 34.20 | 52.12 | 36.30 | 7 | 2.3251 | 36.79 | 58.39 | 58.56 |
| 12 | 7 | 0.4161 | 39.13 | 59.87 | 34.49 | 7 | 0.3865 | 46.37 | 67.59 | 43.43 | 10 | 0.3470 | 50.06 | 83.98 | 86.46 |
| 16 | 9 | 0.0852 | 57.01 | 84.05 | 46.11 | 10 | 0.0713 | 72.61 | 100.23 | 60.63 | 11 | 0.0480 | 75.89 | 103.59 | 104.42 |
| 20 | 12 | 0.0196 | 80.45 | 118.76 | 54.36 | 12 | 0.0155 | 93.86 | 129.54 | 70.91 | 15 | 0.0075 | 107.14 | 141.02 | 140.99 |