The call to getObjnameByIdx is a bottleneck, the code is spending 80% of it’s time there , not reading the DataSets!
There must be a more efficient way to do this.
Hi,
100,000 + datasets.
It is very clear that when using getObjnameByIdx there is a linear search going on - it is not random access.
By replacing my loop with H5Giterate I was able to get a speed up of over 300x (!)
That would have been very useful to note in the HDF documentation that getObjnameByIdx is not random access and has performance issues with large # of subobjects.