Skip to content

Commit fc49ead

Browse files
committed
[VecOps] Apply comments in review
* Remove unused include * Initialize the vectors with values to avoid unwanted optimizations
1 parent 6c713df commit fc49ead

File tree

1 file changed

+31
-33
lines changed

1 file changed

+31
-33
lines changed

root/math/vecops/VecOpsRVec.cxx

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include "ROOT/RVec.hxx"
22
#include "benchmark/benchmark.h"
3-
#include "rootbench/RBConfig.h"
43

54
using namespace ROOT::VecOps;
65

@@ -11,13 +10,22 @@ static void GetArguments(benchmark::internal::Benchmark* b)
1110
b->Arg(i);
1211
}
1312

13+
template <class T>
14+
RVec<T> GenerateSeq(const unsigned int size, const T start = 0)
15+
{
16+
RVec<T> v(size);
17+
for (auto i = 0u; i < size; i++)
18+
v[i] = start + i;
19+
return v;
20+
}
21+
1422

1523
template <class T>
1624
static void RVecAssign(benchmark::State &state)
1725
{
1826
const auto size = state.range(0);
19-
RVec<T> v1(size);
20-
RVec<T> v2(size);
27+
auto v1 = GenerateSeq<T>(size);
28+
auto v2 = GenerateSeq<T>(size, size);
2129
for (auto _ : state) {
2230
v2 = v1;
2331
benchmark::DoNotOptimize(v2);
@@ -30,8 +38,8 @@ template <class T>
3038
static void RVecAdd(benchmark::State &state)
3139
{
3240
const auto size = state.range(0);
33-
RVec<T> v1(size);
34-
RVec<T> v2(size);
41+
auto v1 = GenerateSeq<T>(size);
42+
auto v2 = GenerateSeq<T>(size, size);
3543
for (auto _ : state) {
3644
benchmark::DoNotOptimize(v1 + v2);
3745
}
@@ -43,8 +51,8 @@ template <class T>
4351
static void RVecSquareAddSqrt(benchmark::State &state)
4452
{
4553
const auto size = state.range(0);
46-
RVec<T> v1(size);
47-
RVec<T> v2(size);
54+
auto v1 = GenerateSeq<T>(size);
55+
auto v2 = GenerateSeq<T>(size, size);
4856
for (auto _ : state) {
4957
benchmark::DoNotOptimize(sqrt(pow(v1, 2) + pow(v2, 2)));
5058
}
@@ -56,10 +64,10 @@ template <class T>
5664
static void RVecDeltaR(benchmark::State &state)
5765
{
5866
const auto size = state.range(0);
59-
RVec<T> eta1(size);
60-
RVec<T> eta2(size);
61-
RVec<T> phi1(size);
62-
RVec<T> phi2(size);
67+
auto eta1 = GenerateSeq<T>(size, 0);
68+
auto eta2 = GenerateSeq<T>(size, 1);
69+
auto phi1 = GenerateSeq<T>(size, 2);
70+
auto phi2 = GenerateSeq<T>(size, 3);
6371
for (auto _ : state) {
6472
benchmark::DoNotOptimize(DeltaR(eta1, eta2, phi1, phi2));
6573
}
@@ -71,10 +79,10 @@ template <class T>
7179
static void RVecInvariantMass(benchmark::State &state)
7280
{
7381
const auto size = state.range(0);
74-
RVec<T> pt(size);
75-
RVec<T> eta(size);
76-
RVec<T> phi(size);
77-
RVec<T> mass(size);
82+
auto pt = GenerateSeq<T>(size, 0);
83+
auto eta = GenerateSeq<T>(size, 1);
84+
auto phi = GenerateSeq<T>(size, 2);
85+
auto mass = GenerateSeq<T>(size, 3);
7886
for (auto _ : state) {
7987
benchmark::DoNotOptimize(InvariantMass(pt, eta, phi, mass));
8088
}
@@ -86,31 +94,21 @@ template <class T>
8694
static void RVecInvariantMasses(benchmark::State &state)
8795
{
8896
const auto size = state.range(0);
89-
RVec<T> pt1(size);
90-
RVec<T> pt2(size);
91-
RVec<T> eta1(size);
92-
RVec<T> eta2(size);
93-
RVec<T> phi1(size);
94-
RVec<T> phi2(size);
95-
RVec<T> mass1(size);
96-
RVec<T> mass2(size);
97+
auto pt1 = GenerateSeq<T>(size, 0);
98+
auto eta1 = GenerateSeq<T>(size, 1);
99+
auto phi1 = GenerateSeq<T>(size, 2);
100+
auto mass1 = GenerateSeq<T>(size, 3);
101+
auto pt2 = GenerateSeq<T>(size, 4);
102+
auto eta2 = GenerateSeq<T>(size, 5);
103+
auto phi2 = GenerateSeq<T>(size, 6);
104+
auto mass2 = GenerateSeq<T>(size, 7);
97105
for (auto _ : state) {
98106
benchmark::DoNotOptimize(InvariantMasses(pt1, eta1, phi1, mass1, pt2, eta2, phi2, mass2));
99107
}
100108
}
101109
BENCHMARK_TEMPLATE(RVecInvariantMasses, float)->Apply(GetArguments);
102110

103111

104-
template <class T>
105-
RVec<T> GenerateSeq(const unsigned int size)
106-
{
107-
RVec<T> v(size);
108-
for (auto i = 0u; i < size; i++)
109-
v[i] = i;
110-
return v;
111-
}
112-
113-
114112
template <class T>
115113
static void RVecMaskingSimple(benchmark::State &state)
116114
{

0 commit comments

Comments
 (0)