Skip to content

DPL: refactor InputSpan#15256

Open
ktf wants to merge 2 commits intoAliceO2Group:devfrom
ktf:pr15256
Open

DPL: refactor InputSpan#15256
ktf wants to merge 2 commits intoAliceO2Group:devfrom
ktf:pr15256

Conversation

@ktf
Copy link
Copy Markdown
Member

@ktf ktf commented Apr 3, 2026

Now that navigating the MessageSet does not have an index anymore
it does not make sense to use a random accessor to implement the
InputSpan::Iterator, because that results in an O(N^2) loop for
normal linear iterations. It is much better to simply implement
a proper advancement operator, so that looping stays O(N).

This resumes the performance when iterating on old-style multiparts
which are apparently still used in some cases.

General modernization of InputSpan also done.

@ktf ktf requested review from a team, Barthelemy, justonedev1 and knopers8 as code owners April 3, 2026 08:27
@ktf
Copy link
Copy Markdown
Member Author

ktf commented Apr 3, 2026

@ehellbar this possibly resumes performance of the QC task which got slower.

@alibuild
Copy link
Copy Markdown
Collaborator

alibuild commented Apr 3, 2026

Error while checking build/O2/fullCI_slc9 for 5ea5aae at 2026-04-03 15:30:

## sw/BUILD/QualityControl-latest/log
/sw/SOURCES/QualityControl/v1.189.0/v1.189.0/Framework/src/TaskRunner.cxx:205:32: error: 'const class o2::framework::InputSpan' has no member named 'header'
ninja: build stopped: cannot make progress due to previous errors.

Full log here.

ktf added 2 commits April 3, 2026 18:30
Now that navigating the MessageSet does not have an index anymore
it does not make sense to use a random accessor to implement the
InputSpan::Iterator, because that results in an O(N^2) loop for
normal linear iterations. It is much better to simply implement
a proper advancement operator, so that looping stays O(N).

This resumes the performance when iterating on old-style multiparts
which are apparently still used in some cases.

General modernization of InputSpan also done.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants