-
Notifications
You must be signed in to change notification settings - Fork 8
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
I/O performance improvements #100
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #100 +/- ##
==========================================
+ Coverage 74.45% 74.69% +0.23%
==========================================
Files 45 45
Lines 2815 2908 +93
==========================================
+ Hits 2096 2172 +76
- Misses 719 736 +17 ☔ View full report in Codecov by Sentry. |
@oschulz anything to be worried about from the Julia side? |
The best thing would be to replace the HDF5 files (read and write again with these improvements) in the legend-testdata repo as part of a PR there. Then we can test on Julia and finally merge into legend-testdata. |
Added a change to read files with locking=False (see #78 (comment)) |
_serializers.read.composite
tostore.read
andcore.read
. Only the_serializers
functions are using the low level API;read
itself is still usingh5py.File
to open the file get the top level group.Among these changes, the low level API made the biggest difference (a factor of almost 2), while the other two changes combine for an improvement of maybe 1.5 or so. The low level API makes a difference without reprocessing our files, while the other two changes happen at file write time, so will only be noticed after reprocessing