FINAM benchmarks
Micro-benchmarks and profiling for important FINAM runs functions.
Note that plot panels have different units!
ms
is milliseconds (1/1,000 second), us
is microseconds (1/1,000,000 second).
Open images in a separate browser tab for tooltips showing exact values.
Full runs
Profiling data for full runs can be found in the latest job artifacts.
Simple link, 365 steps
Simple run over one year with two coupled components with daily time step.
Groups left to right:
- Using numpy arrays, no data copy, no units conversion
- Using numpy arrays, with data copy, no units conversion
- Using numpy arrays, no data copy, with units conversion
SDK
Push & pull
Push & pull using numpy arrays, with and without units conversion.
Push & pull using zero memory limit. I.e. everything written to and re-read from file.
Data
Tools
Functions in data/tools
Functions in data/tools
with longer run time
Grids
Grid creation
Grid functions
Grid functions with longer run time
Adapters
Regridding
Regridding adapters, dependent on grid size.
Regridding from a uniform grid to another uniform grid of the same size, with slightly offset origin.
For more performant regridding, see the
ESMPy-based regridding adapter in
finam-regrid
(benchmarks)