Replies: 1 comment
-
|
Related to: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As discussed at the July 2025 developer retreat (FNAL SSO required), we believe we need to support persistent references (i.e. the equivalent of
art::Ptr<T>objects). We considered several options for creating the references:❌ By index, framework independent (creation & input): framework independent. Data-product usage explicit (clear memory management semantics). Configuration is verbose, code is verbose. Inefficiency of reading in all hit collections, not just the ones dereferenced. Alter allowed signatures of algorithms to be registered. Will not pursue.
❌ By index, framework dependent (creation & input): framework independent. Data-product usage explicit (clear memory management semantics). Configuration is verbose, code could depend on framework helpers to be less verbose. Inefficiency of reading in all hit collections, not just the ones dereferenced. Alter allowed signatures of algorithms to be registered. Will not pursue.
❌ By reference, framework independent (creation & input): Retain framework independence, but writing data translating from framework-independent references to persistable references is untenable. Reading is possible. Will not pursue.
👀 ✅ By reference, framework dependent (creation & input): Lose framework independence, but based on well-known approach that supports inter-product references within the same data cell. Will explore.
👀 By reference, framework-dependent (creation) and -independent (input): Conceptual data products that have persistent references as data members must be created according to a layout that is framework dependent; such products could be used/read according to a layout that is framework-independent. Will explore.
✅ By value: No inter-product reference necessary. Data product (element) is copied. Memory management could be an issue. Data duplication on file is an issue. Allowed.
Of the six options, only options 4–6 are candidates for further consideration. Options 4 and 6 will be supported, with option 4 requiring further research to determine how to support inter-data-cell references. Option 5 is attractive but requires research.
Beta Was this translation helpful? Give feedback.
All reactions