Project

General

Profile

Support #6401

Review the data product classes structure

Added by Gianluca Petrillo almost 7 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Experiment:
-
Co-Assignees:
Duration:

Description

The good design of data product classes is capital for the performance of art.
Among the things to be checked:
- presence of dummy copy and move constructor, assignment operators and destructors: the presence of a destructor should, and the presence of a copy or move constructor or operator will, stop the compiler from generating automatic code for moving data. This will impact the performance in places where a move could occur and instead a copy will be used
- large structures at default construction level for data products will have a bad impact; a data product is what is put in the event (edm::Event::put), and since we most often use @std::vector@s we should be safe from this point of view
- large structures anywhere in the data products have a dramatic impact the memory and speed

History

#1 Updated by Gianluca Petrillo almost 7 years ago

  • Assignee set to Gianluca Petrillo

#2 Updated by Lynn Garren almost 7 years ago

  • Status changed from New to Assigned

#3 Updated by Gianluca Petrillo about 6 years ago

The revised version of raw::RawDigit, recob::Wire, recob::Hit and recob::Cluster has been delivered as LArSoft v04_00_00.

#4 Updated by Lynn Garren about 6 years ago

  • Tracker changed from Bug to Support
  • Status changed from Assigned to Resolved

#5 Updated by Lynn Garren about 6 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF