root icon indicating copy to clipboard operation
root copied to clipboard

[ntuple] Mark RField methods as final and remove duplicate implementations

Open hahnjo opened this issue 1 year ago • 1 comments

  • Mark (most) RField specializations as final; the only exception is RField<std::array<ItemT, N>> which is the base class of RField<ItemT[N]>.
  • Mark (most) overriden functions in the RFieldBase hierarchy as final; the only exception is RSimpleField::GenerateColumns which is overriden by RRealField.
  • Remove many duplicate implementations in the compile-time specialized classes: The reasoning is that we use the type-erased implementations with RFieldBase::Create, when reconstructing a model from disk, or when Cloneing a model. So if they are not performant, we have to fix them anyway. For completeness, there seems to be no performance change in the iotools benchmarks (with hot cache, to put emphasis on the RNTuple implementation).

hahnjo avatar Oct 20 '24 10:10 hahnjo

Test Results

    17 files      17 suites   3d 19h 37m 6s :stopwatch:  2 714 tests  2 712 :white_check_mark: 0 :zzz: 2 :x: 43 528 runs  43 526 :white_check_mark: 0 :zzz: 2 :x:

For more details on these failures, see this check.

Results for commit 5e6d5a5c.

github-actions[bot] avatar Oct 20 '24 12:10 github-actions[bot]