Skip to content

TrigByteStreamTools: optimize trigbs_dumpHLTContentInBS_run3

Frank Winklmeier requested to merge fwinkl/athena:trigbs_dump into master

Further optimization of trigbs_dumpHLTContentInBS_run3.py, i.e. the size_summary method (follow-up to !37507 (merged)):

  • The main improvement comes from not converting rod_data() to a tuple. The return type of rod_data() is a u32slice and hence indexing (or getting its length) is fast.
  • Use the new StringSerializer::deserialize method to avoid constructing std::vector via ROOT.
  • Remove the lru_cache again as that does not seem to have a measurable impact anymore. Likely the cost of converting lists to tuples is offset by the gains of the caching.

This improves the runtime on the 1000 events from test_trig_data_v1Dev_writeBS_grid.py from 7.5 to 2.5 minutes.

Relates to ATR-24508.

Merge request reports