Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up unneeded object lookups... #1128

Merged

Conversation

edhartnett
Copy link
Contributor

@edhartnett edhartnett commented Aug 29, 2018

In many cases in libhdf5 code we were doing an additional, unnecessary lookup for the NC *, which is not used in the libhdf5 code anyway. These are cleaned up in this PR. We still are doing two file lookups per call, one in the dispatch layer and one in libhdf5. (See my comment in #1056 for how this may be eliminated in a future effort.)

In nc4internal.c we had three different functions that did a file lookup, now nc4_find_nc_grp_h5() is where this code lives, and it accepts NULL parameters for whatever parameters the caller is not interested in (similar to nc_inq). The other functions are retained but now just call nc4_find_nc_grp_h5() with some NULLs.

The function nc4_rec_find_nc_type() has been eliminated - now the nclist functions are called directly. This matches usage with vars, groups, atts, and other nclist lists.

Also removed unnecessary initialization of some variables that do not need it. Although in many cases the compiler will strip these initializations, we don't want to add extra code or extra operations we don't need. Some of these functions may be called from some very deep loops.

Also documentation fixes.

Part of #965.
Part of #856.

@edhartnett edhartnett reopened this Sep 6, 2018
@edhartnett
Copy link
Contributor Author

@WardF if we could get these merged, I will put up the fixes for the benchmarking programs. It would be good to get the working benchmarks into the release, as I am starting to use them for HPC performance testing.

@WardF WardF added this to the 4.6.2 milestone Sep 14, 2018
@WardF WardF self-assigned this Sep 14, 2018
@WardF WardF merged commit cf1f737 into Unidata:master Sep 14, 2018
@edhartnett
Copy link
Contributor Author

Thanks!

@edhartnett edhartnett deleted the ejh_hdf5_sep_next branch September 14, 2018 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants