root
root copied to clipboard
[ntuple] Mark RField methods as final and remove duplicate implementations
- Mark (most)
RFieldspecializations asfinal; the only exception isRField<std::array<ItemT, N>>which is the base class ofRField<ItemT[N]>. - Mark (most) overriden functions in the
RFieldBasehierarchy as final; the only exception isRSimpleField::GenerateColumnswhich is overriden byRRealField. - 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 whenCloneing a model. So if they are not performant, we have to fix them anyway. For completeness, there seems to be no performance change in theiotoolsbenchmarks (with hot cache, to put emphasis on the RNTuple implementation).
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.