accelerating a function that spends a lot of time in ncread

4 次查看(过去 30 天)
The Matlab profiler shows a function I wrote spends most of its time executing ncread many times to get scalers and array subsets from a single file (actually a NetCDF THREDDS aggregation). My question is: Might I get a significant speed-up using lower level functions, i.e. open the file once with netcdf.open, use netcdf.getVar for reads, and then close it?

回答(1 个)

Stephen
Stephen 2018-9-14
You might.
Have you tried a simple script encasing your proposed netcdt.open and .getVar calls inside the "tic" and "toc"?
It is unclear from the data provided. How many times are you calling ncread? How much time does it take per call? I would compare the profiler results against tic/toc benchmarking of the commands you're thinking of using. If the new functions take a lot less time, it might be worth modifying your code to use those commands.

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by