-
Notifications
You must be signed in to change notification settings - Fork 84
feat: implement caching support for RNTuple reading #1513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements caching support for RNTuple reading and includes performance improvements through buffer pre-allocation and elimination of concatenation steps. The changes refactor the page reading logic to use pre-allocated buffers and introduce array caching capabilities.
Key changes:
- Added array caching support via
array_cacheparameter throughout the RNTuple reading pipeline - Refactored
read_col_pagesandread_col_pageintoread_cluster_rangeandread_cluster_pageswith pre-allocated buffers - Modified post-processing operations to work in-place on buffers instead of creating new arrays
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/uproot/models/RNTuple.py | Core implementation of caching and buffer pre-allocation refactoring |
| src/uproot/behaviors/RNTuple.py | Integration of array caching into the arrays() method |
| tests/test_1191_rntuple_fixes.py | Updated test to use renamed method and added entry_start parameter testing |
| tests-cuda/test_1411_rntuple_physlite_ATLAS.py | Updated comment to reflect current AOD container interpretation |
| tests-cuda/test_1223_more_rntuple_types.py | Simplified test filter pattern and reformatted comment |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
This PR implements caching for RNTuple reading. I also did some useful refactoring that will help with Virtual arrays, and will also improve performance since all the buffers are pre-allocated and concatenation steps were removed.