As the numbers of variables, dimensions, and attributes can be different significantly,
using the same hash table size will not run efficiently and can waste memory allocated.
This PR allows different hash table sizes, which can also be changed by users through
PnetCDF hints.
4 new PnetCDF user hints have been added.
nc_hash_size_dim: Set hash table size for dimension names
nc_hash_size_var: Set hash table size for variable names
nc_hash_size_gattr: Set hash table size for global attribute names
nc_hash_size_vattr: Set hash table size for variable attribute names
3 new test programs have beed added to test hashing performance.
As the numbers of variables, dimensions, and attributes can be different significantly, using the same hash table size will not run efficiently and can waste memory allocated. This PR allows different hash table sizes, which can also be changed by users through PnetCDF hints.
4 new PnetCDF user hints have been added.
3 new test programs have beed added to test hashing performance.