Skip to content

Conversation

@jenshnielsen
Copy link
Collaborator

No description provided.

@codecov
Copy link

codecov bot commented Dec 12, 2025

Codecov Report

❌ Patch coverage is 67.28972% with 35 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.79%. Comparing base (92858ca) to head (41f6b9d).
⚠️ Report is 23 commits behind head on main.

Files with missing lines Patch % Lines
src/qcodes/dataset/descriptions/dependencies.py 65.30% 34 Missing ⚠️
src/qcodes/dataset/measurements.py 85.71% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7712      +/-   ##
==========================================
+ Coverage   59.77%   59.79%   +0.01%     
==========================================
  Files         352      352              
  Lines       31688    31788     +100     
==========================================
+ Hits        18942    19007      +65     
- Misses      12746    12781      +35     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

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 introduces performance optimizations to the dataset storage system by creating a frozen, immutable version of InterDependencies_ that caches expensive graph-related lookups. The changes aim to reduce overhead when storing data by avoiding repeated graph traversals.

Key Changes

  • Introduced FrozenInterDependencies_ class that wraps InterDependencies_ with immutability and caching of expensive operations
  • Extracted _invalid_subsets helper method from validate_subset to enable caching in the frozen implementation
  • Modified Measurement.run() to use FrozenInterDependencies_ instead of mutable InterDependencies_

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.

File Description
src/qcodes/dataset/measurements.py Updated to wrap interdependencies in FrozenInterDependencies_ when creating a Runner, and added import for the new class
src/qcodes/dataset/descriptions/dependencies.py Added FrozenInterDependencies_ class with caching for properties and methods, extracted _invalid_subsets helper method, and implemented immutability constraints

@jenshnielsen jenshnielsen marked this pull request as ready for review December 12, 2025 14:38
@jenshnielsen jenshnielsen requested a review from a team as a code owner December 12, 2025 14:38
@jenshnielsen jenshnielsen added this pull request to the merge queue Dec 12, 2025
Merged via the queue into microsoft:main with commit 6bbb13b Dec 12, 2025
18 checks passed
jenshnielsen added a commit that referenced this pull request Dec 12, 2025
Remove graph related overhead from data storage
@jenshnielsen jenshnielsen deleted the improve_speed branch December 15, 2025 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants