Skip to content

Conversation

@ariostas
Copy link
Collaborator

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.

@ariostas ariostas added the next-release Required for the next release label Oct 20, 2025
@ariostas ariostas marked this pull request as ready for review October 23, 2025 14:27
@ariostas ariostas requested review from Copilot and ianna October 23, 2025 14:27
Copy link

Copilot AI left a 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_cache parameter throughout the RNTuple reading pipeline
  • Refactored read_col_pages and read_col_page into read_cluster_range and read_cluster_pages with 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.

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

Labels

next-release Required for the next release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant