Commit Graph

9519 Commits

Author SHA1 Message Date
Ward Fisher
c44508b749
Merge pull request #2682 from DennisHeimbigner/ncdumptests.dmh
Fix some dependency conditions between some ncdump tests.
2023-06-07 14:55:21 -06:00
Ward Fisher
3695cc0668
Merge branch 'main' into ncdumptests.dmh 2023-06-07 14:55:11 -06:00
Ward Fisher
a082acc9dc
Merge pull request #2663 from poelmanc/patch-1
CMakeLists.txt use ON vs yes, indent
2023-06-07 13:21:09 -06:00
Ward Fisher
032ab7c416
Merge pull request #2699 from DennisHeimbigner/vlenperf.dmh
Improve performance of the nc_reclaim_data and nc_copy_data functions.
2023-06-07 10:49:56 -06:00
Ward Fisher
258ad3fabe
Merge branch 'main' into vlenperf.dmh 2023-06-06 15:59:04 -06:00
Ward Fisher
a3a62f4536 Trigger Github Actions 2023-06-06 15:27:42 -06:00
Ward Fisher
078020e450
Merge pull request #2680 from DennisHeimbigner/sepdata.dmh
Remove obsolete code
2023-06-05 15:41:58 -06:00
Dennis Heimbigner
402123d6f5 Remove conflicts 2023-06-03 14:46:53 -06:00
Ward Fisher
3e1280b24b
Merge pull request #2703 from WardF/fix_cmake_shell_rwx.wif
Adding a workaround for older versions of cmake
2023-05-30 10:26:42 -06:00
Ward Fisher
43b03a4da7
Merge pull request #2690 from DennisHeimbigner/verifyhost.dmh
Fix handling of CURLOPT_CAINFO and CURLOPT_CAPATH
2023-05-30 10:26:02 -06:00
Ward Fisher
d3c2cf236f Adding a workaround for older versions of cmake that are still common in the wild, rather than force manual upgrades. 2023-05-25 13:23:21 -05:00
Ward Fisher
a14bfde418
Merge branch 'main' into verifyhost.dmh 2023-05-25 11:54:49 -06:00
Ward Fisher
feaa6cd676
Merge pull request #2659 from DWesl/patch-2
CI: Test --without-plugin-dir on Cygwin
2023-05-23 12:05:14 -06:00
Ward Fisher
dd75fa343c
Merge branch 'main' into patch-2 2023-05-23 11:15:04 -06:00
Dennis Heimbigner
29740be9da update release notes 2023-05-20 17:36:47 -06:00
Dennis Heimbigner
fb40a72b45 Improve performance of the nc_reclaim_data and nc_copy_data functions.
re: Issue https://github.com/Unidata/netcdf-c/issues/2685
re: PR https://github.com/Unidata/netcdf-c/pull/2179

As noted in PR https://github.com/Unidata/netcdf-c/pull/2179,
the old code did not allow for reclaiming instances of types,
nor for properly copying them. That PR provided new functions
capable of reclaiming/copying instances of arbitrary types.

However, as noted by Issue https://github.com/Unidata/netcdf-c/issues/2685, using these
most general functions resulted in a significant performance
degradation, even for common cases.

This PR attempts to mitigate the cost of using the general
reclaim/copy functions in two ways.

First, the previous functions operating at the top level by
using ncid and typeid arguments. These functions were augmented
with equivalent versions that used the netcdf-c library internal
data structures to allow direct access to needed information.
These new functions are used internally to the library.

The second mitigation involves optimizing the internal functions
by providing early tests for common cases. This avoids
unnecessary recursive function calls.

The overall result is a significant improvement in speed by a
factor of roughly twenty -- your mileage may vary. These
optimized functions are still not as fast as the original (more
limited) functions, but they are getting close. Additional optimizations are
possible. But the cost is a significant "uglification" of the
code that I deemed a step too far, at least for now.

## Misc. Changes
1. Added a test case to check the proper reclamation/copy of complex types.
2. Found and fixed some places where nc_reclaim/copy should have been used.
3. Replaced, in the netcdf-c library, (almost all) occurrences of nc_reclaim_copy with calls to NC_reclaim/copy. This plus the optimizations is the primary speed-up mechanism.
4. In DAP4, the metadata is held in a substrate in-memory file; this required some changes so that the reclaim/copy code accessed that substrate dispatcher rather than the DAP4 dispatcher.
5. Re-factored and isolated the code that computes if a type is (transitively) variable-sized or not.
6. Clean up the reclamation code in ncgen; adding the use of nc_reclaim exposed some memory problems.
2023-05-20 17:11:25 -06:00
Ward Fisher
5dedd76de9
Merge branch 'main' into ncdumptests.dmh 2023-05-16 11:22:15 -06:00
Ward Fisher
bfb8a31aed
Merge pull request #2644 from ZhipengXue97/main
Fix potential dead store
2023-05-15 10:38:59 -06:00
Ward Fisher
4b2851d79e
Merge pull request #2686 from DennisHeimbigner/s3update.dmh
Improve S3 documentation, testing and support
2023-05-11 15:31:43 -06:00
Dennis Heimbigner
6c7e668a04 Remove debugging 2023-05-09 21:18:51 -06:00
Dennis Heimbigner
98477b9f25 ## Addendum [5/9/23]
It turns out that attempting to test S3 using a github action secret is a very complex process. So, this was disabled for github actions. However, a new *run_tests_s3.yml* action file was added that will eventually encapsulate S3 testing.
2023-05-09 21:13:49 -06:00
Dennis Heimbigner
d79f08176a Merge branch 'master' into s3update.dmh 2023-05-09 19:31:18 -06:00
Dennis Heimbigner
5e9a3f66d3 Merge remote-tracking branch 'Unidata/main' 2023-05-09 19:30:47 -06:00
Ward Fisher
c82f0236a9
Merge pull request #2695 from mathstuf/hdf5-api-checks
hdf5open: check for the H5L info structure version directly
2023-05-08 14:47:43 -06:00
Ben Boeckel
51cfad2dbf hdf5open: check for the H5L info structure version directly 2023-05-05 12:25:40 -04:00
Dennis Heimbigner
f928428680 remove push trigger 2023-05-03 16:31:39 -06:00
Dennis Heimbigner
912e76e552 Suppress S3 testing in github actions 2023-05-03 16:27:14 -06:00
Dennis Heimbigner
3ac9958ffc creds1 2023-05-02 19:38:30 -06:00
Dennis Heimbigner
c315873af6 Disable s3 tests 2023-05-02 14:51:34 -06:00
Ward Fisher
863fb64d52
Merge pull request #2693 from WardF/fix_cmake_shelltests.wif
Fix a syntax issue in CMakeLists.txt
2023-05-02 14:23:15 -06:00
Dennis Heimbigner
ef55c327b6 secret1 2023-05-02 14:10:02 -06:00
Dennis Heimbigner
eb6c9fa40f chmod 2023-05-02 13:35:22 -06:00
Dennis Heimbigner
b5ea9616e9 profile1 2023-05-02 13:20:09 -06:00
Dennis Heimbigner
38615da3e7 enable s3 testing 2023-05-02 12:55:25 -06:00
Ward Fisher
7f325464df Fix a syntax issue that may have been fouling other things, in cmake shell-script macro. 2023-05-02 09:10:14 -06:00
Dennis Heimbigner
b1b1a3e9c0 Added comment about curl code 2023-05-01 16:34:57 -06:00
Dennis Heimbigner
681abc3fb1 s3-off 2023-04-30 18:41:31 -06:00
Dennis Heimbigner
77ac0e052b debug 2023-04-29 21:33:45 -06:00
Dennis Heimbigner
dcc99e8d8b debug 2023-04-29 21:23:07 -06:00
Dennis Heimbigner
2e7befd209 debug15 2023-04-29 21:22:18 -06:00
Dennis Heimbigner
e8eeaf5f19 debug14 2023-04-29 21:14:57 -06:00
Dennis Heimbigner
908aa20859 debug12 2023-04-29 21:12:16 -06:00
Dennis Heimbigner
6eac55dc44 debug11 2023-04-29 21:01:05 -06:00
Dennis Heimbigner
a97cabfb12 debug10 2023-04-29 20:51:46 -06:00
Dennis Heimbigner
ff6b6a72d1 debug7 2023-04-29 20:40:21 -06:00
Dennis Heimbigner
5be7088c9e debug6 2023-04-29 20:36:18 -06:00
Dennis Heimbigner
75e3012ff3 debug5 2023-04-29 19:45:51 -06:00
Dennis Heimbigner
cccbc2ebea gdb3 2023-04-29 18:32:46 -06:00
Dennis Heimbigner
a443ba8215 gdb2 2023-04-29 18:07:32 -06:00
Dennis Heimbigner
d89a63a1d3 gdb1 2023-04-29 18:00:42 -06:00