Project

General

Profile

Bug #24720

FragmentBuffer's Buffer Mode is slow to process large buffers

Added by Eric Flumerfelt 4 months ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
Start date:
08/05/2020
Due date:
% Done:

0%

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

Description

During ICARUS testing, we were creating Buffer mode requests for over 30,000 Fragments. I determined that the addFragment calls were too slow to keep up with that Fragment rate, and have made some improvements to ContainerFragment to allow much more speed when adding Fragments in bulk to a ContainerFragment.

History

#1 Updated by Eric Flumerfelt 4 months ago

  • Status changed from New to Resolved

I've implemented fixes on the following branches:
artdaq: bugfix/24720_FragmentBuffer_UseAddFragments
artdaq-core: bugfix/24720_ContainerFragment_AddFragments

The artdaq-core changes result in an extremely large performance improvement when adding many Fragments to a ContainerFragment (part of the artdaq-core branch is a performance test in ContainerFragment_t):

08-05 12:20:43.676117 ContainerFragment_t nfo Adding 30000 Fragments individually took 41948716 us
08-05 12:20:43.717783 ContainerFragment_t nfo Adding 30000 Fragments in a group took 34007 us

#2 Updated by Eric Flumerfelt 4 months ago

Branches merged into develop after successful testing at ICARUS.

#3 Updated by Eric Flumerfelt 4 months ago

  • Target version set to artdaq v3_09_01
  • Status changed from Resolved to Closed

Also available in: Atom PDF