Skip to content

[skip-ci][ntuple] add SoA design document - #23202

Draft
jblomer wants to merge 5 commits into
root-project:masterfrom
jblomer:ntuple-soa-doc
Draft

[skip-ci][ntuple] add SoA design document#23202
jblomer wants to merge 5 commits into
root-project:masterfrom
jblomer:ntuple-soa-doc

Conversation

@jblomer

@jblomer jblomer commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Part of #19230

This should be merged once the first complete version of the code is ready. Submitted as a preview PR.

@jblomer jblomer self-assigned this Aug 31, 2026
@jblomer
jblomer requested a review from silverweed as a code owner August 31, 2026 13:16
@jblomer
jblomer marked this pull request as draft August 31, 2026 13:16
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 12h 29m 3s ⏱️
 3 860 tests  3 855 ✅ 0 💤 5 ❌
78 655 runs  78 649 ✅ 1 💤 5 ❌

For more details on these failures, see this check.

Results for commit 8333a10.

@jblomer jblomer changed the title [ski-ci][ntuple] add SoA design document [skip-ci][ntuple] add SoA design document Sep 1, 2026
@jblomer jblomer closed this Sep 1, 2026
@jblomer jblomer reopened this Sep 1, 2026
Comment thread tree/ntuple/doc/README.md
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md Outdated
Comment thread tree/ntuple/doc/SoA.md
@jblomer
jblomer force-pushed the ntuple-soa-doc branch 2 times, most recently from 2fc5b05 to 95d209d Compare September 3, 2026 09:39
Comment thread tree/ntuple/doc/SoA.md
Comment on lines +94 to +97
For the SoA vectors, the `ROOT::RVec` type is used because it can own or adopt memory.
As a result, optimized code can prepare a memory region and initialize an `RVec` with that region and the right length
in order to directly read into adopted memory.
SoA fields can also be read without any additional logic, in which case the `RVec`s own their memory.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While reading through the document I thought it would have been helpful to also have small snippets exemplifying the reading and writing of a SoA type, perhaps including also the case with the preparation of the memory region. Is it missing or out of scope for this document?

@jblomer jblomer Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is rather for the tutorial (which exists) than for this document.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants