-
Notifications
You must be signed in to change notification settings - Fork 6
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
Add Optional In-Built ThreadLocal Arrays for Metadata #59
Conversation
The table contains timings in milliseconds for doing 2**28 get_metadata_domain_list calls. The first column contains timings for performing These numbers do not really show it, but I would still suspect that large-enough, preallocated, thread-local byte arrays would be the best for lowest latency. |
@jamesmcclain My 2¢ What I'd prefer to see is these methods just return the data that was requested, without any pre-allocated array being passed in... IOW:
|
I would like to go ahead a merge this since it does address the metadata performance concerns. We can revisit the issue if the API is not what is wanted (please keep in mind that this library is intended to be a down-and-dirty interface, not an API per se [GDALRasterSource is the API]). |
Adds
get_metadata_domain_list(long token, int dataset, int attempts, int band_number, String[][] domain_list)
int get_metadata(long token, int dataset, int attempts, int band_number, String domain, String[][] list)
int get_metadata_item(long token, int dataset, int attempts, int band_number, String key, String domain, String[] value)
A string array of the form
String[1][0]
should be passed as the last argument to the first one. When the call returns, the array will be of the formString[1][n]
with the n domain list items stored within. Similarly for the second one. The third one should be passed a String array of the formString[1]
, upon return it will contain the metadata item.Depends on #58
Closes #54