Skip to content
Snippets Groups Projects

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

tools

SDK

Push & pull

Push & pull using numpy arrays, with and without units conversion.

sdk-io

Push & pull using zero memory limit. I.e. everything written to and re-read from file.

sdk-io-mem

Data

Tools

Functions in data/tools

tools

Functions in data/tools with longer run time

tools-slow

Grids

Grid creation

create-grids

Grid functions

grid-functions

Grid functions with longer run time

grid-functions-slow

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)

adapters-regrid