@@ -25,59 +25,59 @@ using namespace o2::soa;
2525// Validation of new event mixing: time complexity same as for naive loop
2626
2727#ifdef __APPLE__
28- constexpr unsigned int maxColPairsRange = 25 ;
28+ constexpr unsigned int maxColPairsRange = 30 ;
2929#else
30- constexpr unsigned int maxColPairsRange = 25 ;
30+ constexpr unsigned int maxColPairsRange = 30 ;
3131#endif
3232constexpr int numEventsToMix = 5 ;
3333
3434using namespace o2 ::framework;
3535using namespace o2 ::soa;
3636
37- static void BM_EventMixingTableCreation (benchmark::State& state)
38- {
39- for (auto _ : state) {
40- // Seed with a real random value, if available
41- std::default_random_engine e1 (1234567891 );
42- std::uniform_real_distribution<float > uniform_dist (0 .f , 1 .f );
43- std::uniform_real_distribution<float > uniform_dist_x (-0 .065f , 0 .073f );
44- std::uniform_real_distribution<float > uniform_dist_y (-0 .320f , 0 .360f );
45- std::uniform_int_distribution<int > uniform_dist_int (0 , 5 );
46-
47- TableBuilder colBuilder;
48- auto rowWriterCol = colBuilder.cursor <o2::aod::Collisions>();
49- for (auto i = 0 ; i < state.range (0 ); ++i) {
50- float x = uniform_dist_x (e1 );
51- float y = uniform_dist_y (e1 );
52- rowWriterCol (0 , uniform_dist_int (e1 ),
53- x, y, uniform_dist (e1 ),
54- uniform_dist (e1 ), uniform_dist (e1 ), uniform_dist (e1 ),
55- uniform_dist (e1 ), uniform_dist (e1 ), uniform_dist (e1 ),
56- uniform_dist_int (e1 ), uniform_dist (e1 ),
57- uniform_dist_int (e1 ),
58- uniform_dist (e1 ), uniform_dist (e1 ));
59- }
60- auto tableCol = colBuilder.finalize ();
61- o2::aod::Collisions collisions{tableCol};
62- }
63- state.SetBytesProcessed (state.iterations () * (12 * sizeof (float ) + sizeof (int64_t ) + 3 * sizeof (int )) * state.range (0 ));
64- }
65-
66- BENCHMARK (BM_EventMixingTableCreation)->RangeMultiplier(2 )->Range(4 , 2 << maxColPairsRange);
67-
68- static void BM_EventMixingBinningCreation (benchmark::State& state)
69- {
70- std::vector<double > xBins{VARIABLE_WIDTH, -0.064 , -0.062 , -0.060 , 0.066 , 0.068 , 0.070 , 0.072 };
71- std::vector<double > yBins{VARIABLE_WIDTH, -0.320 , -0.301 , -0.300 , 0.330 , 0.340 , 0.350 , 0.360 };
72-
73- for (auto _ : state) {
74- using BinningType = ColumnBinningPolicy<o2::aod::collision::PosX, o2::aod::collision::PosY>;
75- BinningType binningOnPositions{{xBins, yBins}, true }; // true is for 'ignore overflows' (true by default)
76- }
77- state.SetBytesProcessed (state.iterations () * sizeof (float ));
78- }
79-
80- BENCHMARK (BM_EventMixingBinningCreation)->RangeMultiplier(2 )->Range(4 , 2 << maxColPairsRange);
37+ // static void BM_EventMixingTableCreation(benchmark::State& state)
38+ // {
39+ // for (auto _ : state) {
40+ // // Seed with a real random value, if available
41+ // std::default_random_engine e1(1234567891);
42+ // std::uniform_real_distribution<float> uniform_dist(0.f, 1.f);
43+ // std::uniform_real_distribution<float> uniform_dist_x(-0.065f, 0.073f);
44+ // std::uniform_real_distribution<float> uniform_dist_y(-0.320f, 0.360f);
45+ // std::uniform_int_distribution<int> uniform_dist_int(0, 5);
46+ //
47+ // TableBuilder colBuilder;
48+ // auto rowWriterCol = colBuilder.cursor<o2::aod::Collisions>();
49+ // for (auto i = 0; i < state.range(0); ++i) {
50+ // float x = uniform_dist_x(e1);
51+ // float y = uniform_dist_y(e1);
52+ // rowWriterCol(0, uniform_dist_int(e1),
53+ // x, y, uniform_dist(e1),
54+ // uniform_dist(e1), uniform_dist(e1), uniform_dist(e1),
55+ // uniform_dist(e1), uniform_dist(e1), uniform_dist(e1),
56+ // uniform_dist_int(e1), uniform_dist(e1),
57+ // uniform_dist_int(e1),
58+ // uniform_dist(e1), uniform_dist(e1));
59+ // }
60+ // auto tableCol = colBuilder.finalize();
61+ // o2::aod::Collisions collisions{tableCol};
62+ // }
63+ // state.SetBytesProcessed(state.iterations() * (12 * sizeof(float) + sizeof(int64_t) + 3 * sizeof(int)) * state.range(0));
64+ // }
65+ //
66+ // BENCHMARK(BM_EventMixingTableCreation)->RangeMultiplier(2)->Range(4, 2 << maxColPairsRange);
67+ //
68+ // static void BM_EventMixingBinningCreation(benchmark::State& state)
69+ // {
70+ // std::vector<double> xBins{VARIABLE_WIDTH, -0.064, -0.062, -0.060, 0.066, 0.068, 0.070, 0.072};
71+ // std::vector<double> yBins{VARIABLE_WIDTH, -0.320, -0.301, -0.300, 0.330, 0.340, 0.350, 0.360};
72+ //
73+ // for (auto _ : state) {
74+ // using BinningType = ColumnBinningPolicy<o2::aod::collision::PosX, o2::aod::collision::PosY>;
75+ // BinningType binningOnPositions{{xBins, yBins}, true}; // true is for 'ignore overflows' (true by default)
76+ // }
77+ // state.SetBytesProcessed(state.iterations() * sizeof(float));
78+ // }
79+ //
80+ // BENCHMARK(BM_EventMixingBinningCreation)->RangeMultiplier(2)->Range(4, 2 << maxColPairsRange);
8181
8282static void BM_EventMixingPolicyCreation (benchmark::State& state)
8383{
@@ -115,7 +115,8 @@ static void BM_EventMixingPolicyCreation(benchmark::State& state)
115115 state.SetBytesProcessed (state.iterations () * sizeof (float ) * state.range (0 ));
116116}
117117
118- BENCHMARK (BM_EventMixingPolicyCreation)->RangeMultiplier(2 )->Range(4 , 2 << maxColPairsRange);
118+ BENCHMARK (BM_EventMixingPolicyCreation)->RangeMultiplier(2 )->Range(2 << 19 , 2 << maxColPairsRange);
119+ // BENCHMARK(BM_EventMixingPolicyCreation)->DenseRange(2<<20, 2<<21, 50)
119120
120121static void BM_EventMixingCombinationsCreation (benchmark::State& state)
121122{
@@ -155,7 +156,8 @@ static void BM_EventMixingCombinationsCreation(benchmark::State& state)
155156 state.SetBytesProcessed (state.iterations () * sizeof (float ));
156157}
157158
158- BENCHMARK (BM_EventMixingCombinationsCreation)->RangeMultiplier(2 )->Range(4 , 2 << maxColPairsRange);
159+ BENCHMARK (BM_EventMixingCombinationsCreation)->RangeMultiplier(2 )->Range(2 << 19 , 2 << maxColPairsRange);
160+ // BENCHMARK(BM_EventMixingCombinationsCreation)->DenseRange(2<<18, 2<<19, 10486);
159161
160162static void BM_EventMixingCombinations (benchmark::State& state)
161163{
@@ -204,6 +206,7 @@ static void BM_EventMixingCombinations(benchmark::State& state)
204206 state.SetBytesProcessed (state.iterations () * sizeof (float ) * colCount);
205207}
206208
207- BENCHMARK (BM_EventMixingCombinations)->RangeMultiplier(2 )->Range(4 , 2 << maxColPairsRange);
209+ BENCHMARK (BM_EventMixingCombinations)->RangeMultiplier(2 )->Range(2 << 19 , 2 << maxColPairsRange);
210+ // BENCHMARK(BM_EventMixingCombinations)->DenseRange(2<<20, 2<<21, 50)
208211
209212BENCHMARK_MAIN ();
0 commit comments