@@ -632,7 +632,7 @@ Statistics FilterBenchmark(
632632 results[1 ]*1.0 /add_count ,
633633 results[1 ]*1.0 /results[0 ],
634634 results[2 ]*1.0 /add_count,
635- results[3 ] * 1.0 /add_count);
635+ results[3 ]* 1.0 /add_count);
636636#else
637637 std::cout << " ." << std::flush;
638638#endif
@@ -735,56 +735,32 @@ void parse_comma_separated(char * c, std::set<int> & answer ) {
735735
736736
737737int main (int argc, char * argv[]) {
738- #ifdef __aarch64__
739- std::map<int ,std::string> names = {{0 ," Xor8" },{1 ," Xor12" },
740- {2 ," Xor16" }, {3 ," Cuckoo8" }, {4 ," Cuckoo12" },
741- {5 ," Cuckoo16" }, {6 ," CuckooSemiSort13" }, {7 ," Bloom8" },
742- {8 ," Bloom12" }, {9 ," Bloom16" }, {10 ," BlockedBloom" },
743- {11 ," sort" }, {12 ," Xor+8" }, {13 ," Xor+16" },
744- {14 ," GCS" }, {22 , " Xor10 (NBitArray)" }, {23 , " Xor14 (NBitArray)" },
745- {25 , " Xor10" },{26 , " Xor10.666" },
746- {37 ," Bloom8 (addall)" }, {38 ," Bloom12 (addall)" },
747- {40 ," BlockedBloom (addall)" },
738+ std::map<int ,std::string> names = {
739+ {0 ," Xor8" },{1 ," Xor12" }, {2 ," Xor16" },
740+ {3 ," Cuckoo8" }, {4 ," Cuckoo12" }, {5 ," Cuckoo16" }, {6 ," CuckooSemiSort13" },
741+ {7 ," Bloom8" }, {8 ," Bloom12" }, {9 ," Bloom16" },
742+ {11 ," sort" },
743+ {12 ," Xor+8" }, {13 ," Xor+16" },
744+ {14 ," GCS" },
745+ {22 ," Xor10 (NBitArray)" }, {23 ," Xor14 (NBitArray)" }, {25 ," Xor10" },{26 ," Xor10.666" },
746+ {37 ," Bloom8 (addall)" }, {38 ," Bloom12 (addall)" }, {39 ," Bloom16 (addall)" },
748747 {41 ," Branchless Bloom12 (addall)" },
749748 {42 ," Branchless Bloom16 (addall)" },
750749 {43 ," Branchless Bloom8 (addall)" },
751750 {44 ," Counting Bloom10 (addall)" }, {45 ," Succ Counting Bloom10 (addall)" },
752- {70 ," SimpleBlockedBloom" }
753- };
751+ {70 ," SimpleBlockedBloom" },
752+ #ifdef __aarch64__
753+ {10 ," BlockedBloom" },
754+ {40 ," BlockedBloom (addall)" },
754755#elif defined( __AVX2__)
755- std::map<int ,std::string> names = {{0 ," Xor8" },{1 ," Xor12" },
756- {2 ," Xor16" }, {3 ," Cuckoo8" }, {4 ," Cuckoo12" },
757- {5 ," Cuckoo16" }, {6 ," CuckooSemiSort13" }, {7 ," Bloom8" },
758- {8 ," Bloom12" }, {9 ," Bloom16" }, {10 ," BlockedBloom" },
759- {11 ," sort" }, {12 ," Xor+8" }, {13 ," Xor+16" },
760- {14 ," GCS" }, {15 ," CQF" }, {22 , " Xor10 (NBitArray)" }, {23 , " Xor14 (NBitArray)" },
761- {25 , " Xor10" },{26 , " Xor10.666" },
762- {37 ," Bloom8 (addall)" }, {38 ," Bloom12 (addall)" }, {39 ," Bloom16 (addall)" },
756+ {10 ," BlockedBloom" },
757+ {15 ," CQF" },
763758 {40 ," BlockedBloom (addall)" },
764- {41 ," Branchless Bloom12 (addall)" },
765- {42 ," Branchless Bloom16 (addall)" },
766- {43 ," Branchless Bloom8 (addall)" },
767- {44 ," Counting Bloom10 (addall)" }, {45 ," Succ Counting Bloom10 (addall)" },
768759 {63 ," BlockedBloom16" }, {64 ," BlockedBloom64" },
769- {70 ," SimpleBlockedBloom" }
770- };
771- #else
772- std::map<int ,std::string> names = {{0 ," Xor8" },{1 ," Xor12" },
773- {2 ," Xor16" }, {3 ," Cuckoo8" }, {4 ," Cuckoo12" },
774- {5 ," Cuckoo16" }, {6 ," CuckooSemiSort13" }, {7 ," Bloom8" },
775- {8 ," Bloom12" }, {9 ," Bloom16" },
776- {11 ," sort" }, {12 ," Xor+8" }, {13 ," Xor+16" },
777- {14 ," GCS" }, {22 , " Xor10 (NBitArray)" }, {23 , " Xor14 (NBitArray)" },
778- {25 , " Xor10" },{26 , " Xor10.666" },
779- {37 ," Bloom8 (addall)" }, {38 ," Bloom12 (addall)" }, {39 ," Bloom16 (addall)" },
780- {41 ," Branchless Bloom12 (addall)" },
781- {42 ," Branchless Bloom16 (addall)" },
782- {43 ," Branchless Bloom8 (addall)" },
783- {44 ," Counting Bloom10 (addall)" }, {45 ," Succ Counting Bloom10 (addall)" },
784- {70 ," SimpleBlockedBloom" }
785- };
786760#endif
761+ };
787762
763+ // Parameter Parsing ----------------------------------------------------------
788764
789765 if (argc < 2 ) {
790766 cout << " Usage: " << argv[0 ] << " <numberOfEntries> [<algorithmId> [<seed>]]" << endl;
@@ -843,6 +819,9 @@ int main(int argc, char * argv[]) {
843819 if (actual_sample_size > add_count) {
844820 actual_sample_size = add_count;
845821 }
822+
823+ // Generating Samples ----------------------------------------------------------
824+
846825 vector<uint64_t > to_add = seed == -1 ?
847826 GenerateRandom64Fast (add_count, rand ()) :
848827 GenerateRandom64Fast (add_count, seed);
@@ -894,7 +873,6 @@ int main(int argc, char * argv[]) {
894873 hasduplicates = true ;
895874 }
896875
897-
898876 if (actual_sample_size > to_lookup.size ()) {
899877 std::cerr << " actual_sample_size = " << actual_sample_size << std::endl;
900878 throw out_of_range (" to_lookup must contain at least actual_sample_size values" );
@@ -923,11 +901,12 @@ int main(int argc, char * argv[]) {
923901 }
924902 mixed_sets.push_back (thisone);
925903 std::cout << " \r \r " << std::flush;
926-
927904 }
928905 constexpr int NAME_WIDTH = 32 ;
929-
930906 cout << StatisticsTableHeader (NAME_WIDTH, 5 ) << endl;
907+
908+ // Algorithms ----------------------------------------------------------
909+
931910 if (algorithmId == 0 || algorithmId < 0 || (algos.find (0 ) != algos.end ())) {
932911 auto cf = FilterBenchmark<
933912 XorFilter<uint64_t , uint8_t , SimpleMixSplit>>(
0 commit comments