Skip to content
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

Merged
merged 1 commit into from
Jan 24, 2023
Merged

Conversation

Ri0n
Copy link
Contributor

@Ri0n Ri0n commented Jan 13, 2023

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

@tbeu
Copy link
Owner

tbeu commented Jan 14, 2023

@Ri0n Can you please force-push again to trigger the Travis CI pipeline. Thanks.

@Ri0n Ri0n force-pushed the build-variable-paths-master branch from 37e899d to 777645f Compare January 15, 2023 10:48
@coveralls
Copy link

Coverage Status

Coverage: 82.479% (+0.08%) from 82.399% when pulling 777645f on Ri0n:build-variable-paths-master into ae8a9bd on tbeu:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage: 82.479% (+0.08%) from 82.399% when pulling 777645f on Ri0n:build-variable-paths-master into ae8a9bd on tbeu:master.

Copy link
Owner

@tbeu tbeu left a 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.

@tbeu tbeu merged commit 792af49 into tbeu:master Jan 24, 2023
@tbeu
Copy link
Owner

tbeu commented Jan 24, 2023

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.

tbeu added a commit that referenced this pull request Aug 11, 2023
@tbeu
Copy link
Owner

tbeu commented Aug 11, 2023

I needed to revert the changes by 4459088 to make the testsuite passing again,

@Ri0n
Copy link
Contributor Author

Ri0n commented Aug 11, 2023

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.

tbeu added a commit that referenced this pull request Oct 23, 2023
* 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
seanm pushed a commit to seanm/matio that referenced this pull request Jan 31, 2024
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>
seanm pushed a commit to seanm/matio that referenced this pull request Jan 31, 2024
seanm pushed a commit to seanm/matio that referenced this pull request Jan 31, 2024
* 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
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.

3 participants