Reduce memory usage of FSRSink
It's worth reviewing 8ec97adc separately as the other commit just removes the legacy implementation and the formatting ends up making the diff look more complex than it really is.
Fixes #408 (closed) see #408 (comment 10357484) for a detailed explanation of the problem. To see the impact of it, using the test case from: #408 (comment 10354994)
Before:
After:
There are a few separate features of this fix:
- Fix the memory leak from not deleting the
std::string*containing the FSR that extracted from theTFile. - Replace the
extracted_fsrsstd::listwith a callback patterrn instead - Use a callback on
nlohmann::json::parseto deduplicate the DstData decoding keys before they're even allocated - Validate that every level of the FSR contains a
guidkey
To do
-
ci-test against lhcb-master -
ci-test against lhcb-sim11
Edited by Chris Burr

