use boost::string_ref to hold Property name and documentation
The use of boost::string_ref (to be replaced by std::string_view) reduce significantly the space required by Property, avoiding pointless duplications in memory (see GAUDI-1229). With the `profile_Property` executable I measured a reduction of a factor 2 in both size (272 -> 128 bytes) and time (0.2 -> 0.1 us) for each created Property (always the same name and doc). The drawback of the approach is that if we pass a temporary string to the Property constructor we get undefined behaviour.
parent
6a4e61c0
No related branches found
No related tags found
Showing
- GaudiAlg/GaudiAlg/GaudiAlgorithm.h 2 additions, 2 deletionsGaudiAlg/GaudiAlg/GaudiAlgorithm.h
- GaudiAlg/GaudiAlg/GaudiTool.h 2 additions, 2 deletionsGaudiAlg/GaudiAlg/GaudiTool.h
- GaudiCoreSvc/src/JobOptionsSvc/JobOptionsSvc.cpp 16 additions, 6 deletionsGaudiCoreSvc/src/JobOptionsSvc/JobOptionsSvc.cpp
- GaudiHive/src/CPUCruncher.cpp 22 additions, 12 deletionsGaudiHive/src/CPUCruncher.cpp
- GaudiKernel/GaudiKernel/AlgTool.h 4 additions, 4 deletionsGaudiKernel/GaudiKernel/AlgTool.h
- GaudiKernel/GaudiKernel/Algorithm.h 2 additions, 2 deletionsGaudiKernel/GaudiKernel/Algorithm.h
- GaudiKernel/GaudiKernel/CArrayAsProperty.h 2 additions, 2 deletionsGaudiKernel/GaudiKernel/CArrayAsProperty.h
- GaudiKernel/GaudiKernel/DataObjIDProperty.h 7 additions, 7 deletionsGaudiKernel/GaudiKernel/DataObjIDProperty.h
- GaudiKernel/GaudiKernel/DataObjectHandleProperty.h 2 additions, 2 deletionsGaudiKernel/GaudiKernel/DataObjectHandleProperty.h
- GaudiKernel/GaudiKernel/Property.h 16 additions, 15 deletionsGaudiKernel/GaudiKernel/Property.h
- GaudiKernel/GaudiKernel/PropertyHolder.h 17 additions, 17 deletionsGaudiKernel/GaudiKernel/PropertyHolder.h
- GaudiKernel/GaudiKernel/PropertyMgr.h 39 additions, 39 deletionsGaudiKernel/GaudiKernel/PropertyMgr.h
- GaudiKernel/src/Lib/DataObjIDProperty.cpp 2 additions, 2 deletionsGaudiKernel/src/Lib/DataObjIDProperty.cpp
- GaudiKernel/src/Lib/DataObjectHandleProperty.cpp 1 addition, 1 deletionGaudiKernel/src/Lib/DataObjectHandleProperty.cpp
- GaudiKernel/src/Lib/Property.cpp 6 additions, 6 deletionsGaudiKernel/src/Lib/Property.cpp
- GaudiKernel/src/Lib/PropertyMgr.cpp 10 additions, 10 deletionsGaudiKernel/src/Lib/PropertyMgr.cpp
Loading
Please register or sign in to comment