DataObjID: on-demand lookup of className
Retrieving the class name to a CLID requires querying the ClassIDSvc
, which (at least in the ATLAS implementation) requires taking a lock during the lookup and in general might be a costly operation. Instead of doing this in the construction of DataObjID
only lookup the class name when needed and then cache the result. For many use-cases, the class name will never be retrieved.
Also cleanup the needlessly complicated code of one-time retrieval of ClassIDSvc by using a simple static and add a unit test.
This speeds up construction of DataObjID
(for the ATLAS use-case) by about 10% for a single threaded-job. But seeing a factor of 15-20 speedup for synthetic heavily thread contented job using 8 threads (see also ATEAM-1054).
Merge request reports
Activity
added performance label
added 4 commits
-
c4062378...da3d77e1 - 2 commits from branch
gaudi:master
- a53b0ef5 - DataObjID: on-demand lookup of className
- 96e4c7b9 - DataObjID: add unit test
-
c4062378...da3d77e1 - 2 commits from branch
changed milestone to %v39r4
mentioned in merge request atlas/athena!78071 (merged)
added lhcb-gaudi-head label
- [2025-02-26 01:01] Validation started with lhcb-gaudi-head#4158
- [2025-02-26 01:02] Validation started with lhcb-run2-gaudi-head#955
- [2025-02-27 01:02] Validation started with lhcb-gaudi-head#4159
- [2025-02-27 01:03] Validation started with lhcb-run2-gaudi-head#956
- [2025-02-28 01:01] Validation started with lhcb-gaudi-head#4160
- [2025-03-01 01:01] Validation started with lhcb-gaudi-head#4161
- [2025-03-04 01:01] Validation started with lhcb-gaudi-head#4162
- [2025-03-05 01:02] Validation started with lhcb-gaudi-head#4163
- [2025-03-06 01:02] Validation started with lhcb-gaudi-head#4164
- [2025-03-06 01:04] Validation started with lhcb-run2-gaudi-head#957
- [2025-03-07 01:01] Validation started with lhcb-gaudi-head#4165
- [2025-03-08 01:02] Validation started with lhcb-run2-gaudi-head#958
- [2025-03-08 01:03] Validation started with lhcb-gaudi-head#4166
- [2025-03-11 01:02] Validation started with lhcb-run2-gaudi-head#959
- [2025-03-11 01:03] Validation started with lhcb-gaudi-head#4167
- [2025-03-12 01:01] Validation started with lhcb-gaudi-head#4168
- [2025-03-13 01:04] Validation started with lhcb-gaudi-head#4169
Edited by Software for LHCbmentioned in commit b28f27cc