root-project / rootbench

Collection of benchmarks and performance monitoring applications
GNU Lesser General Public License v2.1
19 stars 41 forks source link

[DF] Remove call to VecOps::Combinations in ODB query 6 #266

Closed ikabadzhov closed 1 year ago

ikabadzhov commented 1 year ago

VecOps::Combinations creates a jets.size()x3 matrix. Moreover, this newly created matrix is used only as index, such as jets[c[0][i]]. It makes sense to get rid of this matrix and access the elements directly. In this case, we have contiguous memory access only. Hence, improved performance of the find_triject function.

eguiraud commented 1 year ago

P.S. could you please open a sibling PR at https://github.com/root-project/opendata-benchmarks ?

ikabadzhov commented 1 year ago

Thanks Ivan! LGTM, and I guess you verified the output is identical? 😄

Let me double check. I quickly looked and they seemed identical. But let me read the numbers :D

ikabadzhov commented 1 year ago

Procuded histograms are identical (old and new). Hence, merging.