Skip to content
Snippets Groups Projects

add NtupleSvc basketsize property and forward in RCWNTupleCnv Branch creation

Merged Renato Quagliani requested to merge lhcb/Gaudi:rquaglia_ntuplesvc_basketsize into v38r1-patches

The goal of the change is to be able to control the basketsize call in RCWNTupleCnv.cpp by configuring the NTupleSvc property. It has been observed that for most use cases of FunTuple controlling the basket size can reduce significantly by more than 30-40% the memory consumption in case many TTrees are created in a single job. More tests will be documented here.

Since RCWNTupleCnv has as private a INTupleSvc, a new virtual function is defined for INTupleSvc

FYI: @clemenci , @sponce , let me know if this is what you had in mind as change and if the target branch is fine.

MR is in draft , since i am testing changes in LHCb to be sure this can be controlled from option file.

Comes together with lhcb/LHCb!4697 (merged)

Edited by Renato Quagliani

Merge request reports

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Renato Quagliani changed target branch from master to v38r1-patches

    changed target branch from master to v38r1-patches

    • Resolved by Renato Quagliani

      I have two comments.

      First, when you modify an interface you should update the line DeclareInterfaceID

      Second, INTupleSvc is, in principle, technology agnostic, so it doesn't make much sense to add a technology specific method. This holds for the property I suggested to add to NTupleSvc too, but the property can be optional and in RCWNTupleCnv.cpp you can check if the property exists and use it if it is the case.

      OTOH, at the moment we only support one backend in NTUpleSvc (ROOT) and, for me, NTupleSvc is dead and should be removed in favour of the new thread-safe NTuple writer introduced with !1577 (merged) (@staider is working on a port of LHCb's FunTuple to the new NTuple writer), so the refactoring I'm suggesting is not really a blocker.

  • added 1 commit

    • 2822fb52 - clean up following Marco suggestions

    Compare with previous version

  • added 1 commit

    • 301920b2 - adapt to use a simpler wrapper

    Compare with previous version

  • added 1 commit

    • 3c3e02ee - remove warning message, tested to load the option from lbexec

    Compare with previous version

  • If there are tests to update, what would be the way to do it?

    I think if a new DaVinci release is planned soon maybe it would be good to include this MR and the associated one in LHCb?

    Edited by Renato Quagliani
  • Renato Quagliani resolved all threads

    resolved all threads

  • Renato Quagliani marked this merge request as ready

    marked this merge request as ready

  • Marco Clemencic added 2 commits

    added 2 commits

    • affa0961 - Update MetadataSvc test reference
    • 57f93c3f - Update copyright year and fix formatting

    Compare with previous version

  • Marco Clemencic approved this merge request

    approved this merge request

  • Edited by Software for LHCb
  • mentioned in commit f79560e3

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading