-
Notifications
You must be signed in to change notification settings - Fork 344
Remove graph related overhead from data storage #7712
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
Conversation
Codecov Report❌ Patch coverage is
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. 🚀 New features to boost your workflow:
|
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 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 wrapsInterDependencies_with immutability and caching of expensive operations - Extracted
_invalid_subsetshelper method fromvalidate_subsetto enable caching in the frozen implementation - Modified
Measurement.run()to useFrozenInterDependencies_instead of mutableInterDependencies_
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 |
df0f207 to
1543802
Compare
Remove graph related overhead from data storage
No description provided.