├── .gitignore ├── README.md ├── benchmark ├── benchmarker ├── benchmarker-cxx │ ├── HashMap.h │ ├── HashTable.h │ ├── Makefile │ ├── Prelude.h │ ├── StringHashMap.h │ ├── StringHashTable.h │ ├── StringRef.h │ ├── json.h │ ├── main.cpp │ ├── mock_std.h │ └── robin_hood.h ├── benchmarker-rust │ ├── .cargo │ │ └── config.toml │ ├── Cargo.toml │ └── src │ │ ├── bin │ │ └── main.rs │ │ ├── lib.rs │ │ ├── measure_memory.rs │ │ ├── measure_time.rs │ │ └── subject.rs └── common-hashtable │ ├── Cargo.toml │ ├── src │ ├── hash_table.rs │ ├── hash_table_entity.rs │ ├── hash_table_grower.rs │ ├── hash_table_iter.rs │ ├── hash_table_key.rs │ ├── lib.rs │ └── two_level_hash_table.rs │ └── tests │ └── it │ └── main.rs ├── datasets ├── .gitignore ├── README.md └── manifest.json ├── doc ├── benchmark.md └── propsal.md └── hashtable ├── .cargo └── config.toml ├── Cargo.toml ├── src ├── allocator.rs ├── container.rs ├── experimental │ ├── batch.rs │ ├── extendible_hashtable.rs │ ├── mod.rs │ └── stack_hashtable.rs ├── hash.rs ├── hashtable.rs ├── lib.rs ├── simd │ ├── dynamic_swizzle.rs │ ├── gather.rs │ ├── mod.rs │ ├── pext.rs │ └── scatter.rs ├── table0.rs ├── table1.rs ├── traits.rs ├── twolevel_hashtable.rs ├── unsized_hashtable.rs └── utils.rs └── tests ├── count_distinct_normal.rs ├── count_distinct_twolevel.rs ├── count_distinct_unsized.rs └── experimental.rs /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | Cargo.lock 3 | .vscode 4 | .private 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/benchmarker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/HashMap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/HashMap.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/HashTable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/HashTable.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/Makefile -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/Prelude.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/Prelude.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/StringHashMap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/StringHashMap.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/StringHashTable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/StringHashTable.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/StringRef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/StringRef.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/json.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/json.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/main.cpp -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/mock_std.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/mock_std.h -------------------------------------------------------------------------------- /benchmark/benchmarker-cxx/robin_hood.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-cxx/robin_hood.h -------------------------------------------------------------------------------- /benchmark/benchmarker-rust/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | rustflags = [ 3 | "-C target-cpu=native", 4 | ] 5 | -------------------------------------------------------------------------------- /benchmark/benchmarker-rust/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-rust/Cargo.toml -------------------------------------------------------------------------------- /benchmark/benchmarker-rust/src/bin/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-rust/src/bin/main.rs -------------------------------------------------------------------------------- /benchmark/benchmarker-rust/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-rust/src/lib.rs -------------------------------------------------------------------------------- /benchmark/benchmarker-rust/src/measure_memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-rust/src/measure_memory.rs -------------------------------------------------------------------------------- /benchmark/benchmarker-rust/src/measure_time.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-rust/src/measure_time.rs -------------------------------------------------------------------------------- /benchmark/benchmarker-rust/src/subject.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/benchmarker-rust/src/subject.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/Cargo.toml -------------------------------------------------------------------------------- /benchmark/common-hashtable/src/hash_table.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/src/hash_table.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/src/hash_table_entity.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/src/hash_table_entity.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/src/hash_table_grower.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/src/hash_table_grower.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/src/hash_table_iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/src/hash_table_iter.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/src/hash_table_key.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/src/hash_table_key.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/src/lib.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/src/two_level_hash_table.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/src/two_level_hash_table.rs -------------------------------------------------------------------------------- /benchmark/common-hashtable/tests/it/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/benchmark/common-hashtable/tests/it/main.rs -------------------------------------------------------------------------------- /datasets/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/datasets/.gitignore -------------------------------------------------------------------------------- /datasets/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/datasets/README.md -------------------------------------------------------------------------------- /datasets/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/datasets/manifest.json -------------------------------------------------------------------------------- /doc/benchmark.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/doc/benchmark.md -------------------------------------------------------------------------------- /doc/propsal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/doc/propsal.md -------------------------------------------------------------------------------- /hashtable/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/.cargo/config.toml -------------------------------------------------------------------------------- /hashtable/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/Cargo.toml -------------------------------------------------------------------------------- /hashtable/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/allocator.rs -------------------------------------------------------------------------------- /hashtable/src/container.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/container.rs -------------------------------------------------------------------------------- /hashtable/src/experimental/batch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/experimental/batch.rs -------------------------------------------------------------------------------- /hashtable/src/experimental/extendible_hashtable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/experimental/extendible_hashtable.rs -------------------------------------------------------------------------------- /hashtable/src/experimental/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/experimental/mod.rs -------------------------------------------------------------------------------- /hashtable/src/experimental/stack_hashtable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/experimental/stack_hashtable.rs -------------------------------------------------------------------------------- /hashtable/src/hash.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/hash.rs -------------------------------------------------------------------------------- /hashtable/src/hashtable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/hashtable.rs -------------------------------------------------------------------------------- /hashtable/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/lib.rs -------------------------------------------------------------------------------- /hashtable/src/simd/dynamic_swizzle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/simd/dynamic_swizzle.rs -------------------------------------------------------------------------------- /hashtable/src/simd/gather.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/simd/gather.rs -------------------------------------------------------------------------------- /hashtable/src/simd/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/simd/mod.rs -------------------------------------------------------------------------------- /hashtable/src/simd/pext.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/simd/pext.rs -------------------------------------------------------------------------------- /hashtable/src/simd/scatter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/simd/scatter.rs -------------------------------------------------------------------------------- /hashtable/src/table0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/table0.rs -------------------------------------------------------------------------------- /hashtable/src/table1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/table1.rs -------------------------------------------------------------------------------- /hashtable/src/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/traits.rs -------------------------------------------------------------------------------- /hashtable/src/twolevel_hashtable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/twolevel_hashtable.rs -------------------------------------------------------------------------------- /hashtable/src/unsized_hashtable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/unsized_hashtable.rs -------------------------------------------------------------------------------- /hashtable/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/src/utils.rs -------------------------------------------------------------------------------- /hashtable/tests/count_distinct_normal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/tests/count_distinct_normal.rs -------------------------------------------------------------------------------- /hashtable/tests/count_distinct_twolevel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/tests/count_distinct_twolevel.rs -------------------------------------------------------------------------------- /hashtable/tests/count_distinct_unsized.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/tests/count_distinct_unsized.rs -------------------------------------------------------------------------------- /hashtable/tests/experimental.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usamoi/saha/HEAD/hashtable/tests/experimental.rs --------------------------------------------------------------------------------