The use of TObject::Clone on the tracks within a vertex is causing a small but measurable memory leak in NewVtxAnaProcessor. Using memory_profiler to measure and plot the memory usage.
On the current master branch, we see a steady increase in the memory usage as events are processed.
While on this branch, the memory usage is stabilized to (roughly) the same value which is the core design principle of ROOT's serialization technique with TTrees.
We can even process the full 10M event sample without reaching the memory used in the 1M-event-limited run on master.
Context
I am using hps-env:2024.01.23 to build and run hpstr (look there for details of the dependencies). What I do want to emphasize is that I am running with C++17 enabled.
The use of
TObject::Clone
on the tracks within a vertex is causing a small but measurable memory leak inNewVtxAnaProcessor
. Usingmemory_profiler
to measure and plot the memory usage.On the current master branch, we see a steady increase in the memory usage as events are processed.
While on this branch, the memory usage is stabilized to (roughly) the same value which is the core design principle of ROOT's serialization technique with TTrees.
We can even process the full 10M event sample without reaching the memory used in the 1M-event-limited run on master.
Context
I am using hps-env:2024.01.23 to build and run hpstr (look there for details of the dependencies). What I do want to emphasize is that I am running with C++17 enabled.
which is NOT on this branch and is not tested.