Experimental results for 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 (-march=native
),
which causes fast_multiblock32
and fast_multiblock64
to use their AVX2 variant.
- Successful lookup: the element is in the filter.
- Unsuccessful lookup: the element is not in the filter, though lookup may return true.
- Mixed lookup: 10% successful, 90% unsuccessful.
For reference, we provide also insertion and lookup times
for a boost::unordered_flat_set<int>
with the same number of elements N
.
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
38.88 | 5.63 | 4.24 | 7.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1303 | 11.04 | 12.08 | 18.15 | 19.38 | 4 | 3.3706 | 3.99 | 4.60 | 4.60 | 4.60 | 5 | 3.0229 | 5.07 | 5.11 | 5.11 | 5.12 |
12 | 9 | 0.3077 | 16.59 | 17.97 | 19.24 | 21.62 | 5 | 1.0495 | 4.38 | 5.15 | 5.15 | 5.15 | 6 | 0.8320 | 5.01 | 5.55 | 5.55 | 5.56 |
16 | 11 | 0.0447 | 20.28 | 21.45 | 18.12 | 22.04 | 6 | 0.4212 | 5.02 | 5.62 | 5.63 | 5.62 | 7 | 0.2916 | 5.55 | 6.02 | 6.02 | 6.02 |
20 | 14 | 0.0063 | 24.20 | 27.47 | 18.49 | 23.00 | 7 | 0.1954 | 5.39 | 5.97 | 5.98 | 5.97 | 8 | 0.1209 | 5.81 | 6.29 | 6.30 | 6.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4608 | 5.05 | 5.66 | 5.66 | 5.66 | 5 | 2.2909 | 5.88 | 6.97 | 6.96 | 6.98 | 5 | 2.7470 | 3.22 | 2.95 | 2.95 | 2.95 |
12 | 8 | 0.4110 | 5.86 | 9.25 | 9.25 | 9.25 | 8 | 0.3808 | 7.05 | 9.67 | 9.66 | 9.67 | 8 | 0.5416 | 2.72 | 2.75 | 2.75 | 2.75 |
16 | 11 | 0.0737 | 9.18 | 11.79 | 11.79 | 11.79 | 11 | 0.0614 | 19.10 | 13.65 | 13.65 | 13.66 | 11 | 0.1157 | 5.78 | 5.84 | 5.86 | 5.86 |
20 | 13 | 0.0152 | 10.40 | 12.73 | 12.72 | 12.73 | 14 | 0.0112 | 11.72 | 15.19 | 15.92 | 15.10 | 13 | 0.0268 | 5.83 | 5.88 | 5.87 | 5.88 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4821 | 3.17 | 2.77 | 2.77 | 2.78 | 5 | 2.4383 | 4.63 | 4.57 | 4.58 | 4.58 | 5 | 2.2971 | 4.83 | 4.41 | 4.41 | 4.41 |
12 | 8 | 0.4308 | 3.33 | 2.84 | 2.85 | 2.84 | 8 | 0.4183 | 3.48 | 4.18 | 4.19 | 4.19 | 8 | 0.3720 | 4.83 | 4.52 | 4.52 | 4.53 |
16 | 11 | 0.0894 | 5.57 | 5.66 | 5.64 | 5.63 | 11 | 0.0788 | 7.61 | 7.79 | 7.86 | 7.85 | 11 | 0.0680 | 7.79 | 7.68 | 7.67 | 7.66 |
20 | 13 | 0.0150 | 5.59 | 5.68 | 5.67 | 5.67 | 13 | 0.0136 | 8.46 | 8.66 | 8.72 | 8.71 | 14 | 0.0150 | 8.62 | 8.42 | 8.42 | 8.41 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3151 | 6.43 | 6.93 | 6.93 | 6.93 | 6 | 2.3015 | 11.76 | 8.38 | 8.39 | 8.39 | 7 | 2.3446 | 10.70 | 11.22 | 11.25 | 11.27 |
12 | 7 | 0.4171 | 8.77 | 9.90 | 9.90 | 9.90 | 7 | 0.3864 | 12.54 | 10.90 | 10.90 | 10.91 | 10 | 0.3486 | 14.13 | 14.42 | 14.42 | 14.42 |
16 | 9 | 0.0818 | 10.66 | 11.05 | 11.05 | 11.06 | 10 | 0.0709 | 14.94 | 13.13 | 13.13 | 13.15 | 11 | 0.0515 | 15.17 | 15.73 | 16.32 | 16.37 |
20 | 12 | 0.0222 | 12.87 | 14.19 | 14.18 | 14.18 | 12 | 0.0150 | 16.59 | 15.98 | 15.98 | 15.98 | 15 | 0.0062 | 20.82 | 21.19 | 21.12 | 21.21 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
58.14 | 23.11 | 14.68 | 21.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1519 | 18.30 | 20.27 | 21.68 | 23.25 | 4 | 3.3467 | 5.82 | 6.45 | 6.41 | 6.41 | 5 | 3.0383 | 5.86 | 6.36 | 6.38 | 6.38 |
12 | 9 | 0.3180 | 45.14 | 49.34 | 26.89 | 31.30 | 5 | 1.0300 | 11.17 | 12.22 | 12.25 | 12.23 | 6 | 0.8268 | 11.35 | 12.39 | 12.39 | 12.43 |
16 | 11 | 0.0469 | 85.98 | 95.66 | 34.22 | 43.52 | 6 | 0.4034 | 16.90 | 18.69 | 18.70 | 18.70 | 7 | 0.2883 | 19.05 | 19.26 | 19.25 | 19.26 |
20 | 14 | 0.0065 | 124.18 | 137.05 | 40.11 | 54.69 | 7 | 0.1887 | 22.35 | 22.32 | 22.32 | 22.33 | 8 | 0.1194 | 22.92 | 25.51 | 25.51 | 25.54 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4510 | 6.61 | 7.33 | 7.35 | 7.36 | 5 | 2.3157 | 6.80 | 8.59 | 8.59 | 8.61 | 5 | 2.7361 | 4.41 | 4.20 | 4.20 | 4.22 |
12 | 8 | 0.4207 | 12.24 | 15.58 | 15.64 | 15.55 | 8 | 0.3724 | 16.06 | 20.17 | 20.20 | 20.17 | 8 | 0.5415 | 7.63 | 7.92 | 7.93 | 7.91 |
16 | 11 | 0.0764 | 30.02 | 31.59 | 31.59 | 31.59 | 11 | 0.0642 | 35.72 | 35.30 | 35.36 | 35.33 | 11 | 0.1179 | 19.18 | 21.15 | 21.17 | 21.18 |
20 | 13 | 0.0150 | 37.47 | 39.55 | 39.57 | 39.58 | 14 | 0.0122 | 41.01 | 52.09 | 53.04 | 52.19 | 13 | 0.0275 | 22.00 | 24.27 | 24.34 | 24.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4788 | 4.34 | 4.03 | 4.02 | 4.06 | 5 | 2.4546 | 5.68 | 5.70 | 5.74 | 5.72 | 5 | 2.3234 | 5.97 | 5.82 | 5.78 | 5.74 |
12 | 8 | 0.4394 | 8.97 | 8.82 | 8.81 | 8.83 | 8 | 0.4210 | 9.01 | 10.03 | 10.05 | 10.07 | 8 | 0.3754 | 11.73 | 12.79 | 12.82 | 12.84 |
16 | 11 | 0.0865 | 18.98 | 21.23 | 21.23 | 21.24 | 11 | 0.0781 | 25.36 | 26.42 | 26.46 | 26.45 | 11 | 0.0642 | 24.40 | 27.15 | 27.16 | 27.13 |
20 | 13 | 0.0178 | 21.97 | 24.79 | 24.80 | 24.80 | 13 | 0.0160 | 31.02 | 31.99 | 32.01 | 32.02 | 14 | 0.0110 | 30.51 | 32.09 | 32.10 | 32.10 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3292 | 7.93 | 8.54 | 8.54 | 8.53 | 6 | 2.2986 | 12.61 | 10.16 | 10.21 | 10.16 | 7 | 2.3389 | 15.35 | 15.55 | 15.59 | 15.63 |
12 | 7 | 0.4140 | 17.73 | 18.87 | 18.90 | 18.86 | 7 | 0.3845 | 20.49 | 20.08 | 20.10 | 20.15 | 10 | 0.3468 | 30.42 | 32.72 | 32.72 | 32.67 |
16 | 9 | 0.0852 | 28.00 | 28.12 | 28.11 | 28.14 | 10 | 0.0714 | 35.60 | 40.74 | 40.80 | 40.79 | 11 | 0.0493 | 43.93 | 49.91 | 49.90 | 49.96 |
20 | 12 | 0.0196 | 42.53 | 43.86 | 43.93 | 43.85 | 12 | 0.0152 | 52.28 | 53.17 | 53.17 | 53.18 | 15 | 0.0076 | 69.22 | 74.76 | 74.66 | 74.76 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
26.27 | 6.03 | 4.27 | 7.19 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1303 | 10.41 | 10.95 | 17.46 | 18.65 | 4 | 3.3706 | 4.05 | 4.08 | 4.08 | 4.08 | 5 | 3.0229 | 4.07 | 4.61 | 4.61 | 4.60 |
12 | 9 | 0.3077 | 15.67 | 16.08 | 18.57 | 21.43 | 5 | 1.0495 | 4.60 | 4.69 | 4.68 | 4.69 | 6 | 0.8320 | 4.57 | 5.27 | 5.27 | 5.27 |
16 | 11 | 0.0447 | 18.87 | 19.78 | 17.56 | 21.07 | 6 | 0.4212 | 4.99 | 5.29 | 5.29 | 5.29 | 7 | 0.2916 | 4.92 | 5.73 | 5.73 | 5.73 |
20 | 14 | 0.0063 | 23.68 | 24.08 | 18.27 | 22.72 | 7 | 0.1954 | 5.41 | 5.74 | 5.73 | 5.73 | 8 | 0.1209 | 3.32 | 3.46 | 3.46 | 3.44 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4608 | 3.24 | 3.86 | 3.87 | 3.86 | 5 | 2.2909 | 3.35 | 3.70 | 3.69 | 3.71 | 5 | 2.7470 | 2.88 | 2.68 | 2.68 | 2.68 |
12 | 8 | 0.4110 | 3.37 | 4.82 | 4.82 | 4.82 | 8 | 0.3808 | 4.05 | 4.93 | 4.93 | 4.93 | 8 | 0.5416 | 2.76 | 2.50 | 2.50 | 2.50 |
16 | 11 | 0.0737 | 5.84 | 7.77 | 7.75 | 7.75 | 11 | 0.0614 | 5.96 | 7.43 | 7.42 | 7.42 | 11 | 0.1157 | 4.39 | 4.46 | 4.47 | 4.47 |
20 | 13 | 0.0152 | 6.16 | 8.17 | 8.17 | 8.17 | 14 | 0.0112 | 6.95 | 8.34 | 8.33 | 8.34 | 13 | 0.0268 | 4.44 | 4.48 | 4.48 | 4.48 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4821 | 2.86 | 2.48 | 2.49 | 2.48 | 5 | 2.4383 | 3.90 | 4.17 | 4.18 | 4.17 | 5 | 2.2971 | 4.09 | 4.02 | 4.00 | 4.00 |
12 | 8 | 0.4308 | 2.96 | 2.54 | 2.54 | 2.54 | 8 | 0.4183 | 3.50 | 3.88 | 3.89 | 3.89 | 8 | 0.3720 | 4.24 | 4.10 | 4.10 | 4.11 |
16 | 11 | 0.0894 | 4.44 | 4.20 | 4.19 | 4.19 | 11 | 0.0788 | 5.80 | 6.41 | 6.42 | 6.42 | 11 | 0.0680 | 6.03 | 6.26 | 6.26 | 6.22 |
20 | 13 | 0.0150 | 4.50 | 4.22 | 4.21 | 4.22 | 13 | 0.0136 | 6.92 | 7.37 | 7.39 | 7.36 | 14 | 0.0150 | 7.23 | 7.16 | 7.13 | 7.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3151 | 6.32 | 6.65 | 6.65 | 6.65 | 6 | 2.3015 | 11.73 | 8.04 | 8.04 | 8.03 | 7 | 2.3446 | 10.34 | 10.39 | 10.41 | 10.42 |
12 | 7 | 0.4171 | 9.67 | 9.03 | 9.03 | 9.04 | 7 | 0.3864 | 13.58 | 10.28 | 10.28 | 10.27 | 10 | 0.3486 | 14.97 | 14.54 | 14.60 | 14.56 |
16 | 9 | 0.0818 | 11.96 | 10.85 | 10.86 | 10.86 | 10 | 0.0709 | 16.34 | 12.44 | 12.43 | 12.43 | 11 | 0.0515 | 15.77 | 15.81 | 15.86 | 15.94 |
20 | 12 | 0.0222 | 14.29 | 13.72 | 13.72 | 13.72 | 12 | 0.0150 | 17.18 | 15.41 | 15.39 | 15.39 | 15 | 0.0062 | 21.76 | 20.99 | 21.28 | 20.93 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
52.10 | 23.41 | 14.52 | 21.27 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1519 | 13.29 | 13.82 | 20.07 | 21.49 | 4 | 3.3467 | 6.15 | 6.16 | 6.20 | 6.19 | 5 | 3.0383 | 6.19 | 6.80 | 6.77 | 6.74 |
12 | 9 | 0.3180 | 48.51 | 50.41 | 26.44 | 31.03 | 5 | 1.0300 | 11.35 | 11.31 | 11.34 | 11.35 | 6 | 0.8268 | 11.24 | 12.28 | 12.29 | 12.30 |
16 | 11 | 0.0469 | 86.85 | 87.25 | 31.72 | 39.99 | 6 | 0.4034 | 18.05 | 18.19 | 18.19 | 18.20 | 7 | 0.2883 | 17.57 | 19.58 | 19.61 | 19.65 |
20 | 14 | 0.0065 | 122.88 | 121.66 | 37.42 | 50.57 | 7 | 0.1887 | 22.36 | 22.19 | 22.22 | 22.21 | 8 | 0.1194 | 13.98 | 15.26 | 15.26 | 15.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4510 | 4.76 | 5.63 | 5.62 | 5.64 | 5 | 2.3157 | 4.46 | 5.09 | 5.12 | 5.11 | 5 | 2.7361 | 4.14 | 3.98 | 3.97 | 3.94 |
12 | 8 | 0.4207 | 8.67 | 10.45 | 10.46 | 10.43 | 8 | 0.3724 | 9.60 | 12.26 | 12.27 | 12.25 | 8 | 0.5415 | 7.90 | 7.61 | 7.60 | 7.58 |
16 | 11 | 0.0764 | 18.26 | 22.27 | 22.26 | 22.26 | 11 | 0.0642 | 18.29 | 23.15 | 23.15 | 23.16 | 11 | 0.1179 | 15.31 | 16.71 | 16.70 | 16.70 |
20 | 13 | 0.0150 | 23.52 | 30.03 | 30.04 | 30.03 | 14 | 0.0122 | 24.17 | 30.82 | 30.78 | 30.81 | 13 | 0.0275 | 16.94 | 18.57 | 18.57 | 18.57 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4788 | 3.97 | 3.75 | 3.74 | 3.75 | 5 | 2.4546 | 5.20 | 5.68 | 5.69 | 5.67 | 5 | 2.3234 | 4.88 | 4.82 | 4.78 | 4.81 |
12 | 8 | 0.4394 | 7.30 | 7.34 | 7.33 | 7.34 | 8 | 0.4210 | 9.47 | 10.13 | 10.13 | 10.11 | 8 | 0.3754 | 10.94 | 12.44 | 12.41 | 12.42 |
16 | 11 | 0.0865 | 14.37 | 16.36 | 16.38 | 16.37 | 11 | 0.0781 | 19.11 | 21.69 | 21.73 | 21.71 | 11 | 0.0642 | 18.32 | 21.99 | 21.97 | 21.96 |
20 | 13 | 0.0178 | 16.27 | 18.57 | 18.55 | 18.57 | 13 | 0.0160 | 24.43 | 30.35 | 30.42 | 30.37 | 14 | 0.0110 | 24.98 | 29.68 | 29.72 | 29.70 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3292 | 8.27 | 8.72 | 8.66 | 8.70 | 6 | 2.2986 | 13.06 | 10.53 | 10.54 | 10.57 | 7 | 2.3389 | 12.77 | 12.66 | 12.71 | 12.74 |
12 | 7 | 0.4140 | 19.00 | 18.17 | 18.14 | 18.18 | 7 | 0.3845 | 23.86 | 22.26 | 22.20 | 22.20 | 10 | 0.3468 | 30.11 | 31.51 | 31.59 | 31.56 |
16 | 9 | 0.0852 | 29.62 | 31.75 | 31.73 | 31.88 | 10 | 0.0714 | 37.63 | 40.62 | 40.59 | 40.52 | 11 | 0.0493 | 44.55 | 48.83 | 48.99 | 49.04 |
20 | 12 | 0.0196 | 44.38 | 43.58 | 43.61 | 43.56 | 12 | 0.0152 | 53.75 | 52.41 | 52.08 | 52.38 | 15 | 0.0076 | 72.92 | 71.38 | 70.59 | 70.88 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
18.75 | 2.71 | 1.97 | 4.22 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1303 | 6.35 | 4.13 | 11.37 | 11.75 | 4 | 3.3706 | 1.30 | 1.22 | 1.23 | 1.23 | 5 | 3.0229 | 1.62 | 1.28 | 1.29 | 1.27 |
12 | 9 | 0.3077 | 9.45 | 6.09 | 11.96 | 12.81 | 5 | 1.0495 | 1.41 | 1.42 | 1.42 | 1.42 | 6 | 0.8320 | 1.69 | 1.41 | 1.42 | 1.42 |
16 | 11 | 0.0447 | 11.61 | 7.34 | 11.22 | 12.77 | 6 | 0.4212 | 1.61 | 1.64 | 1.64 | 1.64 | 7 | 0.2916 | 1.75 | 1.59 | 1.59 | 1.59 |
20 | 14 | 0.0063 | 15.03 | 9.35 | 11.41 | 13.43 | 7 | 0.1954 | 1.79 | 1.80 | 1.80 | 1.80 | 8 | 0.1209 | 1.79 | 1.57 | 1.57 | 1.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4608 | 2.24 | 1.70 | 1.68 | 1.72 | 5 | 2.2909 | 2.25 | 1.73 | 1.73 | 1.74 | 5 | 2.7470 | 1.99 | 1.68 | 1.69 | 1.69 |
12 | 8 | 0.4110 | 2.17 | 1.84 | 1.84 | 1.87 | 8 | 0.3808 | 2.72 | 2.18 | 2.22 | 2.17 | 8 | 0.5416 | 1.52 | 1.40 | 1.39 | 1.38 |
16 | 11 | 0.0737 | 4.03 | 2.89 | 2.89 | 2.89 | 11 | 0.0614 | 4.03 | 3.00 | 2.99 | 3.00 | 11 | 0.1157 | 2.89 | 2.35 | 2.35 | 2.34 |
20 | 13 | 0.0152 | 4.61 | 3.34 | 3.33 | 3.33 | 14 | 0.0112 | 4.64 | 3.59 | 3.58 | 3.59 | 13 | 0.0268 | 2.93 | 2.92 | 2.91 | 2.92 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4821 | 2.02 | 1.71 | 1.69 | 1.69 | 5 | 2.4608 | 2.24 | 1.74 | 1.70 | 1.70 | 5 | 2.2909 | 2.30 | 1.75 | 1.77 | 1.76 |
12 | 8 | 0.4308 | 2.04 | 1.59 | 1.60 | 1.59 | 8 | 0.4110 | 2.19 | 1.86 | 1.86 | 1.86 | 8 | 0.3808 | 2.73 | 2.16 | 2.17 | 2.16 |
16 | 11 | 0.0894 | 2.97 | 2.35 | 2.35 | 2.35 | 11 | 0.0737 | 4.11 | 2.91 | 2.94 | 2.92 | 11 | 0.0614 | 4.07 | 3.07 | 3.03 | 3.03 |
20 | 13 | 0.0150 | 2.92 | 2.83 | 2.83 | 2.82 | 13 | 0.0152 | 4.51 | 3.34 | 3.37 | 3.38 | 14 | 0.0112 | 4.66 | 3.58 | 3.58 | 3.60 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3151 | 3.21 | 2.85 | 2.88 | 2.87 | 6 | 2.3015 | 6.99 | 3.85 | 3.92 | 3.85 | 7 | 2.3446 | 7.72 | 4.85 | 4.85 | 4.85 |
12 | 7 | 0.4171 | 4.36 | 3.82 | 3.85 | 3.84 | 7 | 0.3864 | 7.40 | 4.26 | 4.28 | 4.27 | 10 | 0.3486 | 10.89 | 6.83 | 6.82 | 6.82 |
16 | 9 | 0.0818 | 5.53 | 4.58 | 4.57 | 4.56 | 10 | 0.0709 | 8.47 | 5.24 | 5.24 | 5.26 | 11 | 0.0515 | 12.05 | 7.59 | 7.58 | 7.56 |
20 | 12 | 0.0222 | 6.99 | 5.78 | 5.79 | 5.78 | 12 | 0.0150 | 9.40 | 6.06 | 6.05 | 6.05 | 15 | 0.0062 | 17.12 | 10.62 | 10.61 | 10.62 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
23.50 | 11.15 | 6.35 | 9.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1519 | 7.81 | 6.16 | 12.92 | 13.40 | 4 | 3.3467 | 2.05 | 1.98 | 1.99 | 2.00 | 5 | 3.0383 | 2.11 | 2.02 | 2.02 | 2.02 |
12 | 9 | 0.3180 | 12.93 | 11.19 | 16.12 | 17.85 | 5 | 1.0300 | 3.72 | 3.51 | 3.62 | 3.82 | 6 | 0.8268 | 3.28 | 3.11 | 3.16 | 3.14 |
16 | 11 | 0.0469 | 31.49 | 25.11 | 18.31 | 22.21 | 6 | 0.4034 | 6.99 | 6.55 | 6.69 | 6.49 | 7 | 0.2883 | 6.49 | 6.30 | 5.92 | 6.38 |
20 | 14 | 0.0065 | 53.51 | 39.20 | 20.66 | 27.58 | 7 | 0.1887 | 8.94 | 8.08 | 7.92 | 7.92 | 8 | 0.1194 | 8.16 | 6.45 | 6.32 | 6.39 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4510 | 2.70 | 2.52 | 2.53 | 2.53 | 5 | 2.3157 | 2.73 | 2.63 | 2.61 | 2.62 | 5 | 2.7361 | 2.41 | 2.50 | 2.50 | 2.53 |
12 | 8 | 0.4207 | 4.10 | 4.15 | 4.20 | 4.10 | 8 | 0.3724 | 4.22 | 4.57 | 4.46 | 4.48 | 8 | 0.5415 | 2.66 | 3.28 | 3.24 | 3.26 |
16 | 11 | 0.0764 | 10.04 | 9.14 | 9.35 | 9.95 | 11 | 0.0642 | 10.80 | 9.67 | 9.80 | 10.01 | 11 | 0.1179 | 8.20 | 8.50 | 8.14 | 7.77 |
20 | 13 | 0.0150 | 14.51 | 12.72 | 13.20 | 13.02 | 14 | 0.0122 | 16.24 | 13.64 | 13.59 | 13.70 | 13 | 0.0275 | 10.43 | 11.55 | 11.15 | 11.11 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4788 | 2.41 | 2.53 | 2.54 | 2.54 | 5 | 2.4510 | 2.71 | 2.52 | 2.53 | 2.55 | 5 | 2.3157 | 2.72 | 2.60 | 2.60 | 2.57 |
12 | 8 | 0.4394 | 2.98 | 3.31 | 3.25 | 3.22 | 8 | 0.4207 | 3.94 | 4.25 | 4.24 | 4.25 | 8 | 0.3724 | 4.19 | 5.06 | 4.46 | 4.59 |
16 | 11 | 0.0865 | 8.08 | 8.55 | 8.13 | 7.55 | 11 | 0.0764 | 9.59 | 8.87 | 9.37 | 9.49 | 11 | 0.0642 | 11.00 | 9.81 | 10.02 | 9.84 |
20 | 13 | 0.0178 | 10.27 | 11.21 | 11.53 | 11.18 | 13 | 0.0150 | 15.90 | 12.88 | 12.91 | 12.90 | 14 | 0.0122 | 15.78 | 13.12 | 13.32 | 13.79 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3292 | 4.59 | 4.18 | 4.18 | 4.25 | 6 | 2.2986 | 8.75 | 5.12 | 5.14 | 5.10 | 7 | 2.3389 | 8.96 | 6.76 | 6.76 | 6.78 |
12 | 7 | 0.4140 | 9.54 | 8.55 | 8.87 | 8.29 | 7 | 0.3845 | 13.22 | 8.47 | 8.48 | 7.94 | 10 | 0.3468 | 15.11 | 12.65 | 12.29 | 12.20 |
16 | 9 | 0.0852 | 16.40 | 14.83 | 14.78 | 14.96 | 10 | 0.0714 | 23.92 | 16.91 | 17.58 | 17.08 | 11 | 0.0493 | 26.57 | 23.06 | 23.20 | 23.31 |
20 | 12 | 0.0196 | 23.85 | 19.24 | 18.56 | 17.80 | 12 | 0.0152 | 27.15 | 20.59 | 20.57 | 20.59 | 15 | 0.0076 | 45.61 | 35.47 | 35.47 | 35.47 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
24.13 | 5.19 | 3.53 | 5.49 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1303 | 10.31 | 11.32 | 14.07 | 15.20 | 4 | 3.3706 | 3.82 | 3.57 | 3.57 | 3.56 | 5 | 3.0229 | 4.34 | 4.16 | 4.14 | 4.14 |
12 | 9 | 0.3077 | 15.12 | 15.92 | 14.72 | 16.25 | 5 | 1.0495 | 4.40 | 3.99 | 3.99 | 3.94 | 6 | 0.8320 | 5.01 | 4.80 | 4.77 | 4.78 |
16 | 11 | 0.0447 | 18.22 | 20.28 | 13.99 | 16.95 | 6 | 0.4212 | 5.04 | 4.37 | 4.37 | 4.35 | 7 | 0.2916 | 5.68 | 5.18 | 5.15 | 5.07 |
20 | 14 | 0.0063 | 22.81 | 25.11 | 14.30 | 17.72 | 7 | 0.1954 | 5.71 | 4.71 | 4.70 | 4.68 | 8 | 0.1209 | 6.30 | 5.63 | 5.56 | 5.56 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4608 | 5.37 | 4.29 | 4.28 | 4.29 | 5 | 2.2909 | 8.39 | 4.62 | 4.60 | 4.62 | 5 | 2.7470 | 2.84 | 2.18 | 2.17 | 2.18 |
12 | 8 | 0.4110 | 8.22 | 7.00 | 6.81 | 6.82 | 8 | 0.3808 | 12.71 | 7.06 | 7.04 | 7.02 | 8 | 0.5416 | 2.82 | 2.16 | 2.15 | 2.14 |
16 | 11 | 0.0737 | 10.51 | 9.21 | 9.02 | 9.03 | 11 | 0.0614 | 12.34 | 10.50 | 10.24 | 10.25 | 11 | 0.1157 | 4.28 | 3.50 | 3.49 | 3.47 |
20 | 13 | 0.0152 | 11.61 | 10.19 | 10.20 | 10.22 | 14 | 0.0112 | 13.86 | 12.35 | 12.18 | 12.15 | 13 | 0.0268 | 4.31 | 3.49 | 3.47 | 3.46 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4821 | 2.80 | 2.04 | 2.04 | 2.03 | 5 | 2.4383 | 3.73 | 3.26 | 3.26 | 3.26 | 5 | 2.2971 | 3.79 | 3.14 | 3.13 | 3.13 |
12 | 8 | 0.4308 | 3.24 | 2.08 | 2.05 | 2.03 | 8 | 0.4183 | 4.15 | 4.41 | 4.32 | 4.32 | 8 | 0.3720 | 5.65 | 5.19 | 5.15 | 5.13 |
16 | 11 | 0.0894 | 4.35 | 3.31 | 3.23 | 3.24 | 11 | 0.0788 | 7.89 | 6.63 | 6.60 | 6.59 | 11 | 0.0680 | 7.68 | 6.43 | 6.39 | 6.36 |
20 | 13 | 0.0150 | 4.44 | 3.33 | 3.32 | 3.31 | 13 | 0.0136 | 7.85 | 7.64 | 7.61 | 7.53 | 14 | 0.0150 | 8.07 | 7.17 | 7.17 | 7.17 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3151 | 7.02 | 6.00 | 6.01 | 6.02 | 6 | 2.3015 | 9.94 | 7.41 | 7.39 | 7.44 | 7 | 2.3446 | 10.07 | 8.90 | 8.96 | 8.95 |
12 | 7 | 0.4171 | 9.39 | 8.09 | 8.07 | 7.92 | 7 | 0.3864 | 11.68 | 9.12 | 9.03 | 8.96 | 10 | 0.3486 | 13.73 | 12.97 | 12.98 | 12.89 |
16 | 9 | 0.0818 | 11.37 | 10.67 | 10.65 | 10.61 | 10 | 0.0709 | 14.14 | 12.68 | 12.63 | 12.45 | 11 | 0.0515 | 15.42 | 15.32 | 15.31 | 15.22 |
20 | 12 | 0.0222 | 14.69 | 12.64 | 12.64 | 12.60 | 12 | 0.0150 | 16.31 | 14.19 | 14.18 | 14.08 | 15 | 0.0062 | 23.51 | 22.81 | 22.64 | 22.52 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
39.87 | 23.30 | 12.15 | 18.53 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1519 | 11.00 | 11.78 | 15.52 | 16.53 | 4 | 3.3467 | 4.23 | 3.76 | 3.76 | 3.77 | 5 | 3.0383 | 4.73 | 4.52 | 4.50 | 4.51 |
12 | 9 | 0.3180 | 17.36 | 17.68 | 16.70 | 18.36 | 5 | 1.0300 | 6.03 | 5.65 | 5.65 | 5.58 | 6 | 0.8268 | 6.85 | 6.47 | 6.51 | 6.46 |
16 | 11 | 0.0469 | 68.61 | 79.88 | 26.06 | 33.66 | 6 | 0.4034 | 15.51 | 13.61 | 13.60 | 13.63 | 7 | 0.2883 | 16.50 | 16.03 | 15.96 | 15.93 |
20 | 14 | 0.0065 | 102.93 | 118.19 | 31.16 | 42.67 | 7 | 0.1887 | 19.72 | 18.36 | 18.31 | 18.31 | 8 | 0.1194 | 20.85 | 22.63 | 22.59 | 22.75 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4510 | 6.10 | 4.58 | 4.58 | 4.58 | 5 | 2.3157 | 7.68 | 4.96 | 4.97 | 4.97 | 5 | 2.7361 | 3.17 | 2.30 | 2.30 | 2.30 |
12 | 8 | 0.4207 | 10.25 | 8.93 | 8.71 | 8.71 | 8 | 0.3724 | 15.69 | 9.06 | 9.09 | 8.95 | 8 | 0.5415 | 4.83 | 4.22 | 4.18 | 4.16 |
16 | 11 | 0.0764 | 26.33 | 23.63 | 23.60 | 23.47 | 11 | 0.0642 | 29.97 | 28.49 | 28.43 | 28.45 | 11 | 0.1179 | 14.15 | 13.21 | 13.20 | 13.19 |
20 | 13 | 0.0150 | 36.25 | 35.14 | 35.19 | 35.35 | 14 | 0.0122 | 40.08 | 38.33 | 38.25 | 38.20 | 13 | 0.0275 | 16.39 | 15.12 | 15.10 | 15.09 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4788 | 3.15 | 2.14 | 2.14 | 2.14 | 5 | 2.4546 | 4.12 | 3.42 | 3.42 | 3.43 | 5 | 2.3234 | 4.20 | 3.31 | 3.30 | 3.31 |
12 | 8 | 0.4394 | 5.00 | 3.96 | 3.87 | 3.92 | 8 | 0.4210 | 5.93 | 5.81 | 5.90 | 5.88 | 8 | 0.3754 | 7.34 | 7.17 | 7.38 | 7.23 |
16 | 11 | 0.0865 | 14.40 | 13.08 | 13.03 | 13.03 | 11 | 0.0781 | 23.22 | 19.34 | 19.32 | 19.31 | 11 | 0.0642 | 20.97 | 19.29 | 19.29 | 19.25 |
20 | 13 | 0.0178 | 17.86 | 15.06 | 15.03 | 15.03 | 13 | 0.0160 | 28.83 | 27.81 | 27.81 | 27.75 | 14 | 0.0110 | 28.94 | 27.64 | 27.55 | 27.57 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3292 | 7.66 | 6.43 | 6.41 | 6.41 | 6 | 2.2986 | 10.57 | 7.97 | 7.97 | 7.96 | 7 | 2.3389 | 11.43 | 9.95 | 9.91 | 9.97 |
12 | 7 | 0.4140 | 11.20 | 9.72 | 9.57 | 9.64 | 7 | 0.3845 | 14.08 | 11.05 | 11.43 | 11.28 | 10 | 0.3468 | 15.54 | 14.04 | 14.04 | 14.30 |
16 | 9 | 0.0852 | 25.60 | 24.12 | 24.09 | 24.01 | 10 | 0.0714 | 33.63 | 32.26 | 32.32 | 32.33 | 11 | 0.0493 | 41.35 | 40.11 | 40.16 | 40.16 |
20 | 12 | 0.0196 | 35.74 | 33.50 | 33.42 | 33.64 | 12 | 0.0152 | 42.92 | 40.83 | 40.70 | 40.79 | 15 | 0.0076 | 69.03 | 64.87 | 64.85 | 64.75 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
74.48 | 34.12 | 14.23 | 17.71 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1535 | 31.06 | 44.58 | 39.39 | 40.81 | 4 | 3.3223 | 13.31 | 16.23 | 16.20 | 16.20 | 5 | 3.0704 | 14.57 | 17.55 | 17.67 | 17.60 |
12 | 9 | 0.3124 | 46.61 | 67.00 | 40.59 | 45.22 | 5 | 1.0493 | 15.36 | 18.59 | 18.46 | 18.48 | 6 | 0.8146 | 16.07 | 19.44 | 19.07 | 19.09 |
16 | 11 | 0.0479 | 57.25 | 81.92 | 38.88 | 46.16 | 6 | 0.4013 | 16.38 | 20.52 | 20.47 | 20.47 | 7 | 0.2937 | 17.00 | 21.29 | 20.98 | 21.13 |
20 | 14 | 0.0061 | 72.77 | 103.54 | 41.16 | 49.31 | 7 | 0.1916 | 17.64 | 22.16 | 22.15 | 22.17 | 8 | 0.1274 | 18.36 | 22.04 | 22.10 | 22.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4720 | 19.92 | 23.82 | 23.80 | 23.77 | 5 | 2.3433 | 26.27 | 26.52 | 26.51 | 26.52 | 5 | 2.7379 | 12.87 | 15.53 | 15.67 | 15.54 |
12 | 8 | 0.4178 | 26.65 | 30.02 | 30.24 | 29.97 | 8 | 0.3776 | 37.00 | 34.55 | 34.55 | 34.57 | 8 | 0.5254 | 14.96 | 18.13 | 18.38 | 17.77 |
16 | 11 | 0.0827 | 33.52 | 36.92 | 37.02 | 36.93 | 11 | 0.0632 | 68.50 | 49.05 | 48.97 | 48.96 | 11 | 0.1223 | 17.24 | 20.82 | 20.82 | 20.82 |
20 | 13 | 0.0174 | 37.39 | 41.70 | 41.65 | 41.63 | 14 | 0.0121 | 82.51 | 58.61 | 58.56 | 58.60 | 13 | 0.0311 | 23.96 | 26.06 | 26.00 | 26.02 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4755 | 14.42 | 16.83 | 16.83 | 16.87 | 5 | 2.4720 | 19.91 | 23.70 | 23.71 | 23.76 | 5 | 2.3433 | 26.23 | 26.54 | 26.54 | 26.53 |
12 | 8 | 0.4449 | 19.03 | 21.04 | 21.29 | 21.08 | 8 | 0.4178 | 26.64 | 30.17 | 30.18 | 29.97 | 8 | 0.3776 | 37.01 | 34.55 | 34.54 | 34.55 |
16 | 11 | 0.0848 | 23.43 | 25.07 | 25.06 | 25.15 | 11 | 0.0827 | 33.44 | 36.91 | 37.01 | 36.94 | 11 | 0.0632 | 68.68 | 49.09 | 48.97 | 48.98 |
20 | 13 | 0.0214 | 31.64 | 33.06 | 33.06 | 33.32 | 13 | 0.0174 | 37.39 | 41.58 | 41.67 | 41.52 | 14 | 0.0121 | 82.38 | 58.54 | 58.53 | 58.54 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3091 | 18.32 | 24.19 | 24.42 | 24.38 | 6 | 2.2991 | 33.64 | 32.51 | 32.51 | 32.56 | 7 | 2.3472 | 29.86 | 34.56 | 34.37 | 34.42 |
12 | 7 | 0.4211 | 28.42 | 33.63 | 33.64 | 33.66 | 7 | 0.3930 | 44.91 | 39.32 | 39.34 | 39.33 | 10 | 0.3516 | 42.69 | 44.74 | 44.72 | 44.88 |
16 | 9 | 0.0870 | 37.08 | 41.18 | 41.10 | 41.09 | 10 | 0.0719 | 49.44 | 48.15 | 48.17 | 48.17 | 11 | 0.0500 | 44.29 | 47.37 | 47.44 | 47.34 |
20 | 12 | 0.0183 | 42.25 | 46.80 | 46.74 | 46.87 | 12 | 0.0143 | 52.31 | 52.43 | 52.38 | 52.40 | 15 | 0.0074 | 61.13 | 64.46 | 64.93 | 65.76 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
109.11 | 128.91 | 28.15 | 41.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1483 | 39.51 | 56.07 | 46.54 | 47.16 | 4 | 3.3516 | 15.18 | 18.02 | 18.06 | 18.11 | 5 | 3.0386 | 17.00 | 19.84 | 20.35 | 19.84 |
12 | 9 | 0.3160 | 100.93 | 129.53 | 61.35 | 68.46 | 5 | 1.0284 | 25.86 | 26.78 | 26.53 | 26.76 | 6 | 0.8263 | 26.86 | 33.24 | 33.20 | 33.40 |
16 | 11 | 0.0450 | 190.97 | 255.35 | 79.53 | 99.13 | 6 | 0.4002 | 38.10 | 48.02 | 48.00 | 47.98 | 7 | 0.2896 | 39.26 | 50.31 | 50.28 | 50.18 |
20 | 14 | 0.0071 | 299.48 | 411.67 | 106.73 | 140.12 | 7 | 0.1867 | 48.47 | 66.06 | 65.94 | 66.05 | 8 | 0.1186 | 63.33 | 66.81 | 66.77 | 66.77 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4543 | 22.63 | 27.07 | 26.99 | 27.00 | 5 | 2.3258 | 30.83 | 32.35 | 32.42 | 32.40 | 5 | 2.7359 | 15.04 | 18.54 | 18.11 | 18.10 |
12 | 8 | 0.4223 | 39.84 | 44.29 | 44.29 | 44.24 | 8 | 0.3748 | 53.82 | 52.47 | 52.57 | 52.48 | 8 | 0.5434 | 25.49 | 27.98 | 27.38 | 28.18 |
16 | 11 | 0.0775 | 66.88 | 71.54 | 71.58 | 71.60 | 11 | 0.0650 | 103.37 | 82.91 | 82.92 | 82.89 | 11 | 0.1192 | 43.23 | 45.59 | 45.62 | 45.73 |
20 | 13 | 0.0157 | 89.68 | 97.39 | 99.42 | 98.56 | 14 | 0.0115 | 135.23 | 112.08 | 112.19 | 112.18 | 13 | 0.0279 | 71.84 | 77.85 | 77.75 | 77.64 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4784 | 17.46 | 20.47 | 19.97 | 21.13 | 5 | 2.4543 | 24.00 | 28.02 | 27.93 | 27.91 | 5 | 2.3258 | 30.12 | 31.60 | 31.67 | 31.66 |
12 | 8 | 0.4458 | 31.61 | 33.43 | 33.41 | 33.82 | 8 | 0.4223 | 40.33 | 42.17 | 42.12 | 42.11 | 8 | 0.3748 | 56.89 | 54.73 | 54.70 | 54.84 |
16 | 11 | 0.0862 | 49.31 | 57.34 | 57.30 | 58.44 | 11 | 0.0775 | 68.15 | 73.58 | 73.67 | 73.39 | 11 | 0.0650 | 103.93 | 83.13 | 85.17 | 84.22 |
20 | 13 | 0.0179 | 84.38 | 85.42 | 85.13 | 85.08 | 13 | 0.0157 | 89.57 | 97.22 | 96.98 | 96.93 | 14 | 0.0115 | 135.75 | 112.07 | 112.12 | 112.20 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3259 | 20.50 | 27.60 | 27.47 | 27.45 | 6 | 2.2935 | 37.77 | 38.68 | 38.77 | 40.37 | 7 | 2.3470 | 37.72 | 40.95 | 41.06 | 41.12 |
12 | 7 | 0.4145 | 43.12 | 44.77 | 44.77 | 44.82 | 7 | 0.3870 | 61.13 | 59.74 | 59.62 | 59.61 | 10 | 0.3500 | 64.59 | 67.14 | 67.24 | 67.17 |
16 | 9 | 0.0844 | 67.22 | 69.87 | 71.86 | 71.53 | 10 | 0.0712 | 88.00 | 87.01 | 86.79 | 86.91 | 11 | 0.0490 | 89.63 | 95.88 | 95.87 | 95.82 |
20 | 12 | 0.0203 | 85.13 | 89.71 | 89.99 | 89.37 | 12 | 0.0150 | 106.77 | 107.36 | 107.43 | 107.48 | 15 | 0.0074 | 135.47 | 143.71 | 143.78 | 143.83 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
79.35 | 14.40 | 8.59 | 11.59 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1535 | 21.45 | 28.24 | 29.23 | 30.09 | 4 | 3.3223 | 12.45 | 13.93 | 14.08 | 13.92 | 5 | 3.0704 | 15.84 | 17.98 | 18.06 | 17.99 |
12 | 9 | 0.3124 | 31.62 | 42.61 | 31.41 | 33.94 | 5 | 1.0493 | 16.13 | 18.45 | 18.45 | 18.44 | 6 | 0.8146 | 18.23 | 20.85 | 20.86 | 20.68 |
16 | 11 | 0.0479 | 39.38 | 62.86 | 32.19 | 39.38 | 6 | 0.4013 | 18.58 | 21.32 | 21.31 | 21.32 | 7 | 0.2937 | 22.12 | 22.90 | 22.82 | 22.92 |
20 | 14 | 0.0061 | 59.42 | 81.79 | 32.84 | 39.36 | 7 | 0.1916 | 22.24 | 23.26 | 23.26 | 23.29 | 8 | 0.1274 | 24.06 | 25.72 | 25.70 | 25.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4720 | 17.04 | 18.35 | 18.47 | 18.45 | 5 | 2.3433 | 17.11 | 18.88 | 19.01 | 18.83 | 5 | 2.7379 | 7.97 | 8.72 | 8.72 | 9.03 |
12 | 8 | 0.4178 | 22.67 | 26.58 | 26.52 | 26.53 | 8 | 0.3776 | 26.60 | 26.92 | 26.97 | 26.95 | 8 | 0.5254 | 11.93 | 13.77 | 13.75 | 13.73 |
16 | 11 | 0.0827 | 33.17 | 35.29 | 35.29 | 35.28 | 11 | 0.0632 | 35.65 | 34.17 | 34.47 | 34.35 | 11 | 0.1223 | 13.83 | 17.82 | 17.81 | 17.80 |
20 | 13 | 0.0174 | 37.57 | 38.31 | 38.29 | 38.27 | 14 | 0.0121 | 44.40 | 41.25 | 41.15 | 41.10 | 13 | 0.0311 | 19.11 | 19.76 | 19.74 | 19.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4755 | 7.68 | 8.48 | 8.68 | 8.50 | 5 | 2.4720 | 17.02 | 18.32 | 18.33 | 18.31 | 5 | 2.3433 | 17.09 | 18.86 | 18.84 | 18.84 |
12 | 8 | 0.4449 | 11.89 | 14.09 | 14.08 | 14.09 | 8 | 0.4178 | 22.66 | 26.58 | 26.54 | 26.56 | 8 | 0.3776 | 26.60 | 26.93 | 26.96 | 26.95 |
16 | 11 | 0.0848 | 14.30 | 17.21 | 17.23 | 17.20 | 11 | 0.0827 | 33.20 | 35.45 | 35.30 | 35.29 | 11 | 0.0632 | 35.62 | 34.22 | 34.33 | 34.14 |
20 | 13 | 0.0214 | 18.83 | 20.14 | 19.99 | 19.99 | 13 | 0.0174 | 37.58 | 38.32 | 38.29 | 38.31 | 14 | 0.0121 | 44.39 | 41.26 | 41.19 | 41.17 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3091 | 18.23 | 20.02 | 20.04 | 20.04 | 6 | 2.2991 | 47.31 | 39.17 | 37.62 | 37.73 | 7 | 2.3472 | 28.29 | 27.87 | 27.80 | 27.05 |
12 | 7 | 0.4211 | 26.99 | 28.43 | 28.41 | 28.43 | 7 | 0.3930 | 52.65 | 44.02 | 45.34 | 44.12 | 10 | 0.3516 | 36.70 | 36.65 | 36.64 | 36.62 |
16 | 9 | 0.0870 | 33.14 | 34.28 | 34.27 | 34.28 | 10 | 0.0719 | 60.13 | 48.35 | 48.87 | 48.72 | 11 | 0.0500 | 39.49 | 38.78 | 38.65 | 38.75 |
20 | 12 | 0.0183 | 39.71 | 39.28 | 39.28 | 39.27 | 12 | 0.0143 | 64.50 | 52.58 | 52.77 | 52.61 | 15 | 0.0074 | 51.98 | 50.52 | 50.82 | 50.63 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
125.28 | 62.59 | 23.38 | 33.25 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1483 | 26.52 | 34.64 | 34.33 | 35.44 | 4 | 3.3516 | 14.31 | 15.86 | 15.81 | 15.78 | 5 | 3.0386 | 19.62 | 21.58 | 21.56 | 21.66 |
12 | 9 | 0.3160 | 79.97 | 99.13 | 48.38 | 54.19 | 5 | 1.0284 | 27.34 | 29.36 | 29.31 | 29.33 | 6 | 0.8263 | 28.68 | 34.59 | 34.61 | 34.60 |
16 | 11 | 0.0450 | 145.39 | 208.78 | 67.73 | 84.49 | 6 | 0.4002 | 39.93 | 49.26 | 49.17 | 49.17 | 7 | 0.2896 | 52.56 | 51.55 | 51.41 | 51.50 |
20 | 14 | 0.0071 | 249.21 | 322.83 | 84.69 | 107.83 | 7 | 0.1867 | 65.27 | 66.55 | 66.43 | 66.42 | 8 | 0.1186 | 67.52 | 70.48 | 70.47 | 70.40 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4543 | 20.24 | 21.66 | 21.74 | 21.87 | 5 | 2.3258 | 20.20 | 22.71 | 22.77 | 22.72 | 5 | 2.7359 | 10.84 | 11.80 | 11.78 | 11.73 |
12 | 8 | 0.4223 | 34.92 | 40.21 | 40.15 | 40.20 | 8 | 0.3748 | 43.30 | 40.66 | 40.78 | 40.75 | 8 | 0.5434 | 22.36 | 25.14 | 24.07 | 24.10 |
16 | 11 | 0.0775 | 68.66 | 70.99 | 70.87 | 70.87 | 11 | 0.0650 | 71.29 | 69.03 | 68.91 | 69.14 | 11 | 0.1192 | 39.01 | 41.91 | 41.45 | 41.45 |
20 | 13 | 0.0157 | 89.10 | 88.28 | 88.27 | 88.27 | 14 | 0.0115 | 98.30 | 93.98 | 94.39 | 95.16 | 13 | 0.0279 | 54.21 | 53.14 | 53.30 | 53.34 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4784 | 9.39 | 11.03 | 11.02 | 10.70 | 5 | 2.4543 | 20.35 | 21.91 | 21.83 | 22.04 | 5 | 2.3258 | 20.17 | 22.90 | 22.91 | 22.96 |
12 | 8 | 0.4458 | 23.11 | 25.49 | 25.27 | 25.16 | 8 | 0.4223 | 35.85 | 39.83 | 39.75 | 39.75 | 8 | 0.3748 | 45.01 | 46.26 | 46.17 | 46.16 |
16 | 11 | 0.0862 | 38.45 | 41.00 | 40.99 | 41.12 | 11 | 0.0775 | 68.20 | 70.08 | 70.19 | 70.26 | 11 | 0.0650 | 71.50 | 69.92 | 70.03 | 70.15 |
20 | 13 | 0.0179 | 54.05 | 55.07 | 55.15 | 55.12 | 13 | 0.0157 | 88.89 | 89.91 | 89.90 | 89.90 | 14 | 0.0115 | 97.53 | 92.37 | 92.57 | 93.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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3259 | 21.35 | 23.72 | 23.61 | 23.72 | 6 | 2.2935 | 48.65 | 40.39 | 38.92 | 38.98 | 7 | 2.3470 | 39.78 | 34.79 | 34.81 | 33.79 |
12 | 7 | 0.4145 | 40.34 | 42.08 | 42.04 | 42.01 | 7 | 0.3870 | 66.28 | 59.90 | 60.70 | 60.15 | 10 | 0.3500 | 59.39 | 58.68 | 58.69 | 58.65 |
16 | 9 | 0.0844 | 62.47 | 63.14 | 63.08 | 63.08 | 10 | 0.0712 | 92.38 | 81.49 | 81.72 | 81.71 | 11 | 0.0490 | 86.57 | 81.83 | 81.85 | 81.83 |
20 | 12 | 0.0203 | 81.30 | 81.22 | 81.02 | 81.21 | 12 | 0.0150 | 111.07 | 100.63 | 100.54 | 100.64 | 15 | 0.0074 | 126.52 | 117.12 | 116.82 | 116.95 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
30.99 | 6.61 | 5.57 | 7.35 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1535 | 65.76 | 60.31 | 39.85 | 43.03 | 4 | 3.3223 | 20.90 | 20.51 | 23.29 | 24.04 | 5 | 3.0704 | 24.80 | 24.61 | 26.27 | 27.40 |
12 | 9 | 0.3124 | 98.61 | 87.59 | 42.07 | 45.12 | 5 | 1.0493 | 22.43 | 22.12 | 24.28 | 25.17 | 6 | 0.8146 | 27.39 | 27.53 | 28.22 | 29.31 |
16 | 11 | 0.0479 | 121.24 | 104.79 | 41.37 | 47.26 | 6 | 0.4013 | 25.09 | 25.83 | 25.95 | 27.37 | 7 | 0.2937 | 28.86 | 30.19 | 29.92 | 31.03 |
20 | 14 | 0.0061 | 156.56 | 134.56 | 41.14 | 51.31 | 7 | 0.1916 | 26.53 | 26.74 | 27.32 | 28.25 | 8 | 0.1274 | 30.73 | 31.74 | 31.93 | 32.84 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4720 | 24.33 | 41.70 | 41.63 | 42.73 | 5 | 2.3433 | 26.44 | 42.93 | 41.58 | 41.62 | 5 | 2.7237 | 17.69 | 28.25 | 28.05 | 28.00 |
12 | 8 | 0.4178 | 29.30 | 56.05 | 56.32 | 56.31 | 8 | 0.3776 | 31.88 | 56.24 | 57.23 | 57.42 | 8 | 0.5409 | 16.76 | 37.26 | 37.39 | 37.45 |
16 | 11 | 0.0827 | 37.67 | 76.10 | 76.49 | 75.83 | 11 | 0.0632 | 42.14 | 75.65 | 75.62 | 75.52 | 11 | 0.1175 | 27.05 | 47.24 | 47.24 | 47.17 |
20 | 13 | 0.0174 | 41.10 | 86.73 | 84.75 | 84.77 | 14 | 0.0121 | 47.16 | 88.60 | 88.62 | 90.97 | 13 | 0.0276 | 27.06 | 47.54 | 47.42 | 47.44 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4745 | 17.84 | 28.16 | 27.74 | 27.72 | 5 | 2.4543 | 19.68 | 30.16 | 30.15 | 30.15 | 5 | 2.3490 | 20.33 | 30.33 | 30.32 | 30.32 |
12 | 8 | 0.4442 | 17.92 | 37.49 | 37.41 | 37.41 | 8 | 0.4151 | 18.80 | 37.98 | 37.73 | 37.73 | 8 | 0.3796 | 20.66 | 38.84 | 38.65 | 38.48 |
16 | 11 | 0.0865 | 28.07 | 47.37 | 47.09 | 47.09 | 11 | 0.0781 | 31.86 | 50.17 | 49.88 | 49.94 | 11 | 0.0642 | 32.71 | 49.80 | 49.62 | 49.60 |
20 | 13 | 0.0179 | 28.09 | 47.67 | 47.41 | 47.35 | 13 | 0.0166 | 32.60 | 52.41 | 52.13 | 52.12 | 14 | 0.0107 | 33.93 | 52.13 | 51.87 | 51.88 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3091 | 26.92 | 41.75 | 42.02 | 42.05 | 6 | 2.2991 | 32.50 | 47.30 | 47.44 | 47.23 | 7 | 2.3472 | 36.15 | 60.42 | 60.48 | 60.38 |
12 | 7 | 0.4211 | 35.50 | 57.00 | 56.93 | 56.65 | 7 | 0.3930 | 39.89 | 60.22 | 59.92 | 59.98 | 10 | 0.3516 | 44.51 | 78.19 | 78.16 | 79.70 |
16 | 9 | 0.0870 | 40.54 | 67.14 | 67.09 | 67.19 | 10 | 0.0719 | 46.90 | 77.31 | 77.25 | 77.33 | 11 | 0.0500 | 48.22 | 86.73 | 82.84 | 84.67 |
20 | 12 | 0.0183 | 51.20 | 92.48 | 93.54 | 92.85 | 12 | 0.0143 | 55.36 | 93.05 | 93.72 | 93.30 | 15 | 0.0074 | 65.57 | 117.03 | 117.10 | 117.08 |
boost::unordered_flat_set | |||
---|---|---|---|
insertion | successful lookup |
unsuccessful lookup |
mixed lookup |
61.20 | 33.60 | 15.79 | 24.18 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 6 | 2.1483 | 71.33 | 61.94 | 41.23 | 44.50 | 4 | 3.3516 | 21.13 | 20.52 | 23.61 | 24.67 | 5 | 3.0386 | 26.58 | 26.69 | 28.11 | 29.16 |
12 | 9 | 0.3160 | 109.17 | 91.41 | 44.56 | 48.47 | 5 | 1.0284 | 24.21 | 24.25 | 26.05 | 27.35 | 6 | 0.8263 | 30.85 | 30.70 | 31.37 | 32.31 |
16 | 11 | 0.0450 | 262.49 | 219.17 | 64.88 | 81.11 | 6 | 0.4002 | 37.96 | 38.00 | 38.59 | 40.20 | 7 | 0.2896 | 48.34 | 50.03 | 48.61 | 49.96 |
20 | 14 | 0.0071 | 438.25 | 352.95 | 78.35 | 108.96 | 7 | 0.1867 | 45.27 | 44.88 | 45.65 | 46.86 | 8 | 0.1186 | 61.31 | 63.12 | 61.61 | 64.04 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4543 | 26.00 | 41.86 | 41.77 | 42.89 | 5 | 2.3258 | 28.42 | 43.11 | 41.86 | 41.96 | 5 | 2.7344 | 18.13 | 30.30 | 30.30 | 30.28 |
12 | 8 | 0.4223 | 33.21 | 57.98 | 58.46 | 58.34 | 8 | 0.3748 | 35.75 | 58.92 | 60.17 | 59.83 | 8 | 0.5420 | 18.52 | 40.60 | 40.81 | 40.59 |
16 | 11 | 0.0775 | 58.14 | 90.04 | 90.42 | 89.87 | 11 | 0.0650 | 65.16 | 92.71 | 92.67 | 92.83 | 11 | 0.1178 | 47.55 | 72.98 | 73.18 | 73.43 |
20 | 13 | 0.0157 | 75.59 | 109.87 | 108.23 | 108.25 | 14 | 0.0115 | 85.13 | 118.10 | 118.02 | 120.17 | 13 | 0.0273 | 59.30 | 86.22 | 86.17 | 86.08 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.4716 | 18.13 | 29.88 | 29.88 | 29.88 | 5 | 2.4474 | 20.09 | 31.97 | 31.97 | 31.99 | 5 | 2.3181 | 20.56 | 31.86 | 31.86 | 31.94 |
12 | 8 | 0.4430 | 20.08 | 40.56 | 40.78 | 40.96 | 8 | 0.4208 | 20.78 | 40.80 | 40.83 | 40.56 | 8 | 0.3766 | 22.99 | 42.39 | 42.25 | 42.54 |
16 | 11 | 0.0859 | 51.02 | 73.42 | 73.48 | 73.03 | 11 | 0.0774 | 53.12 | 73.91 | 73.84 | 73.96 | 11 | 0.0647 | 54.14 | 74.23 | 74.03 | 74.31 |
20 | 13 | 0.0176 | 61.81 | 87.01 | 86.45 | 86.19 | 13 | 0.0148 | 63.91 | 90.38 | 90.25 | 90.25 | 14 | 0.0118 | 65.53 | 90.37 | 90.24 | 90.35 |
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. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
K | FPR [%] |
ins. | succ. lkp. |
uns. lkp. |
mixed lkp. |
8 | 5 | 2.3259 | 28.63 | 41.87 | 42.29 | 42.16 | 6 | 2.2935 | 35.27 | 47.69 | 48.01 | 47.73 | 7 | 2.3470 | 38.33 | 60.66 | 60.76 | 60.71 |
12 | 7 | 0.4145 | 39.29 | 59.18 | 58.67 | 58.39 | 7 | 0.3870 | 44.62 | 65.26 | 64.88 | 65.31 | 10 | 0.3500 | 47.69 | 79.09 | 78.99 | 80.35 |
16 | 9 | 0.0844 | 58.41 | 75.87 | 76.02 | 75.96 | 10 | 0.0712 | 72.63 | 104.30 | 104.57 | 104.15 | 11 | 0.0490 | 78.28 | 105.98 | 103.50 | 104.67 |
20 | 12 | 0.0203 | 80.25 | 111.25 | 111.54 | 111.03 | 12 | 0.0150 | 93.86 | 128.34 | 128.46 | 128.42 | 15 | 0.0074 | 110.76 | 145.03 | 145.12 | 145.07 |