-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Don't use slow H5Iget_name #198
Conversation
@Ri0n Can you please force-push again to trigger the Travis CI pipeline. Thanks. |
37e899d
to
777645f
Compare
1 similar comment
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.
Thank you for the contibution.
Argh, I missed that #198 failed the test suite in 18 tests, see https://app.travis-ci.com/github/tbeu/matio/jobs/593339008#L5197 Unfortunately, this is hidden and not marked as failure by Travis CI. |
I needed to revert the changes by 4459088 to make the testsuite passing again, |
sure. I had no time to take a look at this myself. but the second patch I provided we currently use in production without any issue. |
* The performance gain is obtained by removing the slow HDF5 API function H5Iget_name being the main bottleneck. Handles of HDF5 groups or datasets are now kept open for the lifetime of the matvar_t instance. * As a side-effect, the hdf5_name could be removed from matvar_t.internal, too. * Fix reference counting in Mat_VarDuplicate * As reported by #65 and #198
See https://forum.hdfgroup.org/t/h5i-get-name-call-is-very-slow-for-hdf5-file-5-gb/8246 Co-authored-by: EXTERNAL Ilinykh Sergey (EPAM, ETAS-DAP/ENG-HS) <Sergey_Ilinykh@epam.com>
This reverts commit 792af49.
* The performance gain is obtained by removing the slow HDF5 API function H5Iget_name being the main bottleneck. Handles of HDF5 groups or datasets are now kept open for the lifetime of the matvar_t instance. * As a side-effect, the hdf5_name could be removed from matvar_t.internal, too. * Fix reference counting in Mat_VarDuplicate * As reported by tbeu#65 and tbeu#198
we had files with approximately same data in mat5 and mat73/hdf5 format.
reading of mat73 file was many times slower than mat5. It turned out Matio calls H5Iget_name way too often, and H5Iget_name is a very resource-expensive function.
See similar issue https://forum.hdfgroup.org/t/h5i-get-name-call-is-very-slow-for-hdf5-file-5-gb/8246