mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-11-27 07:30:33 +08:00
ee509ff4f3
corresponding HDF5 operations. re: github issue https://github.com/Unidata/netcdf-c/issues/908 also in reference to https://github.com/pydata/xarray/issues/2004 The netcdf-c library has implemented the nc_get_vars and nc_put_vars operations as element at a time. This has resulted in very slow operation. This pr attempts to improve the situation for netcdf-4/hdf5 files by using the slab operations provided by the hdf5 library. The new implementation passes the get/put vars stride information down to the hdf5 slab operations. The result appears to improve performance significantly. Some simple tests on large 2-D arrays shows speedups in excess of 150. Misc. other changes: 1. fix bug in ncgen/semantics.c; using a list's allocated length instead of actual length. 2. Added a temporary hook in the netcdf library plus a performance test case (tst_varsperf.c) to estimate the speedup. After users have had some experience with this, I will remove it, probably after the 4.7 release. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
error4.c | ||
Makefile.am | ||
nc4attr.c | ||
nc4dim.c | ||
nc4dispatch.c | ||
nc4grp.c | ||
nc4internal.c | ||
nc4mem.c | ||
nc4memcb.c | ||
nc4printer.c | ||
nc4type.c | ||
nc4var.c | ||
ncfunc.c | ||
ncindex.c |