What platform were you in? If you were in a Linux system, it is possible that the second time, if done right after the first time, could be faster because Linux may have cache all data files in memory if the memory is larger than all files data read. If you run the same thing 3 times in a row and if there is little change in performance between the second and third runs, the kernel memory caching could be the reason.
Note that what I offered is a possible reason. Without studying the design and implementation of your software, I can't say for sure that is the reason of the improvement. About why your database design is slower than the original API read, it is hard to determine why it is slower without studying your implementation. How much slower did you observe? Is it just 10-20% slower or is it orders of magnitude slower? -Albert Cheng On Mar 28, 2014, at 11:16 AM, Nyamtulga Shaandar <[email protected]<mailto:[email protected]>> wrote: Hi I am totally new to hdf5. Lately, I replicated a database to hdf5 format and created API in C for it.But when I read huge compound array from my database first time, it is slower than original API (also in C) which is reading same info by parsing from a hierarchical text database. When I run my software second time to do same thing, time performance gets little bit better, but still slower than original one. So my question is:Is it an expected behaviour? _hdf5_status = H5Dread( _hdf5_dataset_id, _hdf5_memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, tempC); tempC is dynamically allocated compound array. _______________________________________________ Hdf-forum is for HDF software users discussion. [email protected]<mailto:[email protected]> http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
_______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
