#include #include "bench_common.hpp" namespace { using namespace cmbench; static void BM_Insert_Scalar(benchmark::State& state) { bench_insert>( state, scalar_workload(), {"std::unordered_map", "c++", "Scalar", "Insert"}); } static void BM_LookupHit_Scalar(benchmark::State& state) { bench_lookup_hit>( state, scalar_workload(), {"std::unordered_map", "c++", "Scalar", "LookupHit"}); } static void BM_LookupMiss_Scalar(benchmark::State& state) { bench_lookup_miss>( state, scalar_workload(), {"std::unordered_map", "c++", "Scalar", "LookupMiss"}); } static void BM_Erase_Scalar(benchmark::State& state) { bench_erase>( state, scalar_workload(), {"std::unordered_map", "c++", "Scalar", "Erase"}); } static void BM_Insert_HandlePayload(benchmark::State& state) { bench_insert>( state, entity_workload(), {"std::unordered_map", "c++", "HandlePayload", "Insert"}); } static void BM_LookupHit_HandlePayload(benchmark::State& state) { bench_lookup_hit>( state, entity_workload(), {"std::unordered_map", "c++", "HandlePayload", "LookupHit"}); } static void BM_LookupMiss_HandlePayload(benchmark::State& state) { bench_lookup_miss>( state, entity_workload(), {"std::unordered_map", "c++", "HandlePayload", "LookupMiss"}); } static void BM_Erase_HandlePayload(benchmark::State& state) { bench_erase>( state, entity_workload(), {"std::unordered_map", "c++", "HandlePayload", "Erase"}); } static void BM_Insert_CompositeKey(benchmark::State& state) { bench_insert>( state, component_workload(), {"std::unordered_map", "c++", "CompositeKey", "Insert"}); } static void BM_LookupHit_CompositeKey(benchmark::State& state) { bench_lookup_hit>( state, component_workload(), {"std::unordered_map", "c++", "CompositeKey", "LookupHit"}); } static void BM_LookupMiss_CompositeKey(benchmark::State& state) { bench_lookup_miss>( state, component_workload(), {"std::unordered_map", "c++", "CompositeKey", "LookupMiss"}); } static void BM_Erase_CompositeKey(benchmark::State& state) { bench_erase>( state, component_workload(), {"std::unordered_map", "c++", "CompositeKey", "Erase"}); } } // namespace BENCHMARK(BM_Insert_Scalar); BENCHMARK(BM_LookupHit_Scalar); BENCHMARK(BM_LookupMiss_Scalar); BENCHMARK(BM_Erase_Scalar); BENCHMARK(BM_Insert_HandlePayload); BENCHMARK(BM_LookupHit_HandlePayload); BENCHMARK(BM_LookupMiss_HandlePayload); BENCHMARK(BM_Erase_HandlePayload); BENCHMARK(BM_Insert_CompositeKey); BENCHMARK(BM_LookupHit_CompositeKey); BENCHMARK(BM_LookupMiss_CompositeKey); BENCHMARK(BM_Erase_CompositeKey);