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

Use NexusHDF5Descriptor for HDF5 file loaders #37164

Open
2 of 3 tasks
Tracked by #37149
robertapplin opened this issue Apr 12, 2024 · 0 comments
Open
2 of 3 tasks
Tracked by #37149

Use NexusHDF5Descriptor for HDF5 file loaders #37164

robertapplin opened this issue Apr 12, 2024 · 0 comments
Labels
ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS Maintenance Unassigned issues to be addressed in the next maintenance period.

Comments

@robertapplin
Copy link
Contributor

robertapplin commented Apr 12, 2024

Description:
The NexusHDF5Descriptor class has been written for use when loading files of HDF5 format. This class is much quicker to instantiate than the NexusDescriptor class, which can be used for loading either HDF4 or HDF5 files. NexusDescriptor does a walk of the entire file, whereas NexusHDF5Descriptor only reads the top-level groups in the nexus files. Often, reading the top-level groups is enough to perform a confidence check for which Load algorithm should be used.

We therefore want to use the NexusHDF5Descriptor for all Load algorithms which are ONLY used to load HDF5 nexus files (and NOT HDF4!).

The NexusHDF5Descriptor class improves the speed of the Algorithm search process by approximately a factor of 80 for the Load algorithm being searched for. The brown block is the time taken to find the LoadNexusProcessed2 algorithm when using the NexusHDF5Descriptor class. The black block is the time taken to find the LoadNexusProcessed2 algorithm when using the NexusDescriptor class.

Screenshot 2024-03-24 134523

Algorithms which can use NexusHDF5Descriptor

  • LoadNexusProcessed2
  • LoadNexusProcessed
  • More to be found
@robertapplin robertapplin added ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS Maintenance Unassigned issues to be addressed in the next maintenance period. labels Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS Maintenance Unassigned issues to be addressed in the next maintenance period.
Projects
None yet
Development

No branches or pull requests

1 participant