iris icon indicating copy to clipboard operation
iris copied to clipboard

Feature pytest conversion

Open pp-mo opened this issue 2 years ago • 24 comments

For now, just to get a docs build with the pytest style guide from https://github.com/SciTools/iris/pull/5785

pp-mo avatar Mar 12 '24 17:03 pp-mo

:stopwatch: Performance Benchmark Report: fcb1dfa9

Performance shifts
| Change   | Before [23c71445]    | After [fcb1dfa9]    |   Ratio | Benchmark (Parameter)                                                                     |
|----------|----------------------|---------------------|---------|-------------------------------------------------------------------------------------------|
| +        | 1.53±0.05ms          | 1.85±0.02ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)                                            |
| +        | 254±7μs              | 354±3μs             |    1.39 | experimental.ugrid.Mesh.time_add_connectivities(6)                                        |
| +        | 300±6μs              | 406±10μs            |    1.35 | experimental.ugrid.Mesh.time_create(6)                                                    |
| +        | 295±9μs              | 401±8μs             |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)                                    |
| +        | 351±10μs             | 446±10μs            |    1.27 | experimental.ugrid.MeshLazy.time_create(6)                                                |
| +        | 11.4±0.2ms           | 13.7±0.8ms          |    1.21 | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50) |
| +        | 376±9ms              | 532±100ms           |    1.42 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                               |
| +        | 280±2ms              | 360±6ms             |    1.28 | load.StructuredFF.time_structured_load((2, 2, 1000), True)                                |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [23c71445]    | After [fcb1dfa9]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.39±0.1μs           | 4.32±0.02μs         | 0.99    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.92±0.05μs          | 4.98±0.02μs         | 1.01    | coords.AncillaryVariable.time_create                                                                 |
|          | 424±4ns              | 422±4ns             | 1.00    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.91±0.08μs          | 8.91±0.06μs         | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 407±5ns              | 403±7ns             | 0.99    | coords.AuxCoord.time_points                                                                          |
|          | 228±20μs             | 244±20μs            | 1.07    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.4±0.8μs           | 12.8±0.7μs          | 1.03    | coords.AuxCoordLazy.time_create                                                                      |
|          | 230±20μs             | 238±20μs            | 1.04    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.28±0.05μs          | 5.40±0.05μs         | 1.02    | coords.CellMeasure.time_create                                                                       |
|          | 1.11±0.04μs          | 1.11±0.02μs         | 1.00    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±1μs              | 108±2μs             | 0.98    | coords.DimCoord.time_create                                                                          |
|          | 31.7±0.5μs           | 31.2±0.5μs          | 0.98    | coords.DimCoord.time_regular                                                                         |
|          | 381±9ms              | 375±2ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.0±0.4μs           | 58.0±0.4μs          | 0.98    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.7±0.3μs           | 11.1±0.4μs          | 0.95    | cube.AncillaryVariable.time_create                                                                   |
|          | 66.8±0.3μs           | 66.8±0.8μs          | 1.00    | cube.AuxCoord.time_add                                                                               |
|          | 9.78±0.2μs           | 9.39±0.1μs          | 0.96    | cube.AuxCoord.time_create                                                                            |
|          | 5.99±0.05μs          | 6.04±0.05μs         | 1.01    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.49±0.05μs          | 4.48±0.06μs         | 1.00    | cube.AuxCoord.time_return_coords                                                                     |
|          | 41.0±0.5μs           | 40.3±0.5μs          | 0.98    | cube.AuxFactory.time_add                                                                             |
|          | 12.4±0.2μs           | 12.4±0.4μs          | 1.00    | cube.AuxFactory.time_create                                                                          |
|          | 59.0±0.7μs           | 57.7±0.7μs          | 0.98    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.2μs           | 11.4±0.09μs         | 0.98    | cube.CellMeasure.time_create                                                                         |
|          | 52.0±0.4μs           | 51.8±0.4μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.31±0.3μs           | 7.17±0.1μs          | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 131±0.6ms            | 130±0.6ms           | 0.99    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.78±0.1μs           | 6.55±0.07μs         | 0.97    | cube.Cube.time_basic                                                                                 |
|          | 57.7±0.3ns           | 57.6±0.5ns          | 1.00    | cube.Cube.time_rename                                                                                |
|          | 61.8±0.6μs           | 61.1±0.7μs          | 0.99    | cube.Equality.time_equality                                                                          |
|          | 337±10ms             | 326±2ms             | 0.97    | cube.Merge.time_merge                                                                                |
|          | 30.1±3μs             | 27.2±1μs            | 0.90    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.7±2μs             | 29.8±1μs            | 0.94    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 28.5±4μs             | 24.3±0.9μs          | 0.85    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.1±0.5μs           | 19.5±0.4μs          | 1.02    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.1±0.4μs           | 19.2±0.2μs          | 1.01    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.6±0.3μs           | 18.9±0.2μs          | 1.01    | cube.MeshCoord.time_create(6)                                                                        |
|          | 59.5±10μs            | 48.1±7μs            | ~0.81   | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 63.5±5μs             | 60.7±3μs            | 0.96    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 62.0±10μs            | 42.7±4μs            | ~0.69   | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.30±0.4ms           | 2.65±0.2ms          | 1.16    | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 596±7ns              | 601±3ns             | 1.01    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 595±6ns              | 604±9ns             | 1.02    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 22.9±2ms             | 23.3±2ms            | 1.02    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.32±0.04ms          | 2.66±0.01ms         | 1.15    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 24.3±3ms             | 27.7±3ms            | 1.14    | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.51±0.3ms           | 3.96±0.04ms         | 1.13    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 4.08±0.9ms           | 4.04±0.1ms          | 0.99    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 2.78±0.09ms          | 3.20±0.03ms         | 1.15    | experimental.ugrid.ConnectivityLazy.time_create(6)                                                   |
|          | 256±30μs             | 257±7μs             | 1.00    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 246±20μs             | 251±8μs             | 1.02    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.2±0.5ms           | 20.2±0.3ms          | 1.00    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.67±0.1ms           | 2.94±0.04ms         | 1.10    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 23.2±0.9ms           | 22.9±0.8ms          | 0.99    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.81±0.2ms           | 4.27±0.07ms         | 1.12    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.2μs           | 12.9±0.2μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.88±0.05μs          | 4.87±0.04μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.82±0.07μs          | 4.76±0.04μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.22±0.06μs          | 4.96±0.07μs         | 0.95    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.08±0.05μs          | 4.99±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.86±0.1μs           | 5.93±0.09μs         | 1.01    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.84±0.07μs          | 5.84±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.0±1μs             | 44.9±0.3μs          | 0.96    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 83.1±10ms            | 73.6±2ms            | 0.89    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 276±3μs              | 272±3μs             | 0.99    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.00±0.1μs           | 4.97±0.07μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.01±0.08μs          | 4.94±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.45±0.1μs           | 7.33±0.08μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.32±0.1μs           | 7.42±0.04μs         | 1.01    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.4±0.6μs           | 10.5±0.4μs          | 1.01    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 125±9ms              | 119±2ms             | 0.96    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.32±0.04μs          | 5.36±0.1μs          | 1.01    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.23±0.07ms          | 3.67±0.03ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.27±0.09ms          | 3.66±0.04ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 205±3μs              | 201±3μs             | 0.98    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.67±0.1μs           | 3.60±0.04μs         | 0.98    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.11±0.04μs          | 4.16±0.09μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.92±0.06μs          | 2.93±0.08μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 7.55±0.6ms           | 7.43±0.5ms          | 0.98    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 126±8ms              | 122±5ms             | 0.97    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 13.2±1μs             | 11.5±0.6μs          | 0.87    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.33±0.06ms          | 3.68±0.07ms         | 1.11    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.34±0.1ms           | 3.71±0.1ms          | 1.11    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 240±10μs             | 241±10μs            | 1.01    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.56±0.4ms           | 2.47±0.06ms         | 0.96    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.51±0.4ms           | 4.54±0.1ms          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 9.20±1μs             | 7.70±0.4μs          | 0.84    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.8±2μs             | 32.3±1μs            | 0.96    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.5±1μs             | 19.2±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 19.1±4μs             | 15.8±0.8μs          | ~0.82   | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.3±2μs             | 17.0±0.8μs          | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 17.1±2μs             | 16.0±0.4μs          | 0.94    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 20.3±1μs             | 19.2±0.7μs          | 0.95    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 19.9±2μs             | 18.8±0.5μs          | 0.94    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 80.6±9μs             | 77.3±2μs            | 0.96    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 78.1±10ms            | 73.9±2ms            | 0.95    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 368±30μs             | 332±10μs            | 0.90    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.5±0.7μs           | 19.4±2μs            | 1.05    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 18.6±3μs             | 16.9±2μs            | 0.91    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.7±2μs             | 31.6±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.8±4μs             | 29.9±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 504±6ns              | 506±20ns            | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 250±2ms              | 250±2ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 13.9±0.8ms           | 16.0±0.7ms          | 1.15    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 124±3ms              | 139±9ms             | 1.13    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 725±20ms             | 746±20ms            | 1.03    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 87.7±2ms             | 99.3±5ms            | 1.13    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 684±10ms             | 700±10ms            | 1.02    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 570±6μs              | 569±4μs             | 1.00    | import_iris.Iris.time__concatenate                                                                   |
|          | 167±6μs              | 164±2μs             | 0.98    | import_iris.Iris.time__constraints                                                                   |
|          | 100±2μs              | 100±0.9μs           | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 83.8±0.7μs           | 84.5±0.3μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 108±0.5μs            | 109±0.8μs           | 1.01    | import_iris.Iris.time__lazy_data                                                                     |
|          | 785±10μs             | 792±9μs             | 1.01    | import_iris.Iris.time__merge                                                                         |
|          | 70.5±0.9μs           | 71.7±0.4μs          | 1.02    | import_iris.Iris.time__representation                                                                |
|          | 444±10μs             | 440±5μs             | 0.99    | import_iris.Iris.time_analysis                                                                       |
|          | 128±3μs              | 129±2μs             | 1.01    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 97.6±1μs             | 98.6±0.3μs          | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 215±4μs              | 216±2μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 174±6μs              | 168±2μs             | 0.97    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±1μs              | 100±0.9μs           | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 125±0.8μs            | 129±2μs             | 1.03    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 282±1μs              | 282±2μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.0±0.8μs           | 83.5±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 199±2μs              | 200±3μs             | 1.01    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 89.9±1μs             | 91.6±0.7μs          | 1.02    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 166±2μs              | 167±1μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 265±10μs             | 269±5μs             | 1.02    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.6±0.7μs           | 79.4±0.5μs          | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 153±3μs              | 154±2μs             | 1.01    | import_iris.Iris.time_common_lenient                                                                 |
|          | 877±10μs             | 884±9μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 122±2μs              | 124±2μs             | 1.02    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.02ms          | 1.02±0.01ms         | 0.99    | import_iris.Iris.time_common_resolve                                                                 |
|          | 186±2μs              | 185±2μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 104±0.4μs            | 106±1μs             | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 317±4μs              | 321±3μs             | 1.02    | import_iris.Iris.time_coord_systems                                                                  |
|          | 639±9μs              | 650±9μs             | 1.02    | import_iris.Iris.time_coords                                                                         |
|          | 580±10μs             | 594±5μs             | 1.02    | import_iris.Iris.time_cube                                                                           |
|          | 203±4μs              | 207±1μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.6±0.5μs           | 72.9±0.9μs          | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 194±1μs              | 194±1μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 227±5μs              | 224±3μs             | 0.98    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.44±0.07ms          | 2.40±0.01ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.2±0.3μs           | 73.5±1μs            | 1.00    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±1μs              | 106±0.8μs           | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 318±10μs             | 322±6μs             | 1.01    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.29±0.2ms           | 5.34±0.05ms         | 1.01    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.2±0.5μs           | 69.8±0.4μs          | 1.02    | import_iris.Iris.time_fileformats_name                                                               |
|          | 234±2μs              | 234±2μs             | 1.00    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 114±1μs              | 113±1μs             | 1.00    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±1μs              | 111±2μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 188±1μs              | 190±3μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 674±4μs              | 671±6μs             | 0.99    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 159±0.7μs            | 160±0.7μs           | 1.00    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±1μs              | 122±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 441±5μs              | 442±6μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 194±2μs              | 194±3μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 78.5±1μs             | 78.8±0.4μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 149±2μs              | 150±2μs             | 1.01    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 130±2μs              | 129±2μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.6±0.4μs           | 71.6±0.9μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.6±0.5μs           | 78.1±1μs            | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 871±7μs              | 862±7μs             | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±2μs              | 126±0.7μs           | 0.99    | import_iris.Iris.time_io                                                                             |
|          | 158±4μs              | 157±2μs             | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 195±2μs              | 193±3μs             | 0.99    | import_iris.Iris.time_iris                                                                           |
|          | 120±2μs              | 117±0.6μs           | 0.98    | import_iris.Iris.time_iterate                                                                        |
|          | 8.17±0.2ms           | 8.04±0.03ms         | 0.98    | import_iris.Iris.time_palette                                                                        |
|          | 303±2μs              | 301±4μs             | 0.99    | import_iris.Iris.time_plot                                                                           |
|          | 94.1±0.5μs           | 92.9±0.9μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.89±0.01ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.03ms          | 1.69±0.01ms         | 0.99    | import_iris.Iris.time_symbols                                                                        |
|          | 21.1±3ms             | 22.4±1ms            | 1.06    | import_iris.Iris.time_tests                                                                          |
|          | 220±1μs              | 221±3μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.77±0.1ms           | 4.80±0.04ms         | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.7μs            | 102±0.8μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.66±0.06ms          | 2.64±0.01ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.02±0.01ms          | 1.00±0ms            | 0.98    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 154±2μs              | 152±1μs             | 0.99    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 91.5±1μs             | 92.1±0.7μs          | 1.01    | import_iris.Iris.time_time                                                                           |
|          | 286±6μs              | 284±3μs             | 0.99    | import_iris.Iris.time_util                                                                           |
|          | 82.7±1μs             | 82.1±0.6μs          | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 7.49±0.1ms           | 7.79±0.1ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.4±0.6ms           | 23.9±1ms            | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.12±0.1ms           | 8.47±0.1ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.43±0.1ms           | 7.74±0.1ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.4±0.6ms           | 21.2±1ms            | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.11±0.05ms          | 8.44±0.1ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.25±0.02s           | 1.30±0.02s          | 1.04    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.4±0.5ms           | 20.5±1ms            | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.40±0.03s           | 1.47±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.26±0.03s           | 1.34±0.03s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.2±0.7ms           | 19.6±1ms            | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.40±0.02s           | 1.46±0.03s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.60±0.08ms          | 3.74±0.09ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.8±0.7ms           | 18.7±0.4ms          | 0.99    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.88±0.09ms          | 3.99±0.08ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.57±0.05ms          | 3.75±0.06ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 19.6±1ms             | 18.9±0.2ms          | 0.96    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.83±0.05ms          | 4.10±0.2ms          | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 32.7±2ms             | 36.9±5ms            | 1.13    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.3±0.9ms           | 19.4±2ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.8±1ms             | 13.5±3ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 26.0±1ms             | 27.4±2ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.5±1ms             | 73.2±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.1±1ms             | 27.9±2ms            | 1.11    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 376±20ms             | 565±100ms           | ~1.50   | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.68±0.1ms           | 3.02±0.4ms          | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 375±2ms              | 501±100ms           | ~1.34   | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.75±0.1ms           | 3.16±0.5ms          | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 381±20ms             | 515±100ms           | ~1.35   | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.41±0.1ms           | 1.71±0.2ms          | ~1.21   | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.96±0.3ms           | 3.30±0.3ms          | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.41±0.08ms          | 1.68±0.1ms          | 1.19    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.44±0.1ms           | 1.69±0.2ms          | 1.17    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.86±0.2ms           | 3.31±0.4ms          | 1.16    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.40±0.1ms           | 1.73±0.1ms          | ~1.24   | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 333±5ms              | 335±3ms             | 1.01    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.53±0.04ms          | 8.20±0.3ms          | 1.09    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.28±0.06ms          | 8.89±0.3ms          | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.24±0.01s           | 1.34±0.03s          | 1.08    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.40±0.01s           | 1.50±0.04s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.63±0.03ms          | 3.80±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.95±0.03ms          | 4.22±0.1ms          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.41±0.05ms          | 7.74±0.03ms         | 1.04    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.14±0.01ms          | 4.53±0.09ms         | 1.10    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.22±0.01s           | 1.30±0.01s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.54±0.02ms          | 3.78±0.06ms         | 1.07    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.23±0.03ms          | 3.41±0.06ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 134±1ms              | 137±4ms             | 1.02    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.8±0.1ms           | 23.1±2ms            | 1.06    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 147±2ms              | 150±4ms             | 1.02    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.0±0.4ms           | 28.9±2ms            | 1.07    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.7±0.3ms           | 22.6±1ms            | 1.04    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.5±0.4ms           | 30.1±0.6ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.4ms           | 16.7±0.4ms          | 1.01    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.6±2ms             | 38.9±1ms            | 1.09    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.2±0.7ms           | 13.6±0.3ms          | 1.03    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 19.8±1ms             | 20.6±0.5ms          | 1.04    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.7±0.8ms           | 16.9±0.3ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.9±1ms             | 19.2±0.5ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.4±0.5ms           | 13.3±0.3ms          | 0.99    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.6±0.8ms           | 15.8±0.5ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.3±0.7ms           | 17.7±0.3ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 43.3±1ms             | 46.0±0.6ms          | 1.06    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.4±0.8ms           | 17.8±0.4ms          | 1.02    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.0±1ms             | 20.5±0.5ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.49±0.3ms           | 2.57±0.09ms         | 1.03    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.08±1ms             | 5.22±0.9ms          | 1.03    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 36.9±4ms             | 36.6±1ms            | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 804±20ms             | 800±4ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.4ns            | 102±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 921±10ns             | 910±5ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±0.9ns            | 102±0.5ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 908±20ns             | 901±5ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 101±0.3ns            | 104±2ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 999±20ns             | 1.01±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.2ns            | 104±2ns             | 1.04    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.07±0.01μs          | 1.09±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±1ns              | 101±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.9ns            | 102±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.01μs          | 1.17±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 985±8ns              | 990±30ns            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.68±0.04μs          | 6.79±0.06μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.0±0.6μs           | 64.0±0.4μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 981±20ns             | 993±7ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.69±0.03μs          | 6.77±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.0±0.6μs           | 64.0±0.5μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.05±0.01μs          | 1.04±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.39±0.1μs           | 7.24±0.06μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.6±0.8μs           | 69.0±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.09±0.02μs          | 1.09±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.59±0.1μs           | 7.67±0.08μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.0±0.4μs           | 73.8±1μs            | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.03μs          | 1.03±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.06±0.07μs          | 7.26±0.06μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.2±2μs             | 68.7±0.7μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.13±0.01μs          | 1.13±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.95±0.04μs          | 8.13±0.09μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.5±0.7μs           | 78.1±1μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 108±3ns              | 108±0.9ns           | 1.00    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 111±5ns              | 108±3ns             | 0.97    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 961±8ns              | 956±10ns            | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 108±2ns              | 109±4ns             | 1.00    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 111±5ns              | 107±0.5ns           | 0.96    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 124±20ns             | 107±1ns             | 0.87    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 689±6ns              | 696±10ns            | 1.01    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 118±5ns              | 116±1ns             | 0.99    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.51±0.06μs          | 3.53±0.06μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.45±0.07μs          | 4.29±0.02μs         | 0.96    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.32±0.06μs          | 4.24±0.05μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 563±10ns             | 541±3ns             | 0.96    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 413±10ns             | 415±1ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 441±5ns              | 429±3ns             | 0.97    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 366±3ms              | 365±4ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 76.7±6ms             | 76.8±5ms            | 1.00    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.6±1ms             | 96.4±1ms            | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 46.9±3ms             | 47.9±3ms            | 1.02    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.74±0.1ms           | 4.09±0.1ms          | 1.09    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 85.4±2ms             | 94.5±3ms            | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.7±2ms             | 55.1±2ms            | 1.03    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 578±8ms              | 587±20ms            | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±0.7ns            | 101±2ns             | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 71.9±7ms             | 77.6±4ms            | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 101±0.4ns            | 103±3ns             | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 512±10ms             | 522±20ms            | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 37.1±1ms             | 43.7±4ms            | 1.18    | stats.PearsonR.time_lazy                                                                             |
|          | 19.0±0.5ms           | 18.9±0.5ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 23.8±2ms             | 24.9±1ms            | 1.05    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.3±2ms             | 60.9±2ms            | 1.03    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [23c71445]    | After [fcb1dfa9]    |   Ratio | Benchmark (Parameter)                                                                     |
|----------|----------------------|---------------------|---------|-------------------------------------------------------------------------------------------|
| +        | 1.53±0.05ms          | 1.85±0.02ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)                                            |
| +        | 254±7μs              | 354±3μs             |    1.39 | experimental.ugrid.Mesh.time_add_connectivities(6)                                        |
| +        | 300±6μs              | 406±10μs            |    1.35 | experimental.ugrid.Mesh.time_create(6)                                                    |
| +        | 295±9μs              | 401±8μs             |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)                                    |
| +        | 351±10μs             | 446±10μs            |    1.27 | experimental.ugrid.MeshLazy.time_create(6)                                                |
| +        | 11.4±0.2ms           | 13.7±0.8ms          |    1.21 | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50) |
| +        | 376±9ms              | 532±100ms           |    1.42 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                               |
| +        | 280±2ms              | 360±6ms             |    1.28 | load.StructuredFF.time_structured_load((2, 2, 1000), True)                                |

Generated by GHA run 8253076824

github-actions[bot] avatar Mar 12 '24 18:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 6ca73b8e

Performance shifts
| Change   | Before [a3df32f8]    | After [6ca73b8e]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.50±0.01ms          | 1.84±0.01ms         |    1.23 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.62±0.03ms          | 3.17±0.06ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±5μs              | 362±9μs             |    1.45 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 293±3μs              | 412±7μs             |    1.41 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 292±10μs             | 403±10μs            |    1.38 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 341±10μs             | 442±9μs             |    1.3  | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 287±4ms              | 355±3ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [a3df32f8]    | After [6ca73b8e]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.36±0.04μs          | 4.26±0.02μs         | 0.98    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.89±0.04μs          | 4.94±0.02μs         | 1.01    | coords.AncillaryVariable.time_create                                                                 |
|          | 425±5ns              | 419±7ns             | 0.99    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.94±0.08μs          | 8.93±0.1μs          | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 407±3ns              | 396±4ns             | 0.97    | coords.AuxCoord.time_points                                                                          |
|          | 226±20μs             | 244±20μs            | 1.08    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.7±0.5μs           | 13.1±0.6μs          | 1.03    | coords.AuxCoordLazy.time_create                                                                      |
|          | 228±20μs             | 238±20μs            | 1.04    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.31±0.02μs          | 5.46±0.07μs         | 1.03    | coords.CellMeasure.time_create                                                                       |
|          | 1.09±0.01μs          | 1.10±0.02μs         | 1.01    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±1μs              | 109±2μs             | 1.00    | coords.DimCoord.time_create                                                                          |
|          | 32.3±0.6μs           | 31.8±0.7μs          | 0.99    | coords.DimCoord.time_regular                                                                         |
|          | 377±3ms              | 375±4ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.6±0.3μs           | 58.4±0.4μs          | 0.98    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.6±0.2μs           | 11.4±0.2μs          | 0.99    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.7±0.7μs           | 66.0±0.4μs          | 0.97    | cube.AuxCoord.time_add                                                                               |
|          | 9.53±0.08μs          | 9.47±0.2μs          | 0.99    | cube.AuxCoord.time_create                                                                            |
|          | 6.03±0.07μs          | 5.89±0.1μs          | 0.98    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.47±0.03μs          | 4.42±0.04μs         | 0.99    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.4±0.7μs           | 40.6±0.5μs          | 1.00    | cube.AuxFactory.time_add                                                                             |
|          | 12.1±0.3μs           | 11.9±0.4μs          | 0.98    | cube.AuxFactory.time_create                                                                          |
|          | 59.3±0.4μs           | 58.0±0.4μs          | 0.98    | cube.CellMeasure.time_add                                                                            |
|          | 11.1±0.1μs           | 11.4±0.3μs          | 1.03    | cube.CellMeasure.time_create                                                                         |
|          | 51.6±0.3μs           | 51.0±0.8μs          | 0.99    | cube.CellMethod.time_add                                                                             |
|          | 7.18±0.1μs           | 7.16±0.07μs         | 1.00    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.3ms            | 130±0.3ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.64±0.06μs          | 6.62±0.09μs         | 1.00    | cube.Cube.time_basic                                                                                 |
|          | 59.0±0.4ns           | 60.4±9ns            | 1.02    | cube.Cube.time_rename                                                                                |
|          | 62.1±0.8μs           | 61.4±0.5μs          | 0.99    | cube.Equality.time_equality                                                                          |
|          | 331±1ms              | 326±4ms             | 0.99    | cube.Merge.time_merge                                                                                |
|          | 28.8±3μs             | 27.9±2μs            | 0.97    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 29.7±1μs             | 29.1±1μs            | 0.98    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.3±2μs             | 24.8±1μs            | 0.98    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.5±0.3μs           | 19.3±0.3μs          | 0.99    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.5±0.4μs           | 19.2±0.3μs          | 0.99    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.0±0.3μs           | 18.7±0.4μs          | 0.98    | cube.MeshCoord.time_create(6)                                                                        |
|          | 54.7±6μs             | 54.7±6μs            | 1.00    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 61.0±3μs             | 58.6±3μs            | 0.96    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 47.2±8μs             | 49.3±8μs            | 1.04    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.04±0.2ms           | 2.55±0.1ms          | ~1.25   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 613±10ns             | 608±4ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 606±7ns              | 607±6ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.8±2ms             | 23.3±2ms            | 1.12    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.25±0.03ms          | 2.68±0.02ms         | 1.19    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 23.3±3ms             | 28.2±3ms            | ~1.21   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.36±0.04ms          | 4.02±0.05ms         | 1.20    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.59±0.1ms           | 4.21±0.2ms          | 1.17    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 240±6μs              | 257±10μs            | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 234±4μs              | 255±8μs             | 1.09    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.9±0.5ms           | 20.4±0.4ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.49±0.04ms          | 2.90±0.04ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.3±0.7ms           | 23.3±0.6ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.59±0.08ms          | 4.22±0.1ms          | 1.18    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.4±0.1μs           | 12.5±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.88±0.05μs          | 4.88±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.84±0.02μs          | 4.89±0.06μs         | 1.01    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.13±0.1μs           | 5.02±0.08μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.05±0.06μs          | 4.99±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.86±0.09μs          | 5.81±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.85±0.08μs          | 5.82±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.6±0.6μs           | 44.9±0.4μs          | 0.96    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 74.5±3ms             | 73.6±2ms            | 0.99    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 275±4μs              | 270±2μs             | 0.98    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.95±0.04μs          | 4.93±0.04μs         | 1.00    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.97±0.05μs          | 4.92±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.34±0.07μs          | 7.22±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.29±0.06μs          | 7.27±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.1±0.1μs           | 10.5±0.08μs         | 1.04    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 120±2ms              | 120±2ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.38±0.08μs          | 5.37±0.07μs         | 1.00    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.21±0.04ms          | 3.66±0.03ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.25±0.03ms          | 3.62±0.05ms         | 1.11    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 199±3μs              | 199±3μs             | 1.00    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.60±0.02μs          | 3.60±0.03μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.23±0.06μs          | 4.07±0.05μs         | 0.96    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.92±0.02μs          | 2.90±0.03μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.90±0.2ms           | 7.41±0.2ms          | 1.07    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 120±2ms              | 119±2ms             | 0.99    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.6±0.7μs           | 12.1±0.8μs          | 0.96    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.25±0.07ms          | 3.69±0.05ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.29±0.06ms          | 3.69±0.05ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 242±20μs             | 238±10μs            | 0.98    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.37±0.08ms          | 2.52±0.1ms          | 1.07    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.41±0.1ms           | 4.49±0.1ms          | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.75±0.7μs           | 8.43±0.8μs          | 0.96    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 31.7±2μs             | 32.1±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.0±1μs             | 19.3±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 16.5±2μs             | 16.5±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.6±0.6μs           | 16.4±0.5μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.5±1μs             | 16.4±0.7μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.0±0.6μs           | 19.3±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 19.1±2μs             | 19.5±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.2±3μs             | 76.0±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 74.3±3ms             | 76.3±2ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 342±20μs             | 349±20μs            | 1.02    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.3±1μs             | 17.9±0.9μs          | 0.97    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.7±1μs             | 17.3±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.9±1μs             | 30.9±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.8±1μs             | 30.4±2μs            | 1.02    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 508±6ns              | 518±6ns             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 251±2ms              | 247±1ms             | 0.98    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.6±0.2ms           | 13.6±0.1ms          | 1.17    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.5±0.5ms           | 15.6±0.6ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 124±0.8ms            | 134±2ms             | 1.08    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 736±5ms              | 731±4ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 86.6±1ms             | 95.9±2ms            | 1.11    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 680±3ms              | 687±3ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 565±10μs             | 584±20μs            | 1.03    | import_iris.Iris.time__concatenate                                                                   |
|          | 165±7μs              | 170±7μs             | 1.03    | import_iris.Iris.time__constraints                                                                   |
|          | 101±2μs              | 104±2μs             | 1.03    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.0±1μs             | 86.4±1μs            | 1.02    | import_iris.Iris.time__deprecation                                                                   |
|          | 110±2μs              | 110±0.4μs           | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 784±7μs              | 811±20μs            | 1.03    | import_iris.Iris.time__merge                                                                         |
|          | 71.1±0.7μs           | 72.2±2μs            | 1.02    | import_iris.Iris.time__representation                                                                |
|          | 431±6μs              | 446±6μs             | 1.04    | import_iris.Iris.time_analysis                                                                       |
|          | 128±2μs              | 127±2μs             | 0.99    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.7±2μs             | 100±2μs             | 1.02    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 221±3μs              | 216±5μs             | 0.98    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 171±3μs              | 173±4μs             | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±2μs              | 103±3μs             | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 125±1μs              | 128±2μs             | 1.02    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 286±5μs              | 282±3μs             | 0.99    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.7±0.4μs           | 85.9±0.9μs          | 1.03    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 200±3μs              | 199±3μs             | 1.00    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.9±0.9μs           | 90.4±1μs            | 0.99    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 165±3μs              | 165±4μs             | 1.00    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 264±7μs              | 269±6μs             | 1.02    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.5±1μs             | 79.9±0.4μs          | 0.99    | import_iris.Iris.time_common                                                                         |
|          | 154±3μs              | 152±4μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 886±10μs             | 897±10μs            | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±2μs              | 127±3μs             | 1.02    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.04±0.01ms          | 1.03±0.02ms         | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 185±3μs              | 186±2μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 106±3μs              | 107±1μs             | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 318±8μs              | 326±6μs             | 1.03    | import_iris.Iris.time_coord_systems                                                                  |
|          | 637±10μs             | 644±8μs             | 1.01    | import_iris.Iris.time_coords                                                                         |
|          | 587±20μs             | 599±10μs            | 1.02    | import_iris.Iris.time_cube                                                                           |
|          | 205±2μs              | 208±5μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.6±1μs             | 73.3±0.7μs          | 1.01    | import_iris.Iris.time_experimental                                                                   |
|          | 196±1μs              | 194±3μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 224±1μs              | 227±4μs             | 1.02    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.43±0.03ms          | 2.43±0.05ms         | 1.00    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.2±0.8μs           | 74.7±1μs            | 1.02    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.9μs            | 107±1μs             | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 320±6μs              | 318±4μs             | 0.99    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.39±0.09ms          | 5.45±0.2ms          | 1.01    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.3±1μs             | 68.2±0.5μs          | 0.98    | import_iris.Iris.time_fileformats_name                                                               |
|          | 237±3μs              | 236±4μs             | 1.00    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 112±0.7μs            | 114±1μs             | 1.02    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 113±1μs              | 114±1μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 188±3μs              | 189±2μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 677±10μs             | 677±6μs             | 1.00    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 160±2μs              | 164±4μs             | 1.03    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 121±1μs              | 122±1μs             | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 444±10μs             | 439±10μs            | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 199±2μs              | 197±3μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.5±1μs             | 78.9±1μs            | 0.99    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±2μs              | 152±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 133±3μs              | 131±1μs             | 0.98    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.4±1μs             | 70.9±1μs            | 0.99    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 79.1±1μs             | 77.8±0.4μs          | 0.98    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 875±4μs              | 858±9μs             | 0.98    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±1μs              | 129±2μs             | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 160±2μs              | 161±2μs             | 1.01    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±2μs              | 195±2μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 118±0.9μs            | 121±2μs             | 1.03    | import_iris.Iris.time_iterate                                                                        |
|          | 8.13±0.09ms          | 8.07±0.07ms         | 0.99    | import_iris.Iris.time_palette                                                                        |
|          | 300±2μs              | 301±2μs             | 1.00    | import_iris.Iris.time_plot                                                                           |
|          | 94.4±1μs             | 93.3±0.4μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.98±0.04ms          | 1.87±0.01ms         | 0.95    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.01ms          | 1.70±0.01ms         | 0.99    | import_iris.Iris.time_symbols                                                                        |
|          | 113±7ms              | 114±8ms             | 1.00    | import_iris.Iris.time_tests                                                                          |
|          | 217±2μs              | 218±2μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.86±0.06ms          | 4.79±0.05ms         | 0.98    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±2μs              | 104±0.8μs           | 1.01    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.65±0.01ms          | 2.64±0.02ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.03±0.02ms          | 1.02±0.02ms         | 0.99    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 152±0.9μs            | 152±4μs             | 1.00    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 94.5±2μs             | 92.2±0.9μs          | 0.98    | import_iris.Iris.time_time                                                                           |
|          | 289±5μs              | 289±3μs             | 1.00    | import_iris.Iris.time_util                                                                           |
|          | 82.5±2μs             | 81.4±0.8μs          | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 7.39±0.1ms           | 7.82±0.04ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.8±0.6ms           | 23.3±0.5ms          | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.07±0.06ms          | 8.63±0.1ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.31±0.06ms          | 7.75±0.05ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.1±0.3ms           | 20.2±0.4ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.14±0.07ms          | 8.54±0.04ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.24±0.02s           | 1.33±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.3±0.6ms           | 19.8±0.7ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0.01s           | 1.47±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.24±0.01s           | 1.32±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.2±0.4ms           | 19.4±0.2ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.02s           | 1.47±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.58±0.03ms          | 3.74±0.04ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.9±0.3ms           | 18.9±0.4ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.80±0.03ms          | 3.98±0.04ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.56±0.04ms          | 3.72±0.02ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.5±0.3ms           | 19.0±0.3ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.84±0.05ms          | 3.98±0.04ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 31.3±2ms             | 31.5±1ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.1±0.5ms           | 18.9±0.6ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 12.4±2ms             | 12.9±2ms            | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.4±2ms             | 25.6±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.4±1ms             | 72.3±1ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.3±2ms             | 26.4±0.9ms          | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 382±7ms              | 435±5ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.79±0.1ms           | 2.94±0.2ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 387±3ms              | 444±5ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 387±3ms              | 446±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.81±0.2ms           | 2.80±0.2ms          | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 392±3ms              | 447±3ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.37±0.07ms          | 1.58±0.08ms         | 1.16    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.81±0.1ms           | 2.91±0.2ms          | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.38±0.07ms          | 1.58±0.08ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.44±0.04ms          | 1.56±0.1ms          | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.89±0.2ms           | 2.92±0.1ms          | 1.01    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.39±0.1ms           | 1.54±0.09ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 336±3ms              | 333±3ms             | 0.99    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.60±0.1ms           | 7.90±0.04ms         | 1.04    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.30±0.09ms          | 8.69±0.06ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.25±0.01s           | 1.34±0.02s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.02s           | 1.50±0.01s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.65±0.04ms          | 3.78±0.04ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.95±0.04ms          | 4.07±0.02ms         | 1.03    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.37±0.04ms          | 7.80±0.1ms          | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.10±0.03ms          | 4.54±0.1ms          | 1.11    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.22±0.01s           | 1.31±0.01s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.55±0.02ms          | 3.75±0.05ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.22±0.08ms          | 3.39±0.01ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 132±3ms              | 140±0.9ms           | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.0±0.2ms           | 22.0±0.4ms          | 1.00    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 147±3ms              | 154±2ms             | 1.05    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.1±0.5ms           | 27.7±0.4ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.7±0.3ms           | 21.6±0.1ms          | 1.00    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.1±0.5ms           | 29.7±0.3ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 17.0±0.6ms           | 16.8±0.2ms          | 0.99    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.5±0.6ms           | 39.0±0.9ms          | 1.07    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.5±0.4ms           | 13.4±0.2ms          | 0.99    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.5±1ms             | 21.2±0.6ms          | 0.99    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 17.1±0.9ms           | 16.9±0.3ms          | 0.99    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 20.4±0.9ms           | 20.0±0.8ms          | 0.98    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.8±0.5ms           | 14.1±0.5ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.1±0.6ms           | 16.3±0.6ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.8±0.5ms           | 18.3±0.5ms          | 1.03    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 44.0±0.6ms           | 47.8±0.8ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.3±0.6ms           | 18.5±0.5ms          | 1.07    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.1±0.8ms           | 21.6±0.9ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.61±0.2ms           | 2.73±0.2ms          | 1.04    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.46±0.2ms           | 5.41±0.2ms          | 0.99    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 38.4±2ms             | 38.4±2ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 795±10ms             | 794±7ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.6ns            | 102±0.8ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 917±6ns              | 902±8ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±1ns              | 101±0.9ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 923±10ns             | 901±5ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.5ns            | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.02μs          | 1.03±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.4ns            | 102±0.3ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0.01μs          | 1.06±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±0.5ns            | 101±0.2ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 990±8ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.5ns            | 101±0.3ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.01μs          | 1.13±0.03μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.03μs          | 994±9ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.82±0.09μs          | 6.83±0.04μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.3±0.5μs           | 63.9±0.4μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 995±10ns             | 1.00±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.92±0.07μs          | 6.85±0.1μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.7±1μs             | 63.9±0.5μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.03μs          | 1.04±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.37±0.2μs           | 7.37±0.07μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 70.0±2μs             | 70.5±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.08±0.01μs          | 1.08±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.63±0.1μs           | 7.73±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.2±0.6μs           | 72.8±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.01μs          | 1.05±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.13±0.09μs          | 7.33±0.09μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.7±0.7μs           | 69.8±2μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.15±0.03μs          | 1.12±0.02μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.95±0.1μs           | 8.09±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.7±0.7μs           | 76.5±0.7μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±0.7ns            | 107±1ns             | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 106±0.2ns            | 107±0.4ns           | 1.01    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 974±20ns             | 956±8ns             | 0.98    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 107±1ns              | 107±0.4ns           | 1.00    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 106±0.4ns            | 106±0.4ns           | 1.00    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±0.8ns            | 107±0.5ns           | 0.99    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 680±10ns             | 702±10ns            | 1.03    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 114±1ns              | 114±1ns             | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.53±0.03μs          | 3.45±0.04μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.46±0.05μs          | 4.28±0.01μs         | 0.96    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.32±0.03μs          | 4.25±0.03μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 549±5ns              | 539±8ns             | 0.98    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 417±2ns              | 415±6ns             | 0.99    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 444±4ns              | 428±4ns             | 0.96    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 368±3ms              | 366±1ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 79.1±2ms             | 75.8±4ms            | 0.96    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 95.7±1ms             | 95.3±0.8ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 49.1±1ms             | 48.9±2ms            | 0.99    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.93±0.2ms           | 4.20±0.2ms          | 1.07    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 87.1±1ms             | 95.1±2ms            | 1.09    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.1±0.8ms           | 54.9±0.4ms          | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 585±7ms              | 588±7ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±1ns              | 100±0.5ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 72.6±1ms             | 78.3±1ms            | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±0.5ns            | 101±0.5ns           | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 510±4ms              | 518±2ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 35.2±2ms             | 41.5±1ms            | 1.18    | stats.PearsonR.time_lazy                                                                             |
|          | 19.0±0.4ms           | 18.7±0.4ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 22.5±0.7ms           | 22.9±0.7ms          | 1.02    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.9±0.6ms           | 59.6±0.5ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [a3df32f8]    | After [6ca73b8e]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.50±0.01ms          | 1.84±0.01ms         |    1.23 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.62±0.03ms          | 3.17±0.06ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±5μs              | 362±9μs             |    1.45 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 293±3μs              | 412±7μs             |    1.41 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 292±10μs             | 403±10μs            |    1.38 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 341±10μs             | 442±9μs             |    1.3  | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 287±4ms              | 355±3ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8266090292

github-actions[bot] avatar Mar 13 '24 14:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: e1d9efa0

Performance shifts
| Change   | Before [a3df32f8]    | After [e1d9efa0]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.54±0.02ms          | 1.86±0.01ms         |    1.2  | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 255±7μs              | 371±6μs             |    1.46 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 299±2μs              | 407±6μs             |    1.36 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 297±7μs              | 402±10μs            |    1.35 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 346±10μs             | 447±9μs             |    1.29 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 281±2ms              | 348±3ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [a3df32f8]    | After [e1d9efa0]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.38±0.05μs          | 4.37±0.03μs         | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 5.01±0.08μs          | 5.01±0.04μs         | 1.00    | coords.AncillaryVariable.time_create                                                                 |
|          | 428±2ns              | 417±3ns             | 0.97    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.76±0.1μs           | 9.05±0.1μs          | 1.03    | coords.AuxCoord.time_create                                                                          |
|          | 419±9ns              | 404±2ns             | 0.96    | coords.AuxCoord.time_points                                                                          |
|          | 231±20μs             | 243±20μs            | 1.05    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.4±0.7μs           | 13.2±0.5μs          | 0.98    | coords.AuxCoordLazy.time_create                                                                      |
|          | 228±20μs             | 244±20μs            | 1.07    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.36±0.07μs          | 5.51±0.04μs         | 1.03    | coords.CellMeasure.time_create                                                                       |
|          | 1.10±0μs             | 1.08±0.01μs         | 0.98    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±1μs              | 110±1μs             | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 31.6±0.3μs           | 32.3±0.5μs          | 1.02    | coords.DimCoord.time_regular                                                                         |
|          | 382±3ms              | 378±2ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.5±0.3μs           | 58.8±1μs            | 0.97    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.5±0.4μs           | 11.6±0.3μs          | 1.01    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.4±0.8μs           | 67.1±0.7μs          | 1.00    | cube.AuxCoord.time_add                                                                               |
|          | 9.53±0.09μs          | 9.93±0.3μs          | 1.04    | cube.AuxCoord.time_create                                                                            |
|          | 6.03±0.05μs          | 6.06±0.1μs          | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.42±0.09μs          | 4.44±0.05μs         | 1.01    | cube.AuxCoord.time_return_coords                                                                     |
|          | 39.7±0.2μs           | 40.1±0.6μs          | 1.01    | cube.AuxFactory.time_add                                                                             |
|          | 12.5±0.2μs           | 11.9±0.4μs          | 0.95    | cube.AuxFactory.time_create                                                                          |
|          | 60.5±0.6μs           | 59.2±0.7μs          | 0.98    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.3μs           | 11.7±0.4μs          | 1.01    | cube.CellMeasure.time_create                                                                         |
|          | 52.4±0.2μs           | 52.1±0.8μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.38±0.1μs           | 7.38±0.2μs          | 1.00    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 129±0.2ms            | 130±0.1ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.74±0.1μs           | 6.81±0.1μs          | 1.01    | cube.Cube.time_basic                                                                                 |
|          | 57.7±0.3ns           | 57.4±1ns            | 0.99    | cube.Cube.time_rename                                                                                |
|          | 62.7±0.9μs           | 61.0±1μs            | 0.97    | cube.Equality.time_equality                                                                          |
|          | 333±0.8ms            | 331±0.8ms           | 1.00    | cube.Merge.time_merge                                                                                |
|          | 26.6±1μs             | 26.6±1μs            | 1.00    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.5±2μs             | 31.0±2μs            | 0.98    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.1±0.7μs           | 24.6±0.6μs          | 0.98    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.6±0.5μs           | 19.8±0.5μs          | 1.01    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 20.1±0.3μs           | 19.6±0.6μs          | 0.98    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.2±0.3μs           | 19.0±0.5μs          | 0.99    | cube.MeshCoord.time_create(6)                                                                        |
|          | 41.1±2μs             | 40.9±2μs            | 1.00    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 60.6±4μs             | 58.7±3μs            | 0.97    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 40.9±2μs             | 40.1±2μs            | 0.98    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.09±0.2ms           | 2.44±0.07ms         | 1.17    | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 613±7ns              | 601±2ns             | 0.98    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 606±4ns              | 601±8ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 19.8±1ms             | 22.9±2ms            | 1.16    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.24±0.02ms          | 2.63±0.03ms         | 1.17    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.8±3ms             | 27.7±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.34±0.03ms          | 4.00±0.06ms         | 1.20    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.39±0.04ms          | 3.91±0.05ms         | 1.15    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 2.71±0.05ms          | 3.21±0.04ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_create(6)                                                   |
|          | 246±10μs             | 255±4μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 242±6μs              | 254±8μs             | 1.05    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.8±0.2ms           | 20.2±0.3ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.56±0.03ms          | 2.97±0.05ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 21.8±0.4ms           | 22.0±0.4ms          | 1.01    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.67±0.04ms          | 4.27±0.04ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.1μs           | 12.7±0.3μs          | 0.99    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.92±0.02μs          | 4.85±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.92±0.06μs          | 4.81±0.03μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.09±0.1μs           | 5.02±0.07μs         | 0.99    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.03±0.06μs          | 5.07±0.07μs         | 1.01    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.86±0.06μs          | 5.90±0.06μs         | 1.01    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.83±0.06μs          | 5.84±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.1±0.5μs           | 46.2±0.4μs          | 0.98    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 70.3±2ms             | 72.2±2ms            | 1.03    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 282±3μs              | 271±3μs             | 0.96    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.87±0.09μs          | 4.93±0.06μs         | 1.01    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.92±0.04μs          | 5.08±0.08μs         | 1.03    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.45±0.1μs           | 7.44±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.39±0.1μs           | 7.39±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 9.97±0.07μs          | 10.3±0.09μs         | 1.03    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 116±2ms              | 117±0.9ms           | 1.01    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.37±0.04μs          | 5.40±0.04μs         | 1.01    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.22±0.05ms          | 3.65±0.03ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.26±0.06ms          | 3.67±0.06ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 201±2μs              | 199±2μs             | 0.99    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.54±0.03μs          | 3.50±0.04μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.11±0.04μs          | 4.08±0.04μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.91±0.02μs          | 2.87±0.02μs         | 0.98    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.79±0.05ms          | 7.31±0.05ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 116±1ms              | 118±1ms             | 1.02    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.6±0.4μs           | 11.6±0.4μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.25±0.06ms          | 3.70±0.05ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.30±0.05ms          | 3.70±0.06ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 240±10μs             | 237±7μs             | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.34±0.02ms          | 2.42±0.02ms         | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.45±0.1ms           | 4.53±0.08ms         | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.73±0.4μs           | 7.61±0.3μs          | 0.98    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.8±1μs             | 32.0±1μs            | 0.95    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.6±0.8μs           | 18.4±0.8μs          | 0.94    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.1±0.5μs           | 15.1±0.7μs          | 1.00    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.3±0.7μs           | 16.8±0.5μs          | 0.97    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.1±0.3μs           | 16.0±0.4μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.4±0.6μs           | 19.0±0.5μs          | 0.98    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.5±0.5μs           | 18.7±0.6μs          | 1.01    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.2±2μs             | 76.9±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 70.5±0.8ms           | 73.1±0.5ms          | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 334±4μs              | 339±10μs            | 1.01    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.3±0.6μs           | 18.3±0.5μs          | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.9±0.4μs           | 16.9±0.5μs          | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 32.3±0.9μs           | 31.3±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.3±0.6μs           | 29.4±0.5μs          | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 502±6ns              | 487±6ns             | 0.97    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 250±2ms              | 248±2ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.5±0.1ms           | 13.4±0.2ms          | 1.17    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.5±1ms             | 15.3±0.6ms          | 1.13    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 124±1ms              | 134±1ms             | 1.08    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 722±5ms              | 727±5ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 85.6±1ms             | 93.8±1ms            | 1.10    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 677±3ms              | 685±4ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 584±10μs             | 565±6μs             | 0.97    | import_iris.Iris.time__concatenate                                                                   |
|          | 163±2μs              | 164±2μs             | 1.00    | import_iris.Iris.time__constraints                                                                   |
|          | 100±0.6μs            | 101±0.9μs           | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.6±0.5μs           | 85.6±0.3μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±2μs              | 109±1μs             | 1.00    | import_iris.Iris.time__lazy_data                                                                     |
|          | 790±4μs              | 788±10μs            | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 72.3±1μs             | 72.0±0.2μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 430±3μs              | 436±3μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 130±2μs              | 127±2μs             | 0.98    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 99.5±0.5μs           | 101±0.7μs           | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 217±2μs              | 216±2μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 169±2μs              | 171±2μs             | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 103±1μs              | 101±0.9μs           | 0.98    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 127±0.9μs            | 128±1μs             | 1.00    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 287±6μs              | 283±3μs             | 0.98    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.6±0.6μs           | 84.5±0.4μs          | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 198±1μs              | 199±2μs             | 1.00    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.0±1μs             | 91.5±0.9μs          | 1.02    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 166±1μs              | 167±2μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 262±3μs              | 270±3μs             | 1.03    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.6±1μs             | 80.8±1μs            | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 153±0.8μs            | 156±3μs             | 1.02    | import_iris.Iris.time_common_lenient                                                                 |
|          | 891±20μs             | 881±9μs             | 0.99    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±0.7μs            | 123±0.4μs           | 0.99    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.01ms          | 1.03±0.01ms         | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 186±2μs              | 187±1μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 105±1μs              | 107±1μs             | 1.02    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 316±4μs              | 319±2μs             | 1.01    | import_iris.Iris.time_coord_systems                                                                  |
|          | 634±5μs              | 639±10μs            | 1.01    | import_iris.Iris.time_coords                                                                         |
|          | 583±6μs              | 590±6μs             | 1.01    | import_iris.Iris.time_cube                                                                           |
|          | 203±2μs              | 206±2μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 73.0±0.2μs           | 73.4±0.9μs          | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 194±1μs              | 195±2μs             | 1.01    | import_iris.Iris.time_fileformats                                                                    |
|          | 224±1μs              | 227±1μs             | 1.01    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.41±0.01ms          | 2.39±0.02ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.1±0.6μs           | 74.4±0.4μs          | 1.02    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 108±1μs              | 106±0.9μs           | 0.99    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 318±4μs              | 319±2μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.32±0.07ms          | 5.30±0.06ms         | 1.00    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.9±0.8μs           | 69.2±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 237±1μs              | 236±4μs             | 1.00    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 114±1μs              | 113±1μs             | 0.99    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±0.6μs            | 111±0.7μs           | 0.99    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 189±2μs              | 188±2μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 673±6μs              | 681±9μs             | 1.01    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 161±1μs              | 161±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 123±0.4μs            | 121±1μs             | 0.99    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 444±4μs              | 439±2μs             | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 195±2μs              | 194±1μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.5±1μs             | 80.8±1μs            | 1.02    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 151±1μs              | 151±1μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 131±0.8μs            | 130±1μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.0±0.4μs           | 72.9±1μs            | 1.03    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.6±0.5μs           | 78.0±1μs            | 1.00    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 872±2μs              | 856±5μs             | 0.98    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±1μs              | 127±2μs             | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 158±2μs              | 158±1μs             | 1.00    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±2μs              | 195±1μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 121±1μs              | 119±0.6μs           | 0.98    | import_iris.Iris.time_iterate                                                                        |
|          | 8.15±0.07ms          | 8.09±0.05ms         | 0.99    | import_iris.Iris.time_palette                                                                        |
|          | 303±2μs              | 303±3μs             | 1.00    | import_iris.Iris.time_plot                                                                           |
|          | 93.8±0.5μs           | 92.9±0.9μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.89±0.01ms         | 0.98    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.01ms          | 1.73±0.03ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 41.3±1ms             | 42.9±2ms            | 1.04    | import_iris.Iris.time_tests                                                                          |
|          | 222±3μs              | 222±1μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.78±0.02ms          | 4.78±0.02ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 104±0.4μs            | 104±0.6μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.68±0.02ms          | 2.66±0.02ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0ms             | 1.01±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 152±1μs              | 154±2μs             | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.5±1μs             | 92.8±0.6μs          | 1.00    | import_iris.Iris.time_time                                                                           |
|          | 287±3μs              | 291±2μs             | 1.01    | import_iris.Iris.time_util                                                                           |
|          | 82.4±0.8μs           | 82.2±2μs            | 1.00    | iterate.IZip.time_izip                                                                               |
|          | 7.49±0.1ms           | 7.93±0.08ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.7±0.4ms           | 22.9±0.3ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.19±0.07ms          | 8.64±0.09ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.40±0.05ms          | 7.81±0.07ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.0±0.1ms           | 20.0±0.1ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.15±0.04ms          | 8.61±0.2ms          | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.22±0.01s           | 1.29±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.1±0.2ms           | 19.4±0.2ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.36±0.01s           | 1.43±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.22±0.01s           | 1.28±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.1±0.1ms           | 19.5±0.2ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.01s           | 1.46±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.59±0.01ms          | 3.77±0.05ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.6±0.1ms           | 18.7±0.06ms         | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.87±0.03ms          | 4.10±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.59±0.07ms          | 3.73±0.05ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.7±0.3ms           | 18.8±0.2ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.83±0.02ms          | 4.05±0.06ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 33.6±2ms             | 34.3±3ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.0±0.2ms           | 19.1±0.4ms          | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.4±2ms             | 13.3±2ms            | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.1±1ms             | 25.3±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.3±1ms             | 72.3±1ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.2±2ms             | 25.6±0.9ms          | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 372±2ms              | 428±2ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.63±0.09ms          | 2.74±0.09ms         | 1.04    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 377±2ms              | 434±2ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 378±1ms              | 435±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.65±0.07ms          | 2.78±0.08ms         | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 383±1ms              | 441±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.35±0.07ms          | 1.56±0.05ms         | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.64±0.09ms          | 2.72±0.05ms         | 1.03    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.38±0.06ms          | 1.52±0.06ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.38±0.07ms          | 1.54±0.05ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.75±0.05ms          | 2.80±0.1ms          | 1.02    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.41±0.05ms          | 1.56±0.05ms         | 1.10    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 330±2ms              | 335±5ms             | 1.02    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.52±0.06ms          | 8.06±0.1ms          | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.33±0.08ms          | 8.79±0.06ms         | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.24±0.01s           | 1.32±0.01s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.39±0.01s           | 1.47±0.02s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.65±0.05ms          | 3.86±0.02ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.90±0.02ms          | 4.16±0.04ms         | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.40±0.04ms          | 7.91±0.09ms         | 1.07    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.18±0.01ms          | 4.56±0.04ms         | 1.09    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.21±0.01s           | 1.29±0.01s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.58±0.02ms          | 3.81±0.05ms         | 1.07    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.29±0.05ms          | 3.45±0.05ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 130±4ms              | 139±2ms             | 1.07    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.0±0.1ms           | 21.9±0.1ms          | 1.00    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 148±4ms              | 154±2ms             | 1.04    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.0±0.5ms           | 28.0±0.2ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.6±0.07ms          | 21.8±0.3ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.2±0.3ms           | 30.2±0.3ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.2ms           | 17.0±0.3ms          | 1.04    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 34.8±0.4ms           | 37.8±0.7ms          | 1.09    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.2±0.2ms           | 13.7±0.2ms          | 1.04    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 19.7±0.3ms           | 20.4±0.2ms          | 1.04    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.2ms           | 16.8±0.3ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.8±0.4ms           | 19.0±0.3ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.1±0.2ms           | 13.7±0.4ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.7±0.2ms           | 15.8±0.2ms          | 1.00    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.5±0.4ms           | 18.0±0.3ms          | 1.03    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 42.6±0.5ms           | 46.3±0.5ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.4±0.3ms           | 17.9±0.2ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.3±0.3ms           | 20.8±0.3ms          | 1.02    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.47±0.06ms          | 2.60±0.07ms         | 1.05    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.18±0.06ms          | 5.30±0.04ms         | 1.02    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 36.4±0.3ms           | 36.5±0.4ms          | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 812±4ms              | 810±4ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±2ns              | 102±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 922±10ns             | 894±8ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±0.4ns            | 101±0.9ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 906±10ns             | 898±9ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±0.8ns            | 102±0.7ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.01μs          | 999±4ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±2ns              | 103±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0μs             | 1.10±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 103±0.7ns            | 104±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.00±0.01μs          | 994±8ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±1ns              | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.01μs          | 1.13±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.02μs          | 998±10ns            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.79±0.04μs          | 6.83±0.07μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.5±0.6μs           | 64.6±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.01±0.01μs          | 987±20ns            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.77±0.1μs           | 6.72±0.02μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 64.0±0.6μs           | 64.2±0.5μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.01μs          | 1.04±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.18±0.06μs          | 7.41±0.1μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.9±0.4μs           | 70.0±0.4μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.12±0.02μs          | 1.08±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.62±0.03μs          | 7.76±0.04μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.7±0.9μs           | 74.2±0.3μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.06±0μs             | 1.03±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.25±0.08μs          | 7.28±0.07μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.5±0.7μs           | 69.1±0.9μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.15±0.01μs          | 1.12±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.08±0.1μs           | 8.11±0.07μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.7±0.5μs           | 78.1±0.5μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 106±0.8ns            | 108±0.9ns           | 1.02    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 106±0.6ns            | 107±1ns             | 1.01    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 995±20ns             | 954±8ns             | 0.96    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 106±0.4ns            | 107±1ns             | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 111±1ns              | 108±2ns             | 0.97    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 109±1ns              | 108±3ns             | 0.99    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 691±10ns             | 692±10ns            | 1.00    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 117±0.4ns            | 114±1ns             | 0.98    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.55±0.02μs          | 3.53±0.06μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.40±0.02μs          | 4.44±0.07μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.37±0.06μs          | 4.32±0.09μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 556±4ns              | 538±5ns             | 0.97    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 415±10ns             | 419±2ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 439±3ns              | 434±1ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 366±2ms              | 366±2ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 79.1±4ms             | 78.6±3ms            | 0.99    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.2±0.8ms           | 96.3±0.7ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 48.2±2ms             | 49.5±2ms            | 1.03    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.76±0.04ms          | 4.13±0.03ms         | 1.10    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 86.1±0.5ms           | 92.2±0.5ms          | 1.07    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.9±0.6ms           | 53.7±1ms            | 1.00    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 582±3ms              | 587±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±0.5ns            | 101±0.8ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 71.0±0.3ms           | 76.7±0.4ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±2ns              | 102±1ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 514±3ms              | 520±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.8±1ms             | 40.7±1ms            | 1.10    | stats.PearsonR.time_lazy                                                                             |
|          | 18.9±0.1ms           | 18.7±0.3ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 22.5±0.7ms           | 21.8±0.8ms          | 0.97    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 58.7±0.4ms           | 58.7±0.2ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [a3df32f8]    | After [e1d9efa0]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.54±0.02ms          | 1.86±0.01ms         |    1.2  | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 255±7μs              | 371±6μs             |    1.46 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 299±2μs              | 407±6μs             |    1.36 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 297±7μs              | 402±10μs            |    1.35 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 346±10μs             | 447±9μs             |    1.29 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 281±2ms              | 348±3ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8267306891

github-actions[bot] avatar Mar 13 '24 16:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 5a4f5e5a

Performance shifts
| Change   | Before [9c431a01]    | After [5a4f5e5a]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.98±0.2ms           | 2.55±0.1ms          |    1.29 | experimental.ugrid.Connectivity.time_create(1000000)       |
| +        | 1.50±0.02ms          | 1.86±0.01ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.64±0.05ms          | 3.22±0.04ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±3μs              | 357±6μs             |    1.44 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 299±4μs              | 399±5μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 290±8μs              | 399±7μs             |    1.38 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±8μs              | 448±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 284±2ms              | 354±6ms             |    1.25 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [5a4f5e5a]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.42±0.08μs          | 4.35±0.04μs         | 0.98    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.97±0.08μs          | 4.90±0.07μs         | 0.99    | coords.AncillaryVariable.time_create                                                                 |
|          | 431±3ns              | 421±4ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.96±0.1μs           | 8.85±0.07μs         | 0.99    | coords.AuxCoord.time_create                                                                          |
|          | 418±4ns              | 404±2ns             | 0.97    | coords.AuxCoord.time_points                                                                          |
|          | 228±20μs             | 244±20μs            | 1.07    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.9±0.6μs           | 13.3±0.5μs          | 1.04    | coords.AuxCoordLazy.time_create                                                                      |
|          | 224±20μs             | 238±20μs            | 1.06    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.38±0.06μs          | 5.38±0.09μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.11±0.01μs          | 1.11±0.01μs         | 0.99    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 108±0.8μs            | 109±1μs             | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 31.3±0.6μs           | 31.7±0.4μs          | 1.01    | coords.DimCoord.time_regular                                                                         |
|          | 376±2ms              | 376±3ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 58.9±0.5μs           | 58.2±0.4μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.3±0.2μs           | 11.5±0.5μs          | 1.01    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.2±0.7μs           | 66.2±0.9μs          | 0.99    | cube.AuxCoord.time_add                                                                               |
|          | 9.82±0.3μs           | 9.52±0.1μs          | 0.97    | cube.AuxCoord.time_create                                                                            |
|          | 6.04±0.1μs           | 5.90±0.06μs         | 0.98    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.54±0.09μs          | 4.37±0.08μs         | 0.96    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.4±0.4μs           | 40.1±0.4μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 11.9±0.2μs           | 12.8±0.2μs          | 1.07    | cube.AuxFactory.time_create                                                                          |
|          | 58.6±0.3μs           | 57.9±0.5μs          | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.5±0.7μs           | 11.3±0.2μs          | 0.99    | cube.CellMeasure.time_create                                                                         |
|          | 52.1±0.4μs           | 51.9±0.3μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.34±0.1μs           | 7.22±0.1μs          | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.08ms           | 130±0.1ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.93±0.03μs          | 6.71±0.07μs         | 0.97    | cube.Cube.time_basic                                                                                 |
|          | 58.0±0.2ns           | 58.0±0.9ns          | 1.00    | cube.Cube.time_rename                                                                                |
|          | 61.7±0.3μs           | 60.6±0.7μs          | 0.98    | cube.Equality.time_equality                                                                          |
|          | 329±2ms              | 331±2ms             | 1.01    | cube.Merge.time_merge                                                                                |
|          | 27.3±2μs             | 27.6±1μs            | 1.01    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.8±1μs             | 30.2±1μs            | 0.98    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.9±2μs             | 24.5±1μs            | 0.95    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.5±0.4μs           | 19.4±0.4μs          | 0.99    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.5±0.3μs           | 19.6±0.3μs          | 1.00    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.6±0.2μs           | 19.0±0.2μs          | 1.02    | cube.MeshCoord.time_create(6)                                                                        |
|          | 51.6±6μs             | 50.2±7μs            | 0.97    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 59.5±4μs             | 60.2±3μs            | 1.01    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 44.7±5μs             | 41.1±4μs            | 0.92    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 621±7ns              | 602±7ns             | 0.97    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 622±6ns              | 602±4ns             | 0.97    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 19.6±2ms             | 23.4±2ms            | 1.20    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.23±0.02ms          | 2.64±0.02ms         | 1.18    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.1±3ms             | 27.6±3ms            | ~1.25   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.37±0.04ms          | 3.99±0.04ms         | 1.18    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.47±0.1ms           | 4.14±0.1ms          | 1.19    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 239±5μs              | 255±5μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 235±6μs              | 251±5μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.2±0.4ms           | 20.2±0.4ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.49±0.04ms          | 2.90±0.03ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 21.7±0.4ms           | 22.6±0.8ms          | 1.04    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.59±0.04ms          | 4.27±0.06ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.6±0.2μs           | 12.6±0.2μs          | 1.00    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.90±0.03μs          | 4.87±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.82±0.08μs          | 4.78±0.03μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.15±0.1μs           | 4.99±0.08μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.08±0.1μs           | 4.98±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.88±0.1μs           | 5.83±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.75±0.05μs          | 5.79±0.05μs         | 1.01    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.0±0.5μs           | 46.1±0.6μs          | 1.00    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 71.9±2ms             | 76.3±3ms            | 1.06    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 271±2μs              | 272±3μs             | 1.00    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.03±0.05μs          | 4.90±0.04μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.95±0.07μs          | 4.98±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.38±0.05μs          | 7.25±0.08μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.29±0.07μs          | 7.28±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.0±0.07μs          | 10.7±0.1μs          | 1.07    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 120±2ms              | 120±3ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.38±0.05μs          | 5.30±0.04μs         | 0.98    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.19±0.05ms          | 3.61±0.02ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.26±0.02ms          | 3.61±0.04ms         | 1.11    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 199±2μs              | 204±4μs             | 1.02    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.58±0.03μs          | 3.62±0.04μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.21±0.02μs          | 4.25±0.03μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.97±0.04μs          | 2.98±0.05μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.81±0.09ms          | 7.39±0.07ms         | 1.09    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 118±1ms              | 119±2ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.7±0.5μs           | 11.5±0.5μs          | 0.98    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.22±0.05ms          | 3.69±0.06ms         | 1.15    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.26±0.03ms          | 3.68±0.05ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 236±5μs              | 240±8μs             | 1.02    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.40±0.07ms          | 2.52±0.07ms         | 1.05    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.72±0.07ms          | 4.87±0.1ms          | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.71±0.5μs           | 7.74±0.3μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.6±1μs             | 32.0±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.3±1μs             | 19.5±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.7±1μs             | 15.7±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.9±0.4μs           | 16.8±0.7μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.0±0.3μs           | 16.0±0.5μs          | 1.00    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 20.0±0.7μs           | 19.2±0.8μs          | 0.96    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.7±0.5μs           | 19.0±0.6μs          | 1.02    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 80.7±3μs             | 77.9±2μs            | 0.96    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 74.6±2ms             | 75.2±2ms            | 1.01    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 343±20μs             | 340±10μs            | 0.99    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.8±0.8μs           | 18.1±0.6μs          | 0.96    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.0±0.4μs           | 16.8±0.4μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.7±0.9μs           | 31.1±0.8μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 30.0±1μs             | 29.3±0.9μs          | 0.97    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 507±8ns              | 499±8ns             | 0.98    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 250±1ms              | 248±2ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.6±0.1ms           | 13.6±0.07ms         | 1.17    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.6±1ms             | 15.3±0.6ms          | 1.12    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 126±2ms              | 135±2ms             | 1.08    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 725±3ms              | 732±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 86.9±0.6ms           | 94.7±1ms            | 1.09    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 682±3ms              | 685±6ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 568±8μs              | 567±5μs             | 1.00    | import_iris.Iris.time__concatenate                                                                   |
|          | 165±2μs              | 164±2μs             | 0.99    | import_iris.Iris.time__constraints                                                                   |
|          | 101±0.4μs            | 101±0.6μs           | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.2±0.4μs           | 84.6±0.8μs          | 0.99    | import_iris.Iris.time__deprecation                                                                   |
|          | 110±1μs              | 109±1μs             | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 782±3μs              | 789±10μs            | 1.01    | import_iris.Iris.time__merge                                                                         |
|          | 71.0±0.4μs           | 72.3±0.3μs          | 1.02    | import_iris.Iris.time__representation                                                                |
|          | 432±4μs              | 431±4μs             | 1.00    | import_iris.Iris.time_analysis                                                                       |
|          | 128±3μs              | 128±8μs             | 1.00    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 99.5±0.7μs           | 98.1±1μs            | 0.99    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 217±1μs              | 218±4μs             | 1.01    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 172±3μs              | 170±3μs             | 0.99    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±1μs              | 101±0.6μs           | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 127±0.8μs            | 128±3μs             | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 282±1μs              | 280±2μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.7±0.9μs           | 83.6±0.4μs          | 0.99    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 201±3μs              | 199±3μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 91.2±0.3μs           | 89.9±0.9μs          | 0.99    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 167±1μs              | 170±4μs             | 1.02    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 268±3μs              | 270±4μs             | 1.01    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.3±0.6μs           | 81.0±0.5μs          | 1.01    | import_iris.Iris.time_common                                                                         |
|          | 153±1μs              | 153±0.9μs           | 1.00    | import_iris.Iris.time_common_lenient                                                                 |
|          | 871±9μs              | 875±6μs             | 1.00    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±1μs              | 123±0.6μs           | 0.99    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.01ms          | 1.02±0.01ms         | 0.98    | import_iris.Iris.time_common_resolve                                                                 |
|          | 187±3μs              | 186±3μs             | 0.99    | import_iris.Iris.time_config                                                                         |
|          | 106±1μs              | 106±0.5μs           | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 321±4μs              | 318±3μs             | 0.99    | import_iris.Iris.time_coord_systems                                                                  |
|          | 635±6μs              | 631±6μs             | 0.99    | import_iris.Iris.time_coords                                                                         |
|          | 595±10μs             | 586±8μs             | 0.99    | import_iris.Iris.time_cube                                                                           |
|          | 209±3μs              | 206±2μs             | 0.99    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.9±0.5μs           | 73.2±0.6μs          | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 195±1μs              | 193±1μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 225±2μs              | 227±4μs             | 1.01    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.42±0.01ms          | 2.38±0.01ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.4±0.4μs           | 73.6±0.3μs          | 0.99    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 108±1μs              | 107±1μs             | 0.99    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 318±3μs              | 321±7μs             | 1.01    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.29±0.06ms          | 5.25±0.04ms         | 0.99    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.7±1μs             | 69.4±0.8μs          | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 237±3μs              | 233±1μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 113±0.6μs           | 1.00    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±1μs              | 112±0.9μs           | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 191±4μs              | 189±2μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 675±10μs             | 671±3μs             | 0.99    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 163±4μs              | 158±1μs             | 0.97    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 121±2μs              | 123±1μs             | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 440±6μs              | 436±3μs             | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 194±2μs              | 194±1μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.9±0.5μs           | 79.8±0.4μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 153±2μs              | 150±3μs             | 0.98    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 131±0.9μs            | 131±0.9μs           | 1.00    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.6±0.5μs           | 70.9±0.6μs          | 0.99    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.8±1μs             | 77.4±0.3μs          | 0.98    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 871±4μs              | 860±7μs             | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 129±0.9μs            | 127±1μs             | 0.99    | import_iris.Iris.time_io                                                                             |
|          | 162±2μs              | 158±1μs             | 0.97    | import_iris.Iris.time_io_format_picker                                                               |
|          | 198±4μs              | 193±1μs             | 0.98    | import_iris.Iris.time_iris                                                                           |
|          | 118±1μs              | 118±1μs             | 1.00    | import_iris.Iris.time_iterate                                                                        |
|          | 8.08±0.04ms          | 8.05±0.07ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 300±3μs              | 301±5μs             | 1.00    | import_iris.Iris.time_plot                                                                           |
|          | 94.0±0.7μs           | 92.1±0.8μs          | 0.98    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.96±0.02ms          | 1.88±0.01ms         | 0.96    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.03ms          | 1.70±0.02ms         | 0.99    | import_iris.Iris.time_symbols                                                                        |
|          | 110±2ms              | 109±2ms             | 0.99    | import_iris.Iris.time_tests                                                                          |
|          | 222±2μs              | 219±3μs             | 0.99    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.83±0.03ms          | 4.77±0.04ms         | 0.99    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 104±0.4μs            | 103±0.3μs           | 0.99    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.67±0.02ms          | 2.65±0.01ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0ms             | 1.01±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 153±1μs              | 152±0.8μs           | 1.00    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.9±0.6μs           | 91.9±0.7μs          | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 287±4μs              | 284±4μs             | 0.99    | import_iris.Iris.time_util                                                                           |
|          | 83.2±0.8μs           | 82.1±0.4μs          | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 7.41±0.1ms           | 7.80±0.03ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.7±0.6ms           | 22.4±0.3ms          | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.04±0.08ms          | 8.54±0.05ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.36±0.05ms          | 7.74±0.08ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.0±0.1ms           | 20.0±0.1ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.05±0.08ms          | 8.56±0.06ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.25±0.02s           | 1.32±0.02s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.3±0.2ms           | 19.3±0.3ms          | 1.00    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.40±0.02s           | 1.48±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.25±0.02s           | 1.31±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.6±0.3ms           | 19.3±0.1ms          | 0.98    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.01s           | 1.47±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.55±0.02ms          | 3.74±0.02ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.8±0.4ms           | 18.7±0.2ms          | 0.99    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.82±0.04ms          | 3.97±0.02ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.54±0.02ms          | 3.73±0.06ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.7±0.2ms           | 18.6±0.1ms          | 0.99    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.83±0.04ms          | 3.99±0.03ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 34.5±3ms             | 34.3±3ms            | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.6±0.2ms           | 19.2±0.3ms          | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.0±2ms             | 13.3±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.5±2ms             | 25.4±0.9ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.3±1ms             | 72.4±1ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.8±2ms             | 25.9±2ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 385±4ms              | 440±4ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.84±0.1ms           | 2.83±0.08ms         | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 390±2ms              | 443±2ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 384±5ms              | 441±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.68±0.07ms          | 2.87±0.1ms          | 1.07    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 386±5ms              | 448±4ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.40±0.08ms          | 1.52±0.07ms         | 1.09    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.87±0.2ms           | 2.80±0.07ms         | 0.97    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.36±0.07ms          | 1.54±0.06ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.36±0.05ms          | 1.55±0.09ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.85±0.1ms           | 2.88±0.08ms         | 1.01    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.39±0.07ms          | 1.58±0.09ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 337±2ms              | 336±2ms             | 1.00    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.52±0.06ms          | 7.96±0.08ms         | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.19±0.09ms          | 8.75±0.07ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.24±0.01s           | 1.32±0.01s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.02s           | 1.47±0.01s          | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.60±0.02ms          | 3.81±0.04ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.88±0.05ms          | 4.06±0.05ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.37±0.06ms          | 7.73±0.08ms         | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.18±0.04ms          | 4.52±0.06ms         | 1.08    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.23±0.01s           | 1.30±0.01s          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.53±0.03ms          | 3.77±0.02ms         | 1.07    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.22±0.04ms          | 3.39±0.03ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 128±1ms              | 136±3ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.9±0.2ms           | 21.9±0.1ms          | 1.00    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 142±2ms              | 154±2ms             | 1.08    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.0±0.1ms           | 27.7±0.5ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.7±0.5ms           | 21.5±0.2ms          | 0.99    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.1±0.3ms           | 29.5±0.3ms          | 1.05    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.4ms           | 16.9±0.4ms          | 1.03    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.2±0.5ms           | 38.5±0.8ms          | 1.06    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.2±0.2ms           | 13.8±0.3ms          | 1.05    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.5±0.6ms           | 21.4±0.5ms          | 1.04    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.3±0.2ms           | 17.0±0.3ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.0±0.5ms           | 19.4±0.4ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.2±0.2ms           | 13.6±0.1ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.9±0.5ms           | 15.9±0.2ms          | 1.00    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.6±0.3ms           | 17.8±0.4ms          | 1.01    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 44.2±0.5ms           | 47.5±0.9ms          | 1.07    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.3±0.2ms           | 18.0±0.3ms          | 1.04    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.8±0.4ms           | 20.6±0.3ms          | 0.99    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.47±0.09ms          | 2.64±0.07ms         | 1.07    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.22±0.1ms           | 5.24±0.07ms         | 1.01    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 38.7±2ms             | 37.7±0.9ms          | 0.97    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 805±7ms              | 805±6ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±2ns              | 103±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 924±8ns              | 893±4ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 103±0.7ns            | 104±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 918±20ns             | 905±6ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±1ns              | 102±0.2ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.00±0.01μs          | 1000±20ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 103±2ns              | 103±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0.02μs          | 1.08±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±1ns              | 102±0.3ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.02±0.02μs          | 1.00±0.02μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±2ns              | 101±0.2ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.13±0.02μs          | 1.14±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.02μs          | 997±4ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.87±0.1μs           | 7.03±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 65.3±0.9μs           | 66.2±0.6μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.03±0.02μs          | 999±5ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.83±0.1μs           | 6.96±0.2μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 64.4±0.8μs           | 65.8±0.5μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.07±0.01μs          | 1.04±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.37±0.2μs           | 7.41±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 71.1±3μs             | 72.1±2μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.11±0.02μs          | 1.09±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.82±0.2μs           | 7.83±0.1μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 75.0±2μs             | 75.8±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.09±0.01μs          | 1.05±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.39±0.07μs          | 7.34±0.1μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 69.3±1μs             | 71.0±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.16±0.01μs          | 1.12±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.16±0.2μs           | 8.22±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 77.3±1μs             | 78.6±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 108±3ns              | 108±0.4ns           | 1.00    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 108±1ns              | 107±2ns             | 0.99    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 1.01±0.02μs          | 944±6ns             | 0.94    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 108±2ns              | 108±0.4ns           | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 109±0.6ns            | 107±0.4ns           | 0.99    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±2ns              | 108±0.8ns           | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 706±10ns             | 694±4ns             | 0.98    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 116±2ns              | 117±2ns             | 1.01    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.46±0.06μs          | 3.51±0.03μs         | 1.02    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.41±0.04μs          | 4.31±0.04μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.29±0.03μs          | 4.24±0.04μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 550±5ns              | 537±3ns             | 0.98    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 418±5ns              | 417±6ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 435±3ns              | 430±4ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 367±4ms              | 365±4ms             | 0.99    | plot.AuxSort.time_aux_sort                                                                           |
|          | 77.2±2ms             | 74.2±6ms            | 0.96    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 95.6±0.8ms           | 95.9±0.7ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 50.5±4ms             | 47.9±2ms            | 0.95    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.69±0.03ms          | 4.07±0.04ms         | 1.10    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 86.0±0.9ms           | 94.1±1ms            | 1.09    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.4±0.6ms           | 54.8±0.7ms          | 1.03    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 583±4ms              | 588±4ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 101±0.7ns            | 101±0.5ns           | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 72.3±1ms             | 78.4±0.7ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 101±0.9ns            | 102±0.8ns           | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 513±2ms              | 519±2ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 35.9±1ms             | 41.5±1ms            | 1.16    | stats.PearsonR.time_lazy                                                                             |
|          | 18.8±0.4ms           | 18.8±0.3ms          | 1.00    | stats.PearsonR.time_real                                                                             |
|          | 23.6±0.9ms           | 23.1±1ms            | 0.98    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.3±0.7ms           | 59.9±0.6ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [5a4f5e5a]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.98±0.2ms           | 2.55±0.1ms          |    1.29 | experimental.ugrid.Connectivity.time_create(1000000)       |
| +        | 1.50±0.02ms          | 1.86±0.01ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.64±0.05ms          | 3.22±0.04ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±3μs              | 357±6μs             |    1.44 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 299±4μs              | 399±5μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 290±8μs              | 399±7μs             |    1.38 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±8μs              | 448±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 284±2ms              | 354±6ms             |    1.25 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8280049776

github-actions[bot] avatar Mar 14 '24 12:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 0f208060

Performance shifts
| Change   | Before [9c431a01]    | After [0f208060]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 3.32±0.05ms          | 3.98±0.05ms         |    1.2  | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.66±0.04ms          | 3.23±0.05ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 255±4μs              | 355±4μs             |    1.39 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 302±6μs              | 401±3μs             |    1.33 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 295±8μs              | 408±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 336±5μs              | 445±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 288±6ms              | 354±5ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [0f208060]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.39±0.03μs          | 4.26±0.03μs         | 0.97    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.94±0.1μs           | 4.97±0.04μs         | 1.00    | coords.AncillaryVariable.time_create                                                                 |
|          | 430±3ns              | 422±3ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 9.00±0.1μs           | 8.95±0.04μs         | 0.99    | coords.AuxCoord.time_create                                                                          |
|          | 413±4ns              | 397±6ns             | 0.96    | coords.AuxCoord.time_points                                                                          |
|          | 229±20μs             | 245±20μs            | 1.07    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.7±0.8μs           | 12.8±0.5μs          | 1.01    | coords.AuxCoordLazy.time_create                                                                      |
|          | 225±20μs             | 238±20μs            | 1.06    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.33±0.07μs          | 5.31±0.09μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.12±0.01μs          | 1.12±0.02μs         | 1.00    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±3μs              | 109±1μs             | 0.99    | coords.DimCoord.time_create                                                                          |
|          | 32.0±0.8μs           | 31.6±0.8μs          | 0.99    | coords.DimCoord.time_regular                                                                         |
|          | 381±5ms              | 375±3ms             | 0.98    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 58.9±0.4μs           | 57.2±0.7μs          | 0.97    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.5±0.4μs           | 11.1±0.2μs          | 0.96    | cube.AncillaryVariable.time_create                                                                   |
|          | 66.8±0.7μs           | 66.3±0.6μs          | 0.99    | cube.AuxCoord.time_add                                                                               |
|          | 9.43±0.1μs           | 9.44±0.1μs          | 1.00    | cube.AuxCoord.time_create                                                                            |
|          | 6.02±0.1μs           | 6.11±0.05μs         | 1.02    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.49±0.03μs          | 4.50±0.05μs         | 1.00    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.5±0.3μs           | 40.6±0.7μs          | 1.00    | cube.AuxFactory.time_add                                                                             |
|          | 12.3±0.2μs           | 12.7±0.1μs          | 1.03    | cube.AuxFactory.time_create                                                                          |
|          | 58.9±0.6μs           | 58.2±0.5μs          | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.2±0.3μs           | 11.4±0.2μs          | 1.02    | cube.CellMeasure.time_create                                                                         |
|          | 51.8±0.5μs           | 51.8±0.7μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.34±0.04μs          | 7.20±0.06μs         | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 131±0.5ms            | 130±0.2ms           | 0.99    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.75±0.1μs           | 6.78±0.06μs         | 1.00    | cube.Cube.time_basic                                                                                 |
|          | 59.3±1ns             | 57.5±0.4ns          | 0.97    | cube.Cube.time_rename                                                                                |
|          | 61.7±0.6μs           | 61.3±0.6μs          | 0.99    | cube.Equality.time_equality                                                                          |
|          | 331±3ms              | 328±4ms             | 0.99    | cube.Merge.time_merge                                                                                |
|          | 28.7±1μs             | 27.1±2μs            | 0.94    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.9±1μs             | 30.2±2μs            | 0.98    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 26.5±2μs             | 24.6±2μs            | 0.93    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.6±0.3μs           | 19.5±0.3μs          | 1.00    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.5±0.3μs           | 19.1±0.5μs          | 0.98    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.7±0.2μs           | 18.7±0.5μs          | 1.00    | cube.MeshCoord.time_create(6)                                                                        |
|          | 54.9±8μs             | 47.4±7μs            | 0.86    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 60.5±3μs             | 60.8±4μs            | 1.01    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 43.4±6μs             | 42.6±7μs            | 0.98    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.06±0.2ms           | 2.56±0.2ms          | ~1.24   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 1.55±0.02ms          | 1.83±0.02ms         | 1.19    | experimental.ugrid.Connectivity.time_create(6)                                                       |
|          | 603±4ns              | 598±4ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 601±5ns              | 597±4ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 19.9±2ms             | 23.5±2ms            | 1.18    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.27±0.03ms          | 2.67±0.02ms         | 1.18    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.8±3ms             | 28.0±3ms            | ~1.23   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.49±0.2ms           | 4.05±0.09ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 244±9μs              | 255±6μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 238±8μs              | 249±5μs             | 1.05    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.7±0.3ms           | 20.1±0.4ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.54±0.09ms          | 2.93±0.03ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.2±0.5ms           | 23.5±0.6ms          | 1.06    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.70±0.07ms          | 4.27±0.05ms         | 1.15    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.5±0.08μs          | 12.6±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.95±0.06μs          | 4.81±0.03μs         | 0.97    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.85±0.07μs          | 4.81±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.17±0.05μs          | 5.11±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.11±0.05μs          | 5.03±0.07μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.98±0.09μs          | 5.87±0.08μs         | 0.98    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.89±0.08μs          | 5.89±0.04μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.2±0.6μs           | 45.5±0.6μs          | 0.99    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 75.7±5ms             | 75.3±3ms            | 0.99    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 277±3μs              | 274±2μs             | 0.99    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.01±0.05μs          | 4.94±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.00±0.07μs          | 4.96±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.42±0.1μs           | 7.28±0.05μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.50±0.08μs          | 7.28±0.1μs          | 0.97    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.4±0.3μs           | 10.7±0.09μs         | 1.03    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 119±4ms              | 117±1ms             | 0.99    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.33±0.05μs          | 5.33±0.03μs         | 1.00    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.26±0.04ms          | 3.67±0.03ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.27±0.03ms          | 3.61±0.02ms         | 1.11    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 202±2μs              | 197±1μs             | 0.98    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.62±0.03μs          | 3.59±0.02μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.14±0.03μs          | 4.11±0.04μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.97±0.03μs          | 2.89±0.04μs         | 0.97    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.84±0.2ms           | 7.46±0.2ms          | 1.09    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 118±3ms              | 120±4ms             | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.6±0.8μs           | 11.7±0.5μs          | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.33±0.06ms          | 3.68±0.09ms         | 1.10    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.32±0.04ms          | 3.72±0.07ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 239±9μs              | 238±10μs            | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.45±0.1ms           | 2.53±0.1ms          | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.49±0.2ms           | 4.53±0.2ms          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.68±1μs             | 8.23±1μs            | 0.95    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.5±1μs             | 31.7±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.7±1μs             | 18.6±1μs            | 0.94    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.7±1μs             | 15.5±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.9±0.7μs           | 16.8±0.5μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.3±0.5μs           | 16.4±0.8μs          | 1.00    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.9±0.7μs           | 19.1±0.6μs          | 0.96    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.8±0.5μs           | 18.9±0.6μs          | 1.00    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.8±3μs             | 77.2±2μs            | 0.98    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 72.3±2ms             | 74.3±2ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 342±10μs             | 341±20μs            | 1.00    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.4±0.9μs           | 18.1±0.7μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.2±0.6μs           | 16.9±0.8μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.8±0.8μs           | 31.1±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.8±1μs             | 29.2±0.8μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 495±3ns              | 489±3ns             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 252±2ms              | 251±2ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.7±0.2ms           | 13.4±0.08ms         | 1.15    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.4±0.2ms           | 15.2±0.1ms          | 1.13    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 125±1ms              | 133±1ms             | 1.06    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 728±5ms              | 732±6ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 86.0±1ms             | 94.0±1ms            | 1.09    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 683±4ms              | 689±5ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 572±10μs             | 568±3μs             | 0.99    | import_iris.Iris.time__concatenate                                                                   |
|          | 166±6μs              | 163±2μs             | 0.98    | import_iris.Iris.time__constraints                                                                   |
|          | 103±2μs              | 100±2μs             | 0.98    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.8±1μs             | 84.8±0.3μs          | 0.99    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±1μs              | 109±1μs             | 1.00    | import_iris.Iris.time__lazy_data                                                                     |
|          | 800±10μs             | 781±6μs             | 0.98    | import_iris.Iris.time__merge                                                                         |
|          | 71.2±0.6μs           | 71.7±0.3μs          | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 443±10μs             | 431±4μs             | 0.97    | import_iris.Iris.time_analysis                                                                       |
|          | 131±2μs              | 127±1μs             | 0.97    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 100.0±2μs            | 98.4±1μs            | 0.98    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 217±3μs              | 216±2μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 171±3μs              | 171±2μs             | 1.00    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±1μs              | 101±0.7μs           | 1.01    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 129±2μs              | 127±2μs             | 0.98    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 287±6μs              | 282±1μs             | 0.98    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.4±2μs             | 83.7±2μs            | 0.99    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 201±4μs              | 199±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.9±2μs             | 91.2±2μs            | 1.00    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 165±4μs              | 168±2μs             | 1.02    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 270±8μs              | 270±3μs             | 1.00    | import_iris.Iris.time_aux_factory                                                                    |
|          | 81.3±1μs             | 79.7±0.6μs          | 0.98    | import_iris.Iris.time_common                                                                         |
|          | 153±4μs              | 152±1μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 878±20μs             | 880±6μs             | 1.00    | import_iris.Iris.time_common_metadata                                                                |
|          | 125±3μs              | 124±2μs             | 0.99    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.02ms          | 1.02±0.01ms         | 0.99    | import_iris.Iris.time_common_resolve                                                                 |
|          | 186±2μs              | 185±1μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 105±1μs              | 106±0.7μs           | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 321±8μs              | 320±2μs             | 1.00    | import_iris.Iris.time_coord_systems                                                                  |
|          | 650±20μs             | 635±5μs             | 0.98    | import_iris.Iris.time_coords                                                                         |
|          | 597±20μs             | 596±7μs             | 1.00    | import_iris.Iris.time_cube                                                                           |
|          | 204±3μs              | 206±2μs             | 1.01    | import_iris.Iris.time_exceptions                                                                     |
|          | 73.5±0.7μs           | 72.5±0.3μs          | 0.99    | import_iris.Iris.time_experimental                                                                   |
|          | 196±2μs              | 193±1μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 227±5μs              | 224±2μs             | 0.99    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.45±0.05ms          | 2.44±0.03ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.9±1μs             | 73.8±0.3μs          | 1.00    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 109±3μs              | 106±1μs             | 0.98    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 321±9μs              | 318±4μs             | 0.99    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.39±0.09ms          | 5.30±0.04ms         | 0.98    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.0±0.8μs           | 70.3±0.6μs          | 1.03    | import_iris.Iris.time_fileformats_name                                                               |
|          | 235±2μs              | 237±2μs             | 1.01    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 114±2μs              | 113±1μs             | 0.99    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 113±1μs              | 112±1μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 192±3μs              | 188±1μs             | 0.98    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 680±20μs             | 674±6μs             | 0.99    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 161±2μs              | 159±1μs             | 0.99    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±0.9μs            | 123±2μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 445±6μs              | 440±5μs             | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 199±6μs              | 193±2μs             | 0.97    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.9±0.6μs           | 79.2±1μs            | 0.99    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±2μs              | 150±2μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 133±6μs              | 129±1μs             | 0.98    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.5±0.9μs           | 70.9±0.6μs          | 0.99    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.5±0.9μs           | 77.3±0.6μs          | 1.00    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 882±10μs             | 860±3μs             | 0.97    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 129±2μs              | 126±0.6μs           | 0.98    | import_iris.Iris.time_io                                                                             |
|          | 160±4μs              | 159±2μs             | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 195±3μs              | 194±4μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 120±2μs              | 118±1μs             | 0.98    | import_iris.Iris.time_iterate                                                                        |
|          | 8.24±0.1ms           | 8.07±0.02ms         | 0.98    | import_iris.Iris.time_palette                                                                        |
|          | 302±3μs              | 300±2μs             | 0.99    | import_iris.Iris.time_plot                                                                           |
|          | 93.9±1μs             | 92.9±0.5μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.08ms          | 1.88±0.01ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.72±0.02ms          | 1.70±0.01ms         | 0.99    | import_iris.Iris.time_symbols                                                                        |
|          | 297±0.9ms            | 296±1ms             | 1.00    | import_iris.Iris.time_tests                                                                          |
|          | 219±2μs              | 218±2μs             | 0.99    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.77±0.06ms          | 4.81±0.04ms         | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±1μs              | 104±0.9μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.66±0.02ms          | 2.64±0.02ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.01±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 154±3μs              | 153±2μs             | 0.99    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 93.9±1μs             | 92.0±1μs            | 0.98    | import_iris.Iris.time_time                                                                           |
|          | 286±3μs              | 290±1μs             | 1.01    | import_iris.Iris.time_util                                                                           |
|          | 82.1±0.7μs           | 81.0±0.6μs          | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 7.51±0.04ms          | 7.81±0.05ms         | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.1±0.5ms           | 22.6±0.5ms          | 0.98    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.27±0.07ms          | 8.51±0.07ms         | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.48±0.09ms          | 7.79±0.06ms         | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.2±0.2ms           | 19.9±0.2ms          | 0.98    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.34±0.1ms           | 8.54±0.04ms         | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.26±0.01s           | 1.32±0.02s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.1±0.3ms           | 19.2±0.2ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.41±0.02s           | 1.45±0.01s          | 1.04    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.24±0.01s           | 1.31±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.2±0.2ms           | 19.2±0.2ms          | 1.00    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.02s           | 1.46±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.61±0.02ms          | 3.73±0.05ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.6±0.1ms           | 18.7±0.6ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.84±0.02ms          | 4.03±0.07ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.63±0.04ms          | 3.73±0.02ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.7±0.2ms           | 18.5±0.2ms          | 0.99    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.83±0.03ms          | 3.99±0.02ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 31.2±2ms             | 32.0±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 18.6±0.2ms           | 19.0±0.3ms          | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 12.9±2ms             | 13.2±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.2±2ms             | 25.7±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.2±1ms             | 72.3±1ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.2±1ms             | 26.7±2ms            | 1.06    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 373±3ms              | 432±5ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.72±0.1ms           | 2.84±0.1ms          | 1.04    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 380±5ms              | 439±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 378±3ms              | 438±4ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.72±0.1ms           | 2.84±0.08ms         | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 383±4ms              | 444±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.38±0.05ms          | 1.56±0.08ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.76±0.1ms           | 2.91±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.37±0.07ms          | 1.54±0.08ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.34±0.06ms          | 1.59±0.06ms         | 1.19    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.82±0.1ms           | 2.84±0.1ms          | 1.01    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.39±0.07ms          | 1.61±0.07ms         | 1.16    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 333±1ms              | 332±2ms             | 1.00    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.59±0.06ms          | 7.94±0.05ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.39±0.07ms          | 8.72±0.06ms         | 1.04    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.26±0.02s           | 1.33±0.01s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.02s           | 1.49±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.67±0.03ms          | 3.79±0.04ms         | 1.03    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.94±0.02ms          | 4.08±0.03ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.50±0.05ms          | 7.77±0.05ms         | 1.04    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.20±0.03ms          | 4.52±0.03ms         | 1.08    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.24±0.01s           | 1.31±0.02s          | 1.05    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.62±0.02ms          | 3.73±0.02ms         | 1.03    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.29±0.07ms          | 3.38±0.02ms         | 1.03    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 132±2ms              | 137±4ms             | 1.04    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.0±0.3ms           | 21.9±0.4ms          | 0.99    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 145±3ms              | 154±2ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.0±0.5ms           | 27.8±0.7ms          | 1.03    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.6±0.2ms           | 21.7±0.3ms          | 1.00    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.6±0.3ms           | 29.6±0.4ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.6ms           | 16.8±0.3ms          | 1.02    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.3±0.8ms           | 38.1±0.3ms          | 1.05    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.3±0.3ms           | 13.5±0.1ms          | 1.02    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.9±0.7ms           | 21.1±0.6ms          | 1.01    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.5±1ms             | 16.7±0.2ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.7±0.5ms           | 19.5±0.4ms          | 0.99    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.2±0.3ms           | 13.7±0.3ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.0±0.7ms           | 16.1±0.4ms          | 1.00    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.4±0.5ms           | 17.9±0.4ms          | 1.03    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 43.5±0.8ms           | 47.2±0.8ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.3±0.3ms           | 18.0±0.4ms          | 1.04    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.8±0.7ms           | 21.1±0.4ms          | 1.02    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.66±0.2ms           | 2.59±0.07ms         | 0.97    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.24±0.7ms           | 5.27±0.7ms          | 1.01    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 37.6±2ms             | 37.2±1ms            | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 790±7ms              | 797±4ms             | 1.01    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 103±2ns              | 110±9ns             | 1.07    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 908±8ns              | 935±100ns           | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±1ns              | 103±2ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 908±7ns              | 907±10ns            | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.4ns            | 105±6ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.02±0.02μs          | 994±10ns            | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 103±2ns              | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.10±0.01μs          | 1.07±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 104±2ns              | 104±2ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.02±0.01μs          | 1.01±0.02μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±0.8ns            | 107±4ns             | 1.04    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.16±0.01μs          | 1.14±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 994±20ns             | 1.00±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.77±0.1μs           | 6.83±0.3μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.2±0.5μs           | 64.4±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.02±0.04μs          | 988±6ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.77±0.03μs          | 6.78±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.4±0.5μs           | 64.1±0.4μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.04±0.01μs          | 1.04±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.26±0.04μs          | 7.33±0.08μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.3±0.3μs           | 68.2±0.5μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.10±0.02μs          | 1.09±0μs            | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.65±0.1μs           | 7.75±0.05μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.1±0.3μs           | 73.6±0.6μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.04±0μs             | 1.04±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.18±0.06μs          | 7.22±0.06μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.2±0.7μs           | 68.2±0.4μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.12±0.02μs          | 1.14±0.02μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.03±0.04μs          | 8.17±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.3±0.6μs           | 77.2±0.3μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 108±0.8ns            | 108±2ns             | 1.00    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 107±0.6ns            | 106±0.7ns           | 0.99    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 974±20ns             | 957±7ns             | 0.98    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 108±1ns              | 108±3ns             | 1.00    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 107±0.6ns            | 108±1ns             | 1.01    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±1ns              | 106±0.7ns           | 0.98    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 699±20ns             | 701±10ns            | 1.00    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 114±0.4ns            | 114±1ns             | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.47±0.04μs          | 3.50±0.03μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.40±0.05μs          | 4.33±0.02μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.28±0.02μs          | 4.23±0.03μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 558±10ns             | 530±3ns             | 0.95    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 412±5ns              | 412±2ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 435±2ns              | 429±3ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 366±3ms              | 367±2ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 76.5±3ms             | 74.1±3ms            | 0.97    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.7±0.9ms           | 96.6±0.9ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 48.0±2ms             | 48.4±3ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.71±0.07ms          | 4.12±0.08ms         | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 86.7±1ms             | 93.5±4ms            | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.5±0.4ms           | 54.1±1ms            | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 577±4ms              | 588±3ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 103±2ns              | 101±1ns             | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 71.6±1ms             | 77.6±0.9ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 103±3ns              | 105±1ns             | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 512±4ms              | 519±1ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.1±0.9ms           | 40.8±1ms            | 1.13    | stats.PearsonR.time_lazy                                                                             |
|          | 19.1±0.6ms           | 18.7±0.2ms          | 0.98    | stats.PearsonR.time_real                                                                             |
|          | 22.6±1ms             | 22.4±0.9ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.8±1ms             | 59.1±0.3ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [0f208060]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 3.32±0.05ms          | 3.98±0.05ms         |    1.2  | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.66±0.04ms          | 3.23±0.05ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 255±4μs              | 355±4μs             |    1.39 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 302±6μs              | 401±3μs             |    1.33 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 295±8μs              | 408±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 336±5μs              | 445±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 288±6ms              | 354±5ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8280066068

github-actions[bot] avatar Mar 14 '24 12:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: f9107219

Performance shifts
| Change   | Before [9c431a01]    | After [f9107219]    |   Ratio | Benchmark (Parameter)                                  |
|----------|----------------------|---------------------|---------|--------------------------------------------------------|
| +        | 254±4μs              | 351±4μs             |    1.38 | experimental.ugrid.Mesh.time_add_connectivities(6)     |
| +        | 300±6μs              | 399±3μs             |    1.33 | experimental.ugrid.Mesh.time_create(6)                 |
| +        | 298±7μs              | 399±10μs            |    1.34 | experimental.ugrid.MeshLazy.time_add_connectivities(6) |
| +        | 343±10μs             | 445±10μs            |    1.3  | experimental.ugrid.MeshLazy.time_create(6)             |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [f9107219]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.38±0.05μs          | 4.28±0.02μs         | 0.98    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 5.01±0.07μs          | 4.87±0.06μs         | 0.97    | coords.AncillaryVariable.time_create                                                                 |
|          | 427±5ns              | 419±5ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.91±0.08μs          | 8.90±0.04μs         | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 407±5ns              | 406±8ns             | 1.00    | coords.AuxCoord.time_points                                                                          |
|          | 231±20μs             | 255±30μs            | 1.10    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.6±0.6μs           | 13.0±0.6μs          | 1.03    | coords.AuxCoordLazy.time_create                                                                      |
|          | 225±20μs             | 255±20μs            | 1.13    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.42±0.03μs          | 5.41±0.08μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.12±0.01μs          | 1.10±0.02μs         | 0.98    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±2μs              | 108±1μs             | 0.99    | coords.DimCoord.time_create                                                                          |
|          | 31.1±0.6μs           | 31.2±0.3μs          | 1.00    | coords.DimCoord.time_regular                                                                         |
|          | 387±3ms              | 391±3ms             | 1.01    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.6±0.7μs           | 59.2±0.4μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.5±0.1μs           | 11.4±0.2μs          | 0.99    | cube.AncillaryVariable.time_create                                                                   |
|          | 68.5±1μs             | 67.4±0.4μs          | 0.98    | cube.AuxCoord.time_add                                                                               |
|          | 9.62±0.2μs           | 9.36±0.2μs          | 0.97    | cube.AuxCoord.time_create                                                                            |
|          | 5.94±0.05μs          | 5.95±0.1μs          | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.44±0.06μs          | 4.49±0.04μs         | 1.01    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.2±0.7μs           | 40.2±0.3μs          | 1.00    | cube.AuxFactory.time_add                                                                             |
|          | 12.3±0.2μs           | 12.2±0.3μs          | 0.99    | cube.AuxFactory.time_create                                                                          |
|          | 59.8±1μs             | 59.1±0.4μs          | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.4±0.2μs           | 11.3±0.2μs          | 1.00    | cube.CellMeasure.time_create                                                                         |
|          | 52.4±0.8μs           | 52.6±0.4μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.45±0.1μs           | 7.15±0.07μs         | 0.96    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 131±0.6ms            | 132±0.6ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.87±0.07μs          | 6.80±0.09μs         | 0.99    | cube.Cube.time_basic                                                                                 |
|          | 59.8±0.4ns           | 58.1±0.8ns          | 0.97    | cube.Cube.time_rename                                                                                |
|          | 61.5±0.4μs           | 62.2±0.4μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 344±5ms              | 348±2ms             | 1.01    | cube.Merge.time_merge                                                                                |
|          | 29.8±2μs             | 30.3±2μs            | 1.02    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.1±2μs             | 30.8±2μs            | 0.99    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.2±2μs             | 26.2±1μs            | 1.04    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.7±0.5μs           | 19.5±0.3μs          | 0.99    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.5±0.2μs           | 19.3±0.3μs          | 0.99    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.5±0.1μs           | 18.8±0.2μs          | 1.02    | cube.MeshCoord.time_create(6)                                                                        |
|          | 54.9±3μs             | 56.6±5μs            | 1.03    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 61.0±3μs             | 59.9±3μs            | 0.98    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 57.1±5μs             | 53.1±4μs            | 0.93    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.08±0.3ms           | 2.47±0.3ms          | 1.19    | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 1.54±0.03ms          | 1.82±0.01ms         | 1.19    | experimental.ugrid.Connectivity.time_create(6)                                                       |
|          | 604±9ns              | 605±6ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 607±7ns              | 611±8ns             | 1.01    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 24.1±2ms             | 23.4±2ms            | 0.97    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.23±0.02ms          | 2.65±0.05ms         | 1.19    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 24.0±3ms             | 28.2±3ms            | 1.17    | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.36±0.06ms          | 3.97±0.05ms         | 1.18    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.64±0.2ms           | 4.22±0.1ms          | 1.16    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 2.69±0.05ms          | 3.17±0.03ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_create(6)                                                   |
|          | 242±7μs              | 261±10μs            | 1.08    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 237±8μs              | 248±7μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.2±0.4ms           | 20.6±0.4ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.51±0.05ms          | 2.90±0.06ms         | 1.15    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.6±0.8ms           | 23.3±0.7ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.65±0.08ms          | 4.24±0.09ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.08μs          | 12.7±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.89±0.02μs          | 4.81±0.03μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.86±0.04μs          | 4.82±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.02±0.07μs          | 4.99±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 4.97±0.05μs          | 5.01±0.08μs         | 1.01    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.86±0.06μs          | 5.89±0.09μs         | 1.01    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.87±0.04μs          | 5.88±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.5±0.5μs           | 45.6±0.4μs          | 0.98    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 76.4±4ms             | 77.6±2ms            | 1.02    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 270±4μs              | 282±5μs             | 1.04    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.96±0.04μs          | 4.84±0.09μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.94±0.07μs          | 4.88±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.37±0.07μs          | 7.28±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.31±0.07μs          | 7.31±0.09μs         | 1.00    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.2±0.1μs           | 10.4±0.2μs          | 1.02    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 124±3ms              | 124±3ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.35±0.03μs          | 5.34±0.04μs         | 1.00    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.28±0.05ms          | 3.66±0.02ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.27±0.04ms          | 3.70±0.04ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 199±2μs              | 199±1μs             | 1.00    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.66±0.04μs          | 3.58±0.06μs         | 0.98    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.22±0.04μs          | 4.18±0.07μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.96±0.03μs          | 2.93±0.03μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.93±0.2ms           | 7.54±0.2ms          | 1.09    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 127±4ms              | 128±2ms             | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.7±1μs             | 12.9±0.8μs          | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.33±0.07ms          | 3.62±0.06ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.33±0.05ms          | 3.66±0.05ms         | 1.10    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 237±9μs              | 238±10μs            | 1.00    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.57±0.2ms           | 2.59±0.1ms          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.84±0.2ms           | 4.83±0.1ms          | 1.00    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.98±1μs             | 8.46±0.8μs          | 1.06    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.3±2μs             | 32.8±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.0±1μs             | 19.0±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 17.7±2μs             | 16.7±2μs            | 0.94    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.6±0.8μs           | 16.6±0.9μs          | 0.94    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 17.3±1μs             | 16.0±0.4μs          | 0.92    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 20.4±2μs             | 19.3±0.9μs          | 0.95    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 19.4±1μs             | 18.8±0.6μs          | 0.97    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.7±2μs             | 77.4±3μs            | 0.97    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 80.4±4ms             | 79.9±2ms            | 0.99    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 357±20μs             | 348±10μs            | 0.97    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.6±0.9μs           | 19.4±1μs            | 1.05    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 18.3±2μs             | 16.9±0.5μs          | 0.92    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 34.8±2μs             | 31.3±1μs            | 0.90    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 32.1±2μs             | 30.5±1μs            | 0.95    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 502±4ns              | 493±4ns             | 0.98    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 252±2ms              | 252±1ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.9±0.2ms           | 13.7±0.2ms          | 1.15    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.8±0.7ms           | 15.5±0.3ms          | 1.12    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 129±4ms              | 137±3ms             | 1.06    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 747±6ms              | 753±4ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 89.8±1ms             | 96.8±0.7ms          | 1.08    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 704±10ms             | 706±5ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 580±10μs             | 570±9μs             | 0.98    | import_iris.Iris.time__concatenate                                                                   |
|          | 166±5μs              | 165±1μs             | 0.99    | import_iris.Iris.time__constraints                                                                   |
|          | 101±0.7μs            | 102±1μs             | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.3±0.8μs           | 85.4±0.6μs          | 1.00    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.8μs            | 109±2μs             | 1.00    | import_iris.Iris.time__lazy_data                                                                     |
|          | 802±10μs             | 797±7μs             | 0.99    | import_iris.Iris.time__merge                                                                         |
|          | 71.8±0.6μs           | 71.5±0.7μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 454±10μs             | 436±6μs             | 0.96    | import_iris.Iris.time_analysis                                                                       |
|          | 130±3μs              | 132±4μs             | 1.02    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.4±1μs             | 97.4±0.8μs          | 0.99    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 223±3μs              | 215±5μs             | 0.97    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 172±2μs              | 170±4μs             | 0.99    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±1μs              | 101±1μs             | 0.99    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 128±2μs              | 131±2μs             | 1.02    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 287±3μs              | 284±3μs             | 0.99    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.1±0.8μs           | 85.1±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 201±2μs              | 199±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.5±0.8μs           | 90.7±1μs            | 1.00    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 172±5μs              | 174±4μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 278±20μs             | 277±8μs             | 1.00    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.9±0.7μs           | 80.8±1μs            | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 156±4μs              | 155±2μs             | 1.00    | import_iris.Iris.time_common_lenient                                                                 |
|          | 899±10μs             | 891±9μs             | 0.99    | import_iris.Iris.time_common_metadata                                                                |
|          | 125±0.9μs            | 124±1μs             | 1.00    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.07±0.01ms          | 1.04±0.01ms         | 0.97    | import_iris.Iris.time_common_resolve                                                                 |
|          | 187±2μs              | 188±2μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 105±0.6μs            | 109±2μs             | 1.04    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 338±10μs             | 336±5μs             | 0.99    | import_iris.Iris.time_coord_systems                                                                  |
|          | 663±9μs              | 645±10μs            | 0.97    | import_iris.Iris.time_coords                                                                         |
|          | 599±30μs             | 609±20μs            | 1.02    | import_iris.Iris.time_cube                                                                           |
|          | 207±3μs              | 207±2μs             | 1.00    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.7±0.3μs           | 72.3±0.9μs          | 0.99    | import_iris.Iris.time_experimental                                                                   |
|          | 195±1μs              | 193±2μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 229±7μs              | 226±4μs             | 0.99    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.48±0.04ms          | 2.43±0.02ms         | 0.98    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.5±1μs             | 73.5±0.5μs          | 1.00    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 107±2μs              | 106±1μs             | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 322±10μs             | 323±7μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.68±0.2ms           | 5.42±0.1ms          | 0.95    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.8±0.8μs           | 70.0±0.7μs          | 1.02    | import_iris.Iris.time_fileformats_name                                                               |
|          | 235±5μs              | 237±1μs             | 1.01    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±0.7μs            | 110±1μs             | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 113±2μs              | 113±0.8μs           | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 189±4μs              | 193±3μs             | 1.02    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 681±20μs             | 677±6μs             | 0.99    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 160±4μs              | 161±1μs             | 1.01    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 123±1μs              | 123±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 448±7μs              | 436±7μs             | 0.97    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 201±5μs              | 197±2μs             | 0.98    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.4±0.9μs           | 79.9±1μs            | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 151±1μs              | 153±1μs             | 1.02    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 132±3μs              | 132±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.3±0.6μs           | 71.3±0.5μs          | 1.00    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.3±0.5μs           | 78.0±0.8μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 879±4μs              | 869±5μs             | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 129±2μs              | 130±3μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 164±4μs              | 161±2μs             | 0.98    | import_iris.Iris.time_io_format_picker                                                               |
|          | 197±2μs              | 195±2μs             | 0.99    | import_iris.Iris.time_iris                                                                           |
|          | 122±2μs              | 117±1μs             | 0.97    | import_iris.Iris.time_iterate                                                                        |
|          | 8.23±0.2ms           | 8.16±0.1ms          | 0.99    | import_iris.Iris.time_palette                                                                        |
|          | 302±3μs              | 304±3μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 93.4±2μs             | 93.3±0.8μs          | 1.00    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.96±0.04ms          | 1.91±0.03ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.01ms          | 1.73±0.01ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 299±2ms              | 304±40ms            | 1.02    | import_iris.Iris.time_tests                                                                          |
|          | 220±3μs              | 219±0.9μs           | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.80±0.07ms          | 4.87±0.03ms         | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.4μs            | 103±1μs             | 1.01    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.67±0.04ms          | 2.65±0.02ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.01±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 156±1μs              | 154±2μs             | 0.99    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.9±2μs             | 93.1±0.8μs          | 1.00    | import_iris.Iris.time_time                                                                           |
|          | 291±6μs              | 288±2μs             | 0.99    | import_iris.Iris.time_util                                                                           |
|          | 82.2±1μs             | 82.8±1μs            | 1.01    | iterate.IZip.time_izip                                                                               |
|          | 7.60±0.1ms           | 7.79±0.06ms         | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.9±0.5ms           | 23.7±0.2ms          | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.36±0.07ms          | 8.49±0.06ms         | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.54±0.1ms           | 7.74±0.1ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.8±0.8ms           | 20.7±0.3ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.24±0.09ms          | 8.60±0.05ms         | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.26±0.01s           | 1.32±0.02s          | 1.04    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.2±0.3ms           | 19.5±0.6ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.42±0.01s           | 1.49±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.26±0.02s           | 1.31±0.01s          | 1.04    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.5±0.4ms           | 19.5±0.3ms          | 1.00    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.42±0.01s           | 1.46±0.01s          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.69±0.04ms          | 3.77±0.07ms         | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 19.6±0.2ms           | 18.8±0.1ms          | 0.96    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.85±0.08ms          | 4.02±0.02ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.61±0.03ms          | 3.75±0.02ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 19.0±0.5ms           | 18.6±0.2ms          | 0.98    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.85±0.02ms          | 3.99±0.04ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 35.7±2ms             | 33.6±2ms            | 0.94    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 20.6±0.4ms           | 20.2±0.4ms          | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.7±3ms             | 13.8±2ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.7±3ms             | 26.3±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.4±1ms             | 71.5±2ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.9±1ms             | 26.3±1ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 387±7ms              | 438±9ms             | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.85±0.2ms           | 3.01±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 393±7ms              | 442±3ms             | 1.12    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 388±6ms              | 447±7ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 3.03±0.2ms           | 3.07±0.2ms          | 1.01    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 398±7ms              | 453±7ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.44±0.1ms           | 1.53±0.08ms         | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.97±0.1ms           | 2.88±0.2ms          | 0.97    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.40±0.06ms          | 1.54±0.1ms          | 1.10    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.41±0.09ms          | 1.57±0.09ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 3.09±0.2ms           | 2.96±0.1ms          | 0.96    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.44±0.07ms          | 1.56±0.06ms         | 1.09    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 336±2ms              | 332±2ms             | 0.99    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.59±0.1ms           | 7.93±0.07ms         | 1.04    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.41±0.08ms          | 8.75±0.2ms          | 1.04    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.27±0.02s           | 1.32±0.01s          | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.42±0.01s           | 1.51±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.63±0.07ms          | 3.79±0.02ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.93±0.02ms          | 4.11±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.44±0.06ms          | 7.82±0.05ms         | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.17±0.02ms          | 4.60±0.08ms         | 1.10    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.25±0.02s           | 1.31±0.02s          | 1.05    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 295±3ms              | 354±3ms             | 1.20    | load.StructuredFF.time_structured_load((2, 2, 1000), True)                                           |
|          | 3.59±0.04ms          | 3.73±0.02ms         | 1.04    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.25±0.02ms          | 3.40±0.03ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 135±2ms              | 138±1ms             | 1.02    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.2±0.3ms           | 22.3±0.6ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 150±3ms              | 152±0.9ms           | 1.01    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 28.0±0.6ms           | 27.9±0.3ms          | 0.99    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 22.5±0.4ms           | 22.1±0.5ms          | 0.98    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.5±0.5ms           | 30.4±0.8ms          | 1.03    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 17.3±0.5ms           | 17.8±0.4ms          | 1.03    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 37.6±0.8ms           | 40.5±0.6ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.9±0.7ms           | 14.8±0.3ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.6±0.7ms           | 22.8±0.4ms          | 1.05    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 17.3±0.7ms           | 17.9±0.6ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 20.5±0.6ms           | 20.9±0.5ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 14.0±0.5ms           | 14.2±0.4ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 17.1±0.8ms           | 17.2±0.6ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 18.1±0.5ms           | 18.4±0.5ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 45.2±1ms             | 49.1±0.8ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 18.4±1ms             | 18.5±0.4ms          | 1.01    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.5±1ms             | 22.7±0.4ms          | 1.06    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.82±0.2ms           | 2.84±0.1ms          | 1.01    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.54±0.3ms           | 5.61±1ms            | 1.01    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 42.2±3ms             | 41.8±2ms            | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 842±10ms             | 846±10ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±0.8ns            | 102±0.8ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 908±10ns             | 924±10ns            | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±2ns              | 103±0.6ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 907±7ns              | 913±20ns            | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±1ns              | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.01μs          | 1.02±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±1ns              | 103±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.06±0.01μs          | 1.08±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±1ns              | 102±0.9ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 103±0.9ns            | 105±2ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.13±0.02μs          | 1.16±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 992±20ns             | 977±10ns            | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.70±0.2μs           | 6.81±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 62.2±0.1μs           | 65.0±0.6μs          | 1.05    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 992±10ns             | 974±8ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.67±0.02μs          | 6.76±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 62.6±0.2μs           | 64.7±0.7μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.01μs          | 1.02±0μs            | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.17±0.05μs          | 7.19±0.1μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.3±0.4μs           | 69.1±0.8μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.09±0.02μs          | 1.06±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.62±0.02μs          | 7.55±0.06μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.6±0.7μs           | 72.9±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.03μs          | 1.03±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.11±0.07μs          | 7.18±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 66.8±0.3μs           | 68.8±2μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.14±0.02μs          | 1.10±0μs            | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.00±0.03μs          | 8.07±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.3±0.4μs           | 76.3±0.7μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 108±1ns              | 107±0.3ns           | 0.99    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 108±0.7ns            | 107±5ns             | 1.00    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 972±10ns             | 952±20ns            | 0.98    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 108±1ns              | 107±1ns             | 0.99    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 108±3ns              | 111±4ns             | 1.03    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±1ns              | 108±0.7ns           | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 685±4ns              | 691±10ns            | 1.01    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 114±0.6ns            | 115±3ns             | 1.01    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.55±0.04μs          | 3.45±0.04μs         | 0.97    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.50±0.04μs          | 4.34±0.06μs         | 0.96    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.33±0.01μs          | 4.24±0.04μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 551±10ns             | 538±6ns             | 0.98    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 421±7ns              | 416±5ns             | 0.99    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 438±5ns              | 433±3ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 370±4ms              | 371±1ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 78.3±4ms             | 80.2±2ms            | 1.02    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 97.1±0.9ms           | 97.2±0.8ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 52.4±3ms             | 52.1±2ms            | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.93±0.2ms           | 4.16±0.08ms         | 1.06    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 88.9±2ms             | 95.6±0.5ms          | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 55.4±1ms             | 55.7±0.7ms          | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 597±4ms              | 608±3ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 104±2ns              | 101±1ns             | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 74.5±3ms             | 81.5±1ms            | 1.09    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 103±1ns              | 102±0.5ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 534±4ms              | 533±3ms             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.6±0.7ms           | 41.1±0.9ms          | 1.12    | stats.PearsonR.time_lazy                                                                             |
|          | 19.5±0.5ms           | 19.1±0.3ms          | 0.98    | stats.PearsonR.time_real                                                                             |
|          | 24.3±0.4ms           | 23.7±1ms            | 0.97    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.3±0.7ms           | 60.1±0.6ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [f9107219]    |   Ratio | Benchmark (Parameter)                                  |
|----------|----------------------|---------------------|---------|--------------------------------------------------------|
| +        | 254±4μs              | 351±4μs             |    1.38 | experimental.ugrid.Mesh.time_add_connectivities(6)     |
| +        | 300±6μs              | 399±3μs             |    1.33 | experimental.ugrid.Mesh.time_create(6)                 |
| +        | 298±7μs              | 399±10μs            |    1.34 | experimental.ugrid.MeshLazy.time_add_connectivities(6) |
| +        | 343±10μs             | 445±10μs            |    1.3  | experimental.ugrid.MeshLazy.time_create(6)             |

Generated by GHA run 8282257286

github-actions[bot] avatar Mar 14 '24 15:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 16ecc853

Performance shifts
| Change   | Before [9c431a01]    | After [16ecc853]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.49±0.01ms          | 1.85±0.01ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.34±0.03ms          | 4.05±0.05ms         |    1.21 | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.69±0.04ms          | 3.27±0.02ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±2μs              | 360±5μs             |    1.45 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 297±3μs              | 399±7μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 292±6μs              | 402±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±6μs              | 449±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 286±2ms              | 349±2ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [16ecc853]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.31±0.04μs          | 4.31±0.05μs         | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.95±0.03μs          | 4.92±0.08μs         | 0.99    | coords.AncillaryVariable.time_create                                                                 |
|          | 425±5ns              | 416±3ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.93±0.2μs           | 9.04±0.2μs          | 1.01    | coords.AuxCoord.time_create                                                                          |
|          | 410±4ns              | 402±3ns             | 0.98    | coords.AuxCoord.time_points                                                                          |
|          | 228±20μs             | 253±20μs            | 1.11    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.2±0.5μs           | 13.0±0.6μs          | 0.98    | coords.AuxCoordLazy.time_create                                                                      |
|          | 227±20μs             | 250±20μs            | 1.11    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.43±0.07μs          | 5.45±0.08μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.11±0.01μs          | 1.10±0.02μs         | 0.99    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 111±1μs              | 111±1μs             | 1.00    | coords.DimCoord.time_create                                                                          |
|          | 31.7±0.4μs           | 31.9±0.6μs          | 1.01    | coords.DimCoord.time_regular                                                                         |
|          | 381±5ms              | 379±4ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.1±1μs             | 58.4±0.5μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.2±0.2μs           | 11.1±0.3μs          | 0.99    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.5±0.9μs           | 66.9±0.3μs          | 0.99    | cube.AuxCoord.time_add                                                                               |
|          | 9.31±0.1μs           | 9.57±0.1μs          | 1.03    | cube.AuxCoord.time_create                                                                            |
|          | 5.99±0.1μs           | 6.12±0.07μs         | 1.02    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.47±0.06μs          | 4.53±0.09μs         | 1.02    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.4±0.3μs           | 40.0±0.7μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 11.9±0.3μs           | 12.5±0.3μs          | 1.05    | cube.AuxFactory.time_create                                                                          |
|          | 59.6±0.5μs           | 59.0±0.5μs          | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.3μs           | 11.5±0.1μs          | 1.00    | cube.CellMeasure.time_create                                                                         |
|          | 52.0±0.7μs           | 52.2±0.4μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.18±0.06μs          | 7.18±0.05μs         | 1.00    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.4ms            | 130±0.4ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.69±0.07μs          | 6.77±0.03μs         | 1.01    | cube.Cube.time_basic                                                                                 |
|          | 57.4±0.2ns           | 57.7±0.2ns          | 1.01    | cube.Cube.time_rename                                                                                |
|          | 62.1±0.8μs           | 61.7±0.7μs          | 0.99    | cube.Equality.time_equality                                                                          |
|          | 330±3ms              | 328±5ms             | 1.00    | cube.Merge.time_merge                                                                                |
|          | 28.3±1μs             | 27.7±2μs            | 0.98    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.1±1μs             | 29.8±2μs            | 0.99    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.6±2μs             | 24.7±1μs            | 0.96    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.6±0.4μs           | 19.5±0.3μs          | 0.99    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.1±0.3μs           | 19.7±0.5μs          | 1.03    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.9±0.2μs           | 18.5±0.3μs          | 0.98    | cube.MeshCoord.time_create(6)                                                                        |
|          | 52.0±5μs             | 51.0±4μs            | 0.98    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 60.3±3μs             | 59.1±3μs            | 0.98    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 43.5±4μs             | 40.9±4μs            | 0.94    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 1.98±0.2ms           | 2.54±0.3ms          | ~1.28   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 607±7ns              | 600±8ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 613±4ns              | 609±8ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.0±2ms             | 23.3±2ms            | 1.16    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.26±0.04ms          | 2.68±0.01ms         | 1.19    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.9±3ms             | 28.1±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.62±0.1ms           | 4.16±0.1ms          | 1.15    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 245±10μs             | 255±4μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 238±9μs              | 252±10μs            | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.5±0.4ms           | 19.8±0.4ms          | 1.01    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.50±0.03ms          | 2.96±0.06ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.0±0.4ms           | 22.7±0.4ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.63±0.05ms          | 4.27±0.06ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.7±0.2μs           | 12.9±0.2μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.93±0.05μs          | 4.87±0.07μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.77±0.05μs          | 4.87±0.05μs         | 1.02    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.03±0.08μs          | 4.98±0.03μs         | 0.99    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 4.97±0.03μs          | 5.05±0.07μs         | 1.01    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.91±0.07μs          | 5.86±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.81±0.05μs          | 5.94±0.07μs         | 1.02    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.0±0.8μs           | 45.1±0.9μs          | 0.98    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 71.0±2ms             | 74.6±2ms            | 1.05    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 277±7μs              | 276±3μs             | 0.99    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.91±0.06μs          | 4.93±0.04μs         | 1.00    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.90±0.05μs          | 4.93±0.07μs         | 1.01    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.38±0.1μs           | 7.41±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.47±0.1μs           | 7.48±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.2±0.07μs          | 10.6±0.1μs          | 1.04    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 116±2ms              | 119±2ms             | 1.03    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.45±0.05μs          | 5.34±0.06μs         | 0.98    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.22±0.03ms          | 3.72±0.03ms         | 1.16    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.23±0.02ms          | 3.65±0.03ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 202±2μs              | 201±2μs             | 0.99    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.59±0.04μs          | 3.61±0.05μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.13±0.05μs          | 4.18±0.02μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.92±0.04μs          | 2.92±0.03μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.91±0.1ms           | 7.46±0.07ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 118±2ms              | 119±2ms             | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.7±0.6μs           | 12.2±0.7μs          | 0.96    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.30±0.04ms          | 3.68±0.04ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.30±0.06ms          | 3.68±0.05ms         | 1.11    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 240±10μs             | 237±9μs             | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.39±0.05ms          | 2.47±0.06ms         | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.44±0.07ms          | 4.54±0.09ms         | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.41±0.8μs           | 8.07±0.6μs          | 0.96    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.1±1μs             | 32.1±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 18.9±1μs             | 18.6±0.8μs          | 0.98    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.9±0.9μs           | 16.2±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.8±0.5μs           | 17.0±0.5μs          | 1.01    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.7±0.7μs           | 16.4±0.5μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.1±0.6μs           | 19.3±0.8μs          | 1.01    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.6±0.5μs           | 19.2±1μs            | 1.03    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.1±2μs             | 77.5±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 72.8±2ms             | 75.3±2ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 347±10μs             | 340±10μs            | 0.98    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.1±0.6μs           | 18.2±0.8μs          | 1.01    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.1±0.7μs           | 17.6±0.7μs          | 1.03    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.5±1μs             | 31.9±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.4±0.9μs           | 29.9±0.9μs          | 1.02    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 495±4ns              | 502±8ns             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 249±2ms              | 247±1ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.8±0.09ms          | 13.9±0.1ms          | 1.18    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.4±0.2ms           | 15.3±0.3ms          | 1.15    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 123±1ms              | 138±2ms             | 1.12    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 729±8ms              | 734±5ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 86.4±1ms             | 96.4±1ms            | 1.12    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 683±4ms              | 686±3ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 575±10μs             | 576±10μs            | 1.00    | import_iris.Iris.time__concatenate                                                                   |
|          | 164±2μs              | 163±3μs             | 1.00    | import_iris.Iris.time__constraints                                                                   |
|          | 99.9±1μs             | 100±0.9μs           | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.6±0.5μs           | 85.6±0.8μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.7μs            | 109±1μs             | 1.00    | import_iris.Iris.time__lazy_data                                                                     |
|          | 789±10μs             | 790±4μs             | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 71.2±0.7μs           | 71.1±0.7μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 426±4μs              | 440±7μs             | 1.03    | import_iris.Iris.time_analysis                                                                       |
|          | 127±2μs              | 133±1μs             | 1.05    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 97.6±1μs             | 98.5±2μs            | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 216±1μs              | 216±5μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 171±2μs              | 172±0.7μs           | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±0.5μs            | 101±0.9μs           | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 127±1μs              | 129±2μs             | 1.02    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 284±1μs              | 288±4μs             | 1.01    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.4±0.6μs           | 85.3±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 199±2μs              | 197±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.1±0.4μs           | 91.4±1μs            | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 166±2μs              | 167±1μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 268±4μs              | 267±3μs             | 0.99    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.5±0.5μs           | 79.9±0.8μs          | 0.99    | import_iris.Iris.time_common                                                                         |
|          | 153±2μs              | 154±1μs             | 1.01    | import_iris.Iris.time_common_lenient                                                                 |
|          | 881±10μs             | 894±8μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±0.8μs            | 125±2μs             | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.01ms          | 1.04±0.01ms         | 1.01    | import_iris.Iris.time_common_resolve                                                                 |
|          | 186±2μs              | 186±1μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 105±1μs              | 107±1μs             | 1.02    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 320±5μs              | 322±4μs             | 1.01    | import_iris.Iris.time_coord_systems                                                                  |
|          | 640±10μs             | 631±5μs             | 0.99    | import_iris.Iris.time_coords                                                                         |
|          | 590±10μs             | 588±4μs             | 1.00    | import_iris.Iris.time_cube                                                                           |
|          | 204±2μs              | 207±1μs             | 1.01    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.1±0.3μs           | 72.3±0.4μs          | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 193±1μs              | 193±0.5μs           | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 225±2μs              | 225±2μs             | 1.00    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.41±0.01ms          | 2.38±0.02ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.5±0.4μs           | 74.5±2μs            | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.5μs            | 107±1μs             | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 315±6μs              | 318±1μs             | 1.01    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.37±0.02ms          | 5.32±0.05ms         | 0.99    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.9±0.3μs           | 68.6±0.2μs          | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 237±2μs              | 232±2μs             | 0.98    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 114±1μs              | 109±1μs             | 0.96    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±0.9μs            | 112±1μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 190±3μs              | 190±3μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 678±2μs              | 673±7μs             | 0.99    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 161±1μs              | 160±1μs             | 0.99    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 124±1μs              | 121±1μs             | 0.98    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 449±4μs              | 441±3μs             | 0.98    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 194±2μs              | 194±2μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.4±0.7μs           | 80.1±1μs            | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±2μs              | 149±2μs             | 0.98    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 132±2μs              | 131±1μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.9±0.8μs           | 71.5±0.8μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.9±1μs             | 77.4±0.3μs          | 0.99    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 886±10μs             | 860±6μs             | 0.97    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±1μs              | 127±1μs             | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 159±1μs              | 161±2μs             | 1.02    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±2μs              | 194±1μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 118±0.9μs            | 117±0.9μs           | 0.99    | import_iris.Iris.time_iterate                                                                        |
|          | 8.06±0.05ms          | 8.08±0.02ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 296±3μs              | 299±2μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 92.8±1μs             | 93.1±0.6μs          | 1.00    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.88±0.02ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.70±0.02ms          | 1.71±0.02ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 23.0±1ms             | 24.5±1ms            | 1.07    | import_iris.Iris.time_tests                                                                          |
|          | 220±2μs              | 221±2μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.79±0.02ms          | 4.81±0.02ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.4μs            | 103±0.9μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.65±0.01ms          | 2.66±0.01ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.02ms          | 1.01±0ms            | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 151±0.7μs            | 156±0.5μs           | 1.04    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 91.3±2μs             | 91.3±0.9μs          | 1.00    | import_iris.Iris.time_time                                                                           |
|          | 284±3μs              | 285±2μs             | 1.01    | import_iris.Iris.time_util                                                                           |
|          | 82.5±1μs             | 81.6±0.6μs          | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 7.58±0.1ms           | 7.90±0.04ms         | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.8±0.8ms           | 23.3±0.4ms          | 0.98    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.05±0.07ms          | 8.60±0.1ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.44±0.03ms          | 7.81±0.1ms          | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.0±0.2ms           | 20.5±0.2ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.18±0.03ms          | 8.56±0.1ms          | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.24±0.01s           | 1.32±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 18.9±0.07ms          | 19.6±0.2ms          | 1.04    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0.02s           | 1.47±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.24±0.01s           | 1.33±0.02s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.2±0.3ms           | 19.7±0.1ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.39±0s              | 1.48±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.60±0.03ms          | 3.78±0.03ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.4±0.1ms           | 19.0±0.2ms          | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.84±0.02ms          | 4.04±0.03ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.62±0.04ms          | 3.75±0.05ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.9±0.2ms           | 19.0±0.2ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.90±0.06ms          | 4.02±0.04ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 32.9±3ms             | 32.0±1ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.5±0.8ms           | 19.0±0.5ms          | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 12.7±1ms             | 13.4±3ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.6±2ms             | 25.9±1ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.2±1ms             | 70.5±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.3±1ms             | 25.5±0.8ms          | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 378±2ms              | 439±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.68±0.1ms           | 2.89±0.1ms          | 1.08    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 387±4ms              | 446±4ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 383±3ms              | 445±2ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.74±0.08ms          | 2.92±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 391±2ms              | 449±4ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.34±0.07ms          | 1.57±0.08ms         | 1.17    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.70±0.1ms           | 2.91±0.2ms          | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.41±0.09ms          | 1.57±0.09ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.38±0.06ms          | 1.57±0.04ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.84±0.06ms          | 2.92±0.1ms          | 1.03    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.40±0.09ms          | 1.59±0.07ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 331±3ms              | 339±3ms             | 1.03    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.57±0.05ms          | 7.96±0.04ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.33±0.02ms          | 8.75±0.06ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.25±0.01s           | 1.33±0.01s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.01s           | 1.50±0.02s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.62±0.03ms          | 3.81±0.01ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.91±0.02ms          | 4.10±0.07ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.47±0.09ms          | 7.82±0.05ms         | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.17±0.02ms          | 4.54±0.02ms         | 1.09    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.24±0.01s           | 1.31±0.01s          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.56±0.02ms          | 3.77±0.03ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.23±0.02ms          | 3.41±0.01ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 131±3ms              | 138±2ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.0±0.4ms           | 22.2±0.3ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 144±2ms              | 153±0.4ms           | 1.06    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.8±0.7ms           | 27.4±0.1ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.6±0.2ms           | 22.0±0.3ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.5±0.4ms           | 29.8±0.2ms          | 1.05    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.3±0.3ms           | 17.3±0.6ms          | 1.07    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.4±0.5ms           | 39.1±0.5ms          | 1.10    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.0±0.2ms           | 13.8±0.4ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.0±0.2ms           | 22.2±0.2ms          | 1.11    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.3±0.3ms           | 17.4±0.4ms          | 1.07    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.0±0.3ms           | 20.5±0.4ms          | 1.08    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.3±0.4ms           | 13.6±0.2ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.5±0.4ms           | 16.2±0.3ms          | 0.98    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.5±0.5ms           | 18.3±0.3ms          | 1.04    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 44.3±0.5ms           | 47.8±0.8ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 18.1±0.5ms           | 18.1±0.3ms          | 1.00    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.2±0.2ms           | 21.9±0.3ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.65±0.09ms          | 2.75±0.09ms         | 1.04    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.36±0.1ms           | 5.37±0.1ms          | 1.00    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 38.3±1ms             | 37.4±1ms            | 0.97    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 798±9ms              | 797±5ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±2ns              | 101±0.7ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 915±8ns              | 917±6ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 105±2ns              | 101±0.9ns           | 0.96    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 898±4ns              | 916±5ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±0.7ns            | 102±0.6ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.03μs          | 1.03±0.03μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±1ns              | 102±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.06±0.01μs          | 1.08±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±2ns              | 101±0.6ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.02μs          | 1.01±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±1ns              | 103±3ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.01μs          | 1.14±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.01μs          | 1.02±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.88±0.1μs           | 6.74±0.1μs          | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 64.8±0.6μs           | 64.8±1μs            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.03±0.01μs          | 994±10ns            | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.88±0.04μs          | 6.83±0.07μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 65.0±1μs             | 64.8±0.5μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.01μs          | 1.03±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.36±0.03μs          | 7.29±0.08μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 68.7±0.6μs           | 71.3±2μs            | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.12±0.02μs          | 1.07±0.02μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.68±0.07μs          | 7.70±0.06μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.9±0.9μs           | 73.6±0.5μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.08±0.01μs          | 1.02±0.01μs         | 0.95    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.24±0.08μs          | 7.23±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 69.6±0.6μs           | 69.4±0.9μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.16±0.01μs          | 1.11±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.12±0.1μs           | 8.11±0.3μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.8±0.4μs           | 78.3±0.7μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 106±2ns              | 108±4ns             | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 109±3ns              | 107±0.3ns           | 0.98    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 972±20ns             | 954±10ns            | 0.98    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 107±1ns              | 107±0.3ns           | 1.00    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 108±2ns              | 107±0.5ns           | 0.99    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 109±3ns              | 107±0.5ns           | 0.98    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 704±7ns              | 700±20ns            | 0.99    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 115±0.7ns            | 115±0.8ns           | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.48±0.05μs          | 3.50±0.03μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.38±0.05μs          | 4.41±0.03μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.36±0.01μs          | 4.38±0.04μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 553±5ns              | 539±5ns             | 0.98    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 418±4ns              | 416±4ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 440±2ns              | 429±4ns             | 0.97    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 366±1ms              | 368±1ms             | 1.01    | plot.AuxSort.time_aux_sort                                                                           |
|          | 74.5±5ms             | 75.4±5ms            | 1.01    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 95.7±0.7ms           | 97.3±0.8ms          | 1.02    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 48.9±2ms             | 49.2±2ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.77±0.03ms          | 4.13±0.03ms         | 1.10    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 87.1±0.4ms           | 94.2±0.3ms          | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.8±0.7ms           | 55.6±1ms            | 1.03    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 582±5ms              | 591±4ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±0.7ns            | 103±1ns             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 73.3±0.9ms           | 78.7±0.6ms          | 1.07    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±2ns              | 102±2ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 516±2ms              | 519±3ms             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 35.5±0.6ms           | 41.4±1ms            | 1.17    | stats.PearsonR.time_lazy                                                                             |
|          | 19.0±0.2ms           | 19.0±0.2ms          | 1.00    | stats.PearsonR.time_real                                                                             |
|          | 22.8±0.6ms           | 23.7±0.7ms          | 1.04    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.9±0.3ms           | 59.9±0.4ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [16ecc853]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.49±0.01ms          | 1.85±0.01ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.34±0.03ms          | 4.05±0.05ms         |    1.21 | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.69±0.04ms          | 3.27±0.02ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±2μs              | 360±5μs             |    1.45 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 297±3μs              | 399±7μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 292±6μs              | 402±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±6μs              | 449±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 286±2ms              | 349±2ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8282994456

github-actions[bot] avatar Mar 14 '24 15:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 8012a193

Performance shifts
| Change   | Before [9c431a01]    | After [8012a193]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 254±2μs              | 358±2μs             |    1.41 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 300±4μs              | 413±7μs             |    1.38 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 298±10μs             | 405±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 346±10μs             | 457±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 295±3ms              | 361±3ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [8012a193]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.35±0.04μs          | 4.33±0.02μs         | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.91±0.02μs          | 4.94±0.08μs         | 1.01    | coords.AncillaryVariable.time_create                                                                 |
|          | 427±3ns              | 422±5ns             | 0.99    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.89±0.06μs          | 9.00±0.05μs         | 1.01    | coords.AuxCoord.time_create                                                                          |
|          | 415±7ns              | 401±2ns             | 0.97    | coords.AuxCoord.time_points                                                                          |
|          | 234±20μs             | 253±20μs            | 1.08    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.9±0.5μs           | 13.4±0.6μs          | 1.04    | coords.AuxCoordLazy.time_create                                                                      |
|          | 229±20μs             | 253±20μs            | 1.10    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.33±0.04μs          | 5.44±0.09μs         | 1.02    | coords.CellMeasure.time_create                                                                       |
|          | 1.11±0.02μs          | 1.11±0.01μs         | 1.00    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 111±2μs              | 111±0.8μs           | 1.00    | coords.DimCoord.time_create                                                                          |
|          | 31.4±0.4μs           | 32.4±0.6μs          | 1.03    | coords.DimCoord.time_regular                                                                         |
|          | 384±5ms              | 379±5ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.0±0.3μs           | 59.7±0.8μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.4±0.2μs           | 11.4±0.4μs          | 1.00    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.7±0.5μs           | 67.5±0.5μs          | 1.00    | cube.AuxCoord.time_add                                                                               |
|          | 9.51±0.1μs           | 9.62±0.2μs          | 1.01    | cube.AuxCoord.time_create                                                                            |
|          | 6.00±0.06μs          | 5.90±0.09μs         | 0.98    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.49±0.06μs          | 4.45±0.08μs         | 0.99    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.6±0.4μs           | 40.1±0.4μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.7±0.1μs           | 12.4±0.4μs          | 0.97    | cube.AuxFactory.time_create                                                                          |
|          | 59.6±0.4μs           | 60.1±0.5μs          | 1.01    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.1μs           | 11.9±0.4μs          | 1.02    | cube.CellMeasure.time_create                                                                         |
|          | 52.2±0.4μs           | 52.6±0.3μs          | 1.01    | cube.CellMethod.time_add                                                                             |
|          | 7.27±0.04μs          | 7.17±0.06μs         | 0.99    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.3ms            | 131±0.6ms           | 1.01    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.76±0.05μs          | 6.70±0.04μs         | 0.99    | cube.Cube.time_basic                                                                                 |
|          | 58.2±0.7ns           | 57.7±0.4ns          | 0.99    | cube.Cube.time_rename                                                                                |
|          | 61.3±0.8μs           | 62.4±1μs            | 1.02    | cube.Equality.time_equality                                                                          |
|          | 334±1ms              | 326±4ms             | 0.97    | cube.Merge.time_merge                                                                                |
|          | 31.5±2μs             | 28.3±1μs            | 0.90    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 32.0±2μs             | 30.3±2μs            | 0.95    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 27.0±2μs             | 25.6±1μs            | 0.95    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.9±0.3μs           | 19.9±0.3μs          | 1.00    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.5±0.2μs           | 19.5±0.4μs          | 1.00    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.2±0.2μs           | 19.3±0.2μs          | 1.00    | cube.MeshCoord.time_create(6)                                                                        |
|          | 55.7±4μs             | 52.7±4μs            | 0.95    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 61.8±3μs             | 60.0±3μs            | 0.97    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 50.6±6μs             | 44.0±4μs            | 0.87    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.05±0.3ms           | 2.46±0.2ms          | 1.20    | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 1.56±0.01ms          | 1.86±0.04ms         | 1.20    | experimental.ugrid.Connectivity.time_create(6)                                                       |
|          | 613±4ns              | 599±8ns             | 0.98    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 613±6ns              | 608±8ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 22.1±2ms             | 23.6±2ms            | 1.07    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.31±0.02ms          | 2.65±0.01ms         | 1.15    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.7±3ms             | 28.3±3ms            | ~1.25   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.38±0.05ms          | 3.96±0.03ms         | 1.17    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.71±0.1ms           | 4.17±0.1ms          | 1.12    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 2.71±0.05ms          | 3.22±0.04ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_create(6)                                                   |
|          | 246±10μs             | 258±10μs            | 1.05    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 235±4μs              | 252±6μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.8±0.2ms           | 20.5±0.4ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.55±0.05ms          | 2.92±0.04ms         | 1.14    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.6±0.3ms           | 23.5±0.4ms          | 1.04    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.65±0.04ms          | 4.24±0.07ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.1μs           | 12.7±0.2μs          | 1.00    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.91±0.02μs          | 4.77±0.04μs         | 0.97    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.86±0.03μs          | 4.85±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.12±0.1μs           | 5.01±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.11±0.09μs          | 5.04±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.97±0.2μs           | 5.80±0.04μs         | 0.97    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.96±0.09μs          | 5.91±0.07μs         | 0.99    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.4±0.3μs           | 46.1±0.5μs          | 0.99    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 75.6±3ms             | 77.8±3ms            | 1.03    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 275±4μs              | 283±4μs             | 1.03    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.02±0.04μs          | 4.89±0.09μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.99±0.07μs          | 4.93±0.03μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.39±0.08μs          | 7.23±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.46±0.1μs           | 7.33±0.07μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.3±0.07μs          | 10.8±0.1μs          | 1.05    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 119±1ms              | 121±2ms             | 1.01    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.35±0.02μs          | 5.46±0.09μs         | 1.02    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.27±0.05ms          | 3.73±0.05ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.23±0.02ms          | 3.73±0.06ms         | 1.16    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 201±2μs              | 205±4μs             | 1.02    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.59±0.02μs          | 3.72±0.07μs         | 1.04    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.16±0.03μs          | 4.30±0.06μs         | 1.03    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.91±0.04μs          | 2.97±0.03μs         | 1.02    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 7.04±0.2ms           | 7.58±0.1ms          | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 121±2ms              | 120±2ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.0±0.6μs           | 12.5±0.8μs          | 1.04    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.34±0.05ms          | 3.73±0.06ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.32±0.06ms          | 3.76±0.07ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 242±10μs             | 246±10μs            | 1.02    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.48±0.1ms           | 2.57±0.09ms         | 1.04    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.63±0.1ms           | 4.67±0.09ms         | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.77±0.5μs           | 8.28±0.6μs          | 0.94    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.3±1μs             | 32.0±2μs            | 0.96    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 18.8±1μs             | 18.7±0.7μs          | 0.99    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 16.2±1μs             | 16.4±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.1±0.7μs           | 17.0±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.6±0.5μs           | 16.9±0.9μs          | 1.02    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.4±0.8μs           | 19.1±0.6μs          | 0.99    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 19.9±1μs             | 19.5±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 80.1±4μs             | 79.7±3μs            | 1.00    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 75.9±2ms             | 76.1±2ms            | 1.00    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 350±20μs             | 354±20μs            | 1.01    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 19.0±0.9μs           | 18.3±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 18.5±0.9μs           | 17.3±0.5μs          | 0.93    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.8±1μs             | 33.0±1μs            | 1.04    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 32.3±2μs             | 29.8±0.9μs          | 0.92    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 490±9ns              | 492±4ns             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 248±2ms              | 246±2ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.9±0.1ms           | 13.8±0.1ms          | 1.15    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.6±0.6ms           | 15.5±0.5ms          | 1.14    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 127±1ms              | 136±1ms             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 730±5ms              | 735±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 87.9±2ms             | 97.1±2ms            | 1.10    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 686±4ms              | 689±7ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 576±8μs              | 574±4μs             | 1.00    | import_iris.Iris.time__concatenate                                                                   |
|          | 171±4μs              | 165±1μs             | 0.96    | import_iris.Iris.time__constraints                                                                   |
|          | 101±1μs              | 102±0.9μs           | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.8±0.6μs           | 85.6±0.3μs          | 1.00    | import_iris.Iris.time__deprecation                                                                   |
|          | 110±0.9μs            | 108±0.9μs           | 0.98    | import_iris.Iris.time__lazy_data                                                                     |
|          | 794±10μs             | 797±3μs             | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 72.1±0.6μs           | 71.6±0.4μs          | 0.99    | import_iris.Iris.time__representation                                                                |
|          | 437±20μs             | 447±7μs             | 1.02    | import_iris.Iris.time_analysis                                                                       |
|          | 126±1μs              | 132±1μs             | 1.04    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.9±0.9μs           | 97.9±0.6μs          | 0.99    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 220±3μs              | 217±1μs             | 0.98    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 174±4μs              | 171±2μs             | 0.98    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 103±2μs              | 103±0.5μs           | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 128±2μs              | 130±2μs             | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 287±3μs              | 285±2μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.8±1μs             | 85.3±2μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 203±3μs              | 199±2μs             | 0.98    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 91.9±1μs             | 90.5±0.9μs          | 0.98    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 169±2μs              | 169±2μs             | 1.00    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 272±9μs              | 270±4μs             | 0.99    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.7±0.7μs           | 80.6±0.9μs          | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 152±3μs              | 156±1μs             | 1.02    | import_iris.Iris.time_common_lenient                                                                 |
|          | 898±10μs             | 891±4μs             | 0.99    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±1μs              | 125±0.9μs           | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.04±0.01ms          | 1.03±0.01ms         | 0.99    | import_iris.Iris.time_common_resolve                                                                 |
|          | 188±3μs              | 189±1μs             | 1.01    | import_iris.Iris.time_config                                                                         |
|          | 107±0.8μs            | 108±0.6μs           | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 332±8μs              | 327±2μs             | 0.98    | import_iris.Iris.time_coord_systems                                                                  |
|          | 661±20μs             | 637±2μs             | 0.96    | import_iris.Iris.time_coords                                                                         |
|          | 621±10μs             | 596±4μs             | 0.96    | import_iris.Iris.time_cube                                                                           |
|          | 206±2μs              | 206±3μs             | 1.00    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.6±0.4μs           | 74.2±0.8μs          | 1.02    | import_iris.Iris.time_experimental                                                                   |
|          | 196±2μs              | 195±1μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 236±3μs              | 227±1μs             | 0.96    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.44±0.01ms          | 2.42±0.02ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.2±1μs             | 73.5±0.3μs          | 0.99    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 109±2μs              | 107±0.3μs           | 0.98    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 331±9μs              | 321±2μs             | 0.97    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.54±0.1ms           | 5.31±0.03ms         | 0.96    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.1±0.7μs           | 68.9±0.9μs          | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 241±4μs              | 236±2μs             | 0.98    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 110±1μs             | 0.97    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 113±0.6μs            | 113±0.9μs           | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 190±2μs              | 190±4μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 691±7μs              | 680±9μs             | 0.98    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 164±4μs              | 161±2μs             | 0.98    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±1μs              | 122±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 446±5μs              | 441±3μs             | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 196±2μs              | 196±2μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.9±0.7μs           | 79.8±0.9μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±3μs              | 150±0.9μs           | 0.99    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 131±1μs              | 133±1μs             | 1.02    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.9±0.3μs           | 71.3±0.9μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.5±1μs             | 77.6±0.6μs          | 0.99    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 877±9μs              | 868±4μs             | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±1μs              | 129±1μs             | 1.02    | import_iris.Iris.time_io                                                                             |
|          | 161±2μs              | 160±2μs             | 1.00    | import_iris.Iris.time_io_format_picker                                                               |
|          | 197±3μs              | 193±2μs             | 0.98    | import_iris.Iris.time_iris                                                                           |
|          | 121±1μs              | 118±0.4μs           | 0.98    | import_iris.Iris.time_iterate                                                                        |
|          | 8.29±0.08ms          | 8.14±0.03ms         | 0.98    | import_iris.Iris.time_palette                                                                        |
|          | 302±4μs              | 306±5μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 95.6±1μs             | 93.4±0.5μs          | 0.98    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.95±0.02ms          | 1.91±0.02ms         | 0.98    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.01ms          | 1.73±0.02ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 42.5±1ms             | 42.8±2ms            | 1.01    | import_iris.Iris.time_tests                                                                          |
|          | 222±1μs              | 219±0.8μs           | 0.99    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.85±0.04ms          | 4.87±0.05ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.4μs            | 103±1μs             | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.67±0.01ms          | 2.70±0.03ms         | 1.01    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.02±0.01ms          | 1.01±0ms            | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 154±0.8μs            | 155±0.6μs           | 1.01    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 93.9±2μs             | 92.3±0.5μs          | 0.98    | import_iris.Iris.time_time                                                                           |
|          | 297±5μs              | 288±2μs             | 0.97    | import_iris.Iris.time_util                                                                           |
|          | 83.1±0.8μs           | 81.3±0.6μs          | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.48±0.07ms          | 7.88±0.05ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.2±0.4ms           | 23.2±0.5ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.22±0.07ms          | 8.66±0.04ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.43±0.1ms           | 7.86±0.04ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.4±0.3ms           | 20.4±0.2ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.23±0.06ms          | 8.66±0.06ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.26±0.01s           | 1.35±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.5±0.4ms           | 19.9±0.3ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.40±0.01s           | 1.50±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.25±0.01s           | 1.35±0.03s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.2±0.2ms           | 19.8±0.3ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.39±0.01s           | 1.49±0.01s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.67±0.03ms          | 3.84±0.05ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.9±0.3ms           | 19.5±0.5ms          | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.88±0.02ms          | 4.11±0.03ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.63±0.02ms          | 3.81±0.02ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.8±0.3ms           | 18.9±0.6ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.89±0.07ms          | 4.08±0.03ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 32.1±4ms             | 33.6±2ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.1±0.6ms           | 19.1±0.6ms          | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 12.6±2ms             | 13.2±2ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.6±2ms             | 25.7±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.3±1ms             | 71.3±2ms            | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 26.0±2ms             | 25.7±0.6ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 389±5ms              | 444±4ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.93±0.1ms           | 3.07±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 391±3ms              | 451±6ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 394±4ms              | 450±3ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.85±0.1ms           | 3.00±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 397±3ms              | 453±4ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.43±0.08ms          | 1.55±0.1ms          | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.92±0.08ms          | 2.92±0.2ms          | 1.00    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.39±0.08ms          | 1.58±0.08ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.43±0.07ms          | 1.56±0.07ms         | 1.09    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.92±0.1ms           | 3.05±0.2ms          | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.41±0.08ms          | 1.58±0.07ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 332±2ms              | 344±5ms             | 1.04    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.59±0.05ms          | 8.18±0.06ms         | 1.08    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.38±0.08ms          | 8.94±0.1ms          | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.27±0.01s           | 1.35±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.43±0.01s           | 1.53±0.02s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.67±0.03ms          | 3.85±0.04ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.96±0.02ms          | 4.16±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.54±0.06ms          | 8.00±0.1ms          | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.20±0.01ms          | 4.62±0.04ms         | 1.10    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.26±0.01s           | 1.35±0.02s          | 1.08    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.64±0.02ms          | 3.85±0.03ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.30±0.06ms          | 3.52±0.04ms         | 1.07    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 136±2ms              | 141±1ms             | 1.03    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 23.0±0.5ms           | 23.3±0.5ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 152±2ms              | 156±2ms             | 1.03    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.7±0.1ms           | 28.8±0.3ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 22.6±0.4ms           | 22.6±0.6ms          | 1.00    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.6±0.3ms           | 31.0±0.5ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.9±0.5ms           | 17.4±0.4ms          | 1.02    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.7±0.8ms           | 39.5±0.7ms          | 1.07    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.7±0.4ms           | 13.6±0.2ms          | 1.00    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.8±0.5ms           | 22.3±0.5ms          | 1.07    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.9±0.2ms           | 17.4±0.5ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.1±0.7ms           | 20.4±0.3ms          | 1.07    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.4±0.4ms           | 13.8±0.3ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.1±0.6ms           | 16.6±0.5ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.8±0.3ms           | 18.2±0.3ms          | 1.03    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 44.2±0.7ms           | 47.7±0.8ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.6±0.6ms           | 17.9±0.3ms          | 1.02    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.9±0.8ms           | 21.9±0.3ms          | 1.05    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.63±0.2ms           | 2.63±0.09ms         | 1.00    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.48±0.1ms           | 5.39±0.8ms          | 0.98    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 39.7±2ms             | 38.9±1ms            | 0.98    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 804±4ms              | 801±7ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.4ns            | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 918±10ns             | 913±3ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 104±2ns              | 102±0.5ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 904±10ns             | 910±4ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±2ns              | 101±1ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.01μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.4ns            | 102±0.8ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.06±0.01μs          | 1.08±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±1ns              | 103±0.9ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 1.00±0μs            | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±3ns              | 103±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.15±0.01μs          | 1.15±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 999±8ns              | 994±10ns            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.72±0.03μs          | 6.69±0.2μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.7±2μs             | 63.7±0.4μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.02±0.02μs          | 972±10ns            | 0.95    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.75±0.2μs           | 6.75±0.06μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.0±1μs             | 64.4±0.5μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.05±0.01μs          | 1.03±0μs            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.32±0.1μs           | 7.21±0.08μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 68.7±1μs             | 67.9±0.8μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.10±0.02μs          | 1.06±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.61±0.1μs           | 7.59±0.06μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.3±1μs             | 72.5±0.9μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.06±0.02μs          | 1.02±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.33±0.1μs           | 7.26±0.2μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.7±0.8μs           | 69.7±0.9μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.13±0.02μs          | 1.09±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.99±0.3μs           | 7.94±0.1μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.6±1μs             | 76.8±0.6μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 108±2ns              | 106±0.6ns           | 0.98    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 111±1ns              | 107±0.5ns           | 0.97    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 969±10ns             | 945±5ns             | 0.97    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 108±2ns              | 106±0.2ns           | 0.98    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 110±2ns              | 106±0.4ns           | 0.96    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 109±0.8ns            | 107±0.8ns           | 0.99    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 684±5ns              | 709±10ns            | 1.04    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 116±2ns              | 113±0.2ns           | 0.98    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.53±0.03μs          | 3.47±0.02μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.43±0.03μs          | 4.31±0.02μs         | 0.97    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.30±0.07μs          | 4.31±0.04μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 548±4ns              | 542±4ns             | 0.99    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 421±3ns              | 417±2ns             | 0.99    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 444±3ns              | 432±3ns             | 0.97    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 367±3ms              | 366±1ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 75.6±6ms             | 75.4±5ms            | 1.00    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 95.8±0.8ms           | 97.1±1ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 49.8±2ms             | 48.9±2ms            | 0.98    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.82±0.04ms          | 4.19±0.05ms         | 1.10    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 88.0±0.7ms           | 95.2±1ms            | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 55.4±1ms             | 55.3±0.8ms          | 1.00    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 585±4ms              | 592±4ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 103±3ns              | 101±0.6ns           | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 73.4±1ms             | 80.0±0.7ms          | 1.09    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 103±2ns              | 101±0.5ns           | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 515±4ms              | 519±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.4±1ms             | 40.8±1ms            | 1.12    | stats.PearsonR.time_lazy                                                                             |
|          | 19.1±0.3ms           | 18.8±0.3ms          | 0.98    | stats.PearsonR.time_real                                                                             |
|          | 23.0±0.4ms           | 22.7±0.5ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.8±0.2ms           | 59.8±0.6ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [8012a193]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 254±2μs              | 358±2μs             |    1.41 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 300±4μs              | 413±7μs             |    1.38 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 298±10μs             | 405±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 346±10μs             | 457±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 295±3ms              | 361±3ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8282974897

github-actions[bot] avatar Mar 14 '24 15:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: df708b5c

Performance shifts
| Change   | Before [9c431a01]    | After [df708b5c]    |   Ratio | Benchmark (Parameter)                                        |
|----------|----------------------|---------------------|---------|--------------------------------------------------------------|
| +        | 1.51±0.01ms          | 1.87±0.02ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)               |
| +        | 2.25±0.02ms          | 2.71±0.03ms         |    1.21 | experimental.ugrid.Connectivity.time_location_lengths(6)     |
| +        | 3.34±0.04ms          | 4.02±0.06ms         |    1.2  | experimental.ugrid.Connectivity.time_validate_indices(6)     |
| +        | 2.67±0.04ms          | 3.27±0.05ms         |    1.23 | experimental.ugrid.ConnectivityLazy.time_create(6)           |
| +        | 3.65±0.05ms          | 4.39±0.05ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_validate_indices(6) |
| +        | 251±6μs              | 358±8μs             |    1.43 | experimental.ugrid.Mesh.time_add_connectivities(6)           |
| +        | 300±5μs              | 404±2μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                       |
| +        | 288±7μs              | 399±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)       |
| +        | 334±6μs              | 449±10μs            |    1.35 | experimental.ugrid.MeshLazy.time_create(6)                   |
| +        | 288±1ms              | 360±4ms             |    1.25 | load.StructuredFF.time_structured_load((2, 2, 1000), True)   |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [df708b5c]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.37±0.05μs          | 4.31±0.01μs         | 0.98    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.89±0.07μs          | 4.86±0.04μs         | 0.99    | coords.AncillaryVariable.time_create                                                                 |
|          | 437±4ns              | 448±40ns            | 1.03    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.97±0.04μs          | 8.95±0.04μs         | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 414±9ns              | 411±10ns            | 0.99    | coords.AuxCoord.time_points                                                                          |
|          | 232±20μs             | 250±20μs            | 1.07    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.6±0.6μs           | 13.5±0.6μs          | 1.07    | coords.AuxCoordLazy.time_create                                                                      |
|          | 228±20μs             | 248±20μs            | 1.09    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.28±0.06μs          | 5.37±0.05μs         | 1.02    | coords.CellMeasure.time_create                                                                       |
|          | 1.08±0.01μs          | 1.09±0.01μs         | 1.01    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±1μs              | 110±1μs             | 1.00    | coords.DimCoord.time_create                                                                          |
|          | 32.1±0.3μs           | 32.3±0.8μs          | 1.01    | coords.DimCoord.time_regular                                                                         |
|          | 383±4ms              | 380±3ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.3±0.5μs           | 58.8±1μs            | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.5±0.4μs           | 11.3±0.5μs          | 0.98    | cube.AncillaryVariable.time_create                                                                   |
|          | 66.8±0.6μs           | 67.2±1μs            | 1.01    | cube.AuxCoord.time_add                                                                               |
|          | 9.47±0.1μs           | 9.45±0.1μs          | 1.00    | cube.AuxCoord.time_create                                                                            |
|          | 5.97±0.04μs          | 6.00±0.06μs         | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.50±0.05μs          | 4.43±0.05μs         | 0.99    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.1±0.5μs           | 40.3±0.2μs          | 1.01    | cube.AuxFactory.time_add                                                                             |
|          | 12.5±0.1μs           | 12.2±0.2μs          | 0.97    | cube.AuxFactory.time_create                                                                          |
|          | 58.2±0.6μs           | 59.5±1μs            | 1.02    | cube.CellMeasure.time_add                                                                            |
|          | 11.1±0.2μs           | 11.5±0.4μs          | 1.04    | cube.CellMeasure.time_create                                                                         |
|          | 51.9±0.5μs           | 52.9±0.6μs          | 1.02    | cube.CellMethod.time_add                                                                             |
|          | 7.23±0.03μs          | 7.17±0.09μs         | 0.99    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.2ms            | 130±0.3ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.79±0.1μs           | 6.78±0.1μs          | 1.00    | cube.Cube.time_basic                                                                                 |
|          | 57.9±0.5ns           | 57.9±0.6ns          | 1.00    | cube.Cube.time_rename                                                                                |
|          | 61.4±0.4μs           | 62.3±0.3μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 335±2ms              | 335±1ms             | 1.00    | cube.Merge.time_merge                                                                                |
|          | 29.1±1μs             | 29.1±1μs            | 1.00    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.4±2μs             | 30.7±2μs            | 1.01    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.7±1μs             | 25.5±2μs            | 0.99    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.2±0.4μs           | 19.7±0.4μs          | 1.03    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.0±0.3μs           | 19.5±0.5μs          | 1.03    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.2±0.4μs           | 19.2±0.6μs          | 1.00    | cube.MeshCoord.time_create(6)                                                                        |
|          | 52.7±5μs             | 55.5±4μs            | 1.05    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 59.1±3μs             | 60.4±4μs            | 1.02    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 49.7±6μs             | 50.0±8μs            | 1.01    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.02±0.2ms           | 2.67±0.2ms          | ~1.32   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 605±7ns              | 612±10ns            | 1.01    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 603±10ns             | 608±8ns             | 1.01    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 21.0±2ms             | 23.8±2ms            | 1.13    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 23.6±3ms             | 28.4±3ms            | ~1.20   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.65±0.1ms           | 4.23±0.1ms          | 1.16    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 243±7μs              | 257±7μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 237±9μs              | 252±9μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.0±0.4ms           | 20.6±0.6ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.53±0.03ms          | 2.98±0.05ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.3±0.7ms           | 23.6±0.7ms          | 1.06    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 12.7±0.2μs           | 12.8±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.90±0.05μs          | 4.86±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.88±0.03μs          | 4.83±0.04μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.10±0.05μs          | 5.01±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.12±0.07μs          | 5.02±0.08μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.88±0.02μs          | 5.88±0.08μs         | 1.00    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.84±0.05μs          | 5.84±0.07μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.0±0.4μs           | 45.5±0.3μs          | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 76.6±3ms             | 77.8±2ms            | 1.02    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 270±2μs              | 276±4μs             | 1.03    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.98±0.06μs          | 4.90±0.07μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.98±0.05μs          | 4.97±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.41±0.08μs          | 7.35±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.42±0.04μs          | 7.31±0.05μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.3±0.07μs          | 10.4±0.09μs         | 1.01    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 121±2ms              | 121±2ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.36±0.06μs          | 5.38±0.04μs         | 1.00    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.25±0.04ms          | 3.73±0.05ms         | 1.15    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.24±0.05ms          | 3.66±0.06ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 202±4μs              | 203±3μs             | 1.00    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.62±0.05μs          | 3.67±0.03μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.12±0.07μs          | 4.25±0.03μs         | 1.03    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.96±0.03μs          | 2.99±0.04μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.90±0.07ms          | 7.49±0.09ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 121±2ms              | 122±2ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.9±0.5μs           | 11.9±0.5μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.27±0.03ms          | 3.69±0.05ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.27±0.05ms          | 3.67±0.05ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 236±5μs              | 237±10μs            | 1.01    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.44±0.07ms          | 2.55±0.09ms         | 1.05    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.49±0.08ms          | 4.63±0.1ms          | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.24±0.5μs           | 8.33±0.6μs          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.5±1μs             | 31.1±1μs            | 0.96    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.9±1μs             | 19.2±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 16.3±1μs             | 16.1±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.2±0.9μs           | 16.7±0.9μs          | 0.97    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.5±0.6μs           | 16.2±0.5μs          | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.4±0.6μs           | 19.4±0.9μs          | 1.00    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.9±0.8μs           | 19.2±0.6μs          | 1.01    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.1±2μs             | 77.7±2μs            | 0.99    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 74.2±2ms             | 76.0±2ms            | 1.02    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 343±10μs             | 341±10μs            | 0.99    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.4±1μs             | 17.8±0.5μs          | 0.97    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.6±1μs             | 17.4±0.7μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 32.3±1μs             | 30.8±0.9μs          | 0.95    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.9±1μs             | 29.6±0.9μs          | 0.99    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 495±2ns              | 501±4ns             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 249±1ms              | 249±0.7ms           | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.6±0.1ms           | 13.9±0.2ms          | 1.19    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.4±0.8ms           | 15.6±0.2ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 126±1ms              | 135±0.5ms           | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 730±7ms              | 747±6ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 86.3±0.8ms           | 97.2±2ms            | 1.13    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 688±4ms              | 693±3ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 574±6μs              | 573±8μs             | 1.00    | import_iris.Iris.time__concatenate                                                                   |
|          | 163±2μs              | 168±3μs             | 1.03    | import_iris.Iris.time__constraints                                                                   |
|          | 100±0.5μs            | 102±0.9μs           | 1.02    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.2±0.9μs           | 86.3±1μs            | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±4μs              | 112±1μs             | 1.02    | import_iris.Iris.time__lazy_data                                                                     |
|          | 790±6μs              | 806±20μs            | 1.02    | import_iris.Iris.time__merge                                                                         |
|          | 71.0±1μs             | 72.9±0.6μs          | 1.03    | import_iris.Iris.time__representation                                                                |
|          | 437±9μs              | 436±3μs             | 1.00    | import_iris.Iris.time_analysis                                                                       |
|          | 126±1μs              | 132±1μs             | 1.04    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.2±4μs             | 100±0.5μs           | 1.02    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 218±4μs              | 219±2μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 170±2μs              | 172±1μs             | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±0.9μs            | 103±1μs             | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 126±2μs              | 129±2μs             | 1.03    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 286±4μs              | 287±2μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.1±1μs             | 84.6±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 200±2μs              | 201±4μs             | 1.00    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.2±1μs             | 90.4±0.5μs          | 1.00    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 168±2μs              | 169±2μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 271±9μs              | 267±2μs             | 0.98    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.5±0.7μs           | 80.6±0.6μs          | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 152±1μs              | 154±2μs             | 1.01    | import_iris.Iris.time_common_lenient                                                                 |
|          | 871±10μs             | 898±20μs            | 1.03    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±1μs              | 126±1μs             | 1.02    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.01ms          | 1.04±0.02ms         | 1.01    | import_iris.Iris.time_common_resolve                                                                 |
|          | 184±2μs              | 187±2μs             | 1.02    | import_iris.Iris.time_config                                                                         |
|          | 106±2μs              | 108±0.6μs           | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 330±5μs              | 321±2μs             | 0.97    | import_iris.Iris.time_coord_systems                                                                  |
|          | 643±20μs             | 646±6μs             | 1.00    | import_iris.Iris.time_coords                                                                         |
|          | 605±20μs             | 596±5μs             | 0.98    | import_iris.Iris.time_cube                                                                           |
|          | 204±3μs              | 208±2μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.2±1μs             | 73.8±0.9μs          | 1.02    | import_iris.Iris.time_experimental                                                                   |
|          | 195±1μs              | 194±2μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 224±2μs              | 227±2μs             | 1.01    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.42±0.02ms          | 2.39±0.02ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.5±0.9μs           | 74.2±0.4μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.7μs            | 106±0.8μs           | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 315±3μs              | 317±2μs             | 1.01    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.39±0.07ms          | 5.37±0.06ms         | 1.00    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.2±1μs             | 69.2±0.8μs          | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 236±1μs              | 235±1μs             | 1.00    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 112±0.9μs            | 110±0.5μs           | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 111±0.8μs            | 112±1μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 189±2μs              | 189±3μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 676±9μs              | 683±8μs             | 1.01    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 159±1μs              | 162±3μs             | 1.02    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±0.6μs            | 122±1μs             | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 438±9μs              | 448±7μs             | 1.02    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 192±2μs              | 194±2μs             | 1.01    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.1±0.7μs           | 79.5±2μs            | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 151±1μs              | 151±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 130±2μs              | 133±2μs             | 1.03    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.3±0.9μs           | 71.4±0.4μs          | 1.02    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 76.7±0.7μs           | 78.4±1μs            | 1.02    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 873±4μs              | 870±2μs             | 1.00    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±2μs              | 130±2μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 158±2μs              | 160±0.6μs           | 1.02    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±3μs              | 199±2μs             | 1.04    | import_iris.Iris.time_iris                                                                           |
|          | 119±0.7μs            | 118±0.7μs           | 1.00    | import_iris.Iris.time_iterate                                                                        |
|          | 8.15±0.04ms          | 8.17±0.04ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 299±5μs              | 307±4μs             | 1.03    | import_iris.Iris.time_plot                                                                           |
|          | 93.6±0.6μs           | 94.2±0.8μs          | 1.01    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.90±0.01ms         | 0.98    | import_iris.Iris.time_std_names                                                                      |
|          | 1.69±0.01ms          | 1.73±0.02ms         | 1.03    | import_iris.Iris.time_symbols                                                                        |
|          | 121±8ms              | 126±8ms             | 1.04    | import_iris.Iris.time_tests                                                                          |
|          | 219±3μs              | 221±3μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.79±0.03ms          | 4.80±0.04ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±2μs              | 104±2μs             | 1.01    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.67±0.01ms          | 2.66±0.01ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0ms             | 1.01±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 151±1μs              | 154±2μs             | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.4±2μs             | 91.6±1μs            | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 283±2μs              | 288±4μs             | 1.02    | import_iris.Iris.time_util                                                                           |
|          | 82.5±0.7μs           | 81.5±0.7μs          | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 7.34±0.03ms          | 7.87±0.07ms         | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.2±0.2ms           | 23.9±0.5ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.12±0.06ms          | 8.65±0.06ms         | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.33±0.03ms          | 7.83±0.1ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.3±0.3ms           | 20.2±0.2ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.07±0.06ms          | 8.62±0.1ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.24±0.01s           | 1.32±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.0±0.1ms           | 19.6±0.4ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0s              | 1.49±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.25±0.01s           | 1.34±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.5±0.2ms           | 19.8±0.4ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.39±0.01s           | 1.49±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.55±0.02ms          | 3.78±0.04ms         | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.6±0.2ms           | 19.1±0.3ms          | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.83±0.02ms          | 4.13±0.05ms         | 1.08    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.55±0.04ms          | 3.79±0.04ms         | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.6±0.2ms           | 19.0±0.5ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.82±0.06ms          | 4.05±0.05ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 33.9±3ms             | 33.3±4ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.6±0.4ms           | 19.4±0.5ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.1±1ms             | 13.6±3ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.3±0.8ms           | 26.4±2ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.6±1ms             | 71.2±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.0±3ms             | 25.9±0.7ms          | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 381±3ms              | 444±2ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.68±0.09ms          | 3.08±0.1ms          | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 388±2ms              | 452±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 389±2ms              | 451±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.91±0.09ms          | 3.06±0.2ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 393±3ms              | 456±4ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.34±0.07ms          | 1.59±0.1ms          | 1.18    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.78±0.1ms           | 2.99±0.1ms          | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.38±0.06ms          | 1.56±0.07ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.39±0.1ms           | 1.59±0.09ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.94±0.1ms           | 3.12±0.09ms         | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.43±0.08ms          | 1.58±0.1ms          | 1.10    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 332±1ms              | 335±3ms             | 1.01    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.54±0.06ms          | 8.24±0.08ms         | 1.09    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.27±0.08ms          | 8.82±0.04ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.26±0.02s           | 1.34±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.40±0.01s           | 1.51±0.01s          | 1.08    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.61±0.03ms          | 3.86±0.05ms         | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.90±0.03ms          | 4.14±0.06ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.39±0.05ms          | 7.86±0.03ms         | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.14±0.02ms          | 4.60±0.03ms         | 1.11    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.23±0.01s           | 1.32±0.01s          | 1.08    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.56±0.02ms          | 3.85±0.04ms         | 1.08    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.25±0.02ms          | 3.44±0.02ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 129±2ms              | 140±1ms             | 1.08    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.9±0.2ms           | 22.7±0.3ms          | 1.04    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 146±3ms              | 156±0.9ms           | 1.06    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.8±0.2ms           | 28.4±0.4ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.8±0.3ms           | 22.2±0.4ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.7±0.4ms           | 30.1±0.3ms          | 1.05    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.5ms           | 17.2±0.3ms          | 1.05    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.1±0.8ms           | 39.8±0.5ms          | 1.10    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.1±0.3ms           | 13.8±0.2ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.0±0.6ms           | 21.4±0.6ms          | 1.02    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.3ms           | 17.1±0.2ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.7±0.4ms           | 19.9±0.4ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.2±0.3ms           | 14.4±0.4ms          | 1.09    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.9±0.4ms           | 16.6±0.4ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.6±0.4ms           | 18.1±0.5ms          | 1.03    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 43.9±0.8ms           | 47.4±0.5ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.7±0.5ms           | 18.2±0.5ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.6±0.5ms           | 21.9±0.5ms          | 1.06    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.63±0.1ms           | 2.84±0.1ms          | 1.08    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.60±0.1ms           | 5.68±0.09ms         | 1.01    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 38.8±0.9ms           | 39.8±1ms            | 1.03    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 805±4ms              | 820±6ms             | 1.02    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 103±1ns              | 103±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 907±10ns             | 918±7ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±1ns              | 102±0.4ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 906±20ns             | 913±5ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±1ns              | 102±0.4ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.02μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 105±2ns              | 105±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0.01μs          | 1.09±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±1ns              | 104±3ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 1.01±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 103±1ns              | 103±0.5ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.15±0.02μs          | 1.15±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.01±0.01μs          | 1.01±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.74±0.08μs          | 6.96±0.08μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.2±0.9μs           | 65.6±1μs            | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.00±0.01μs          | 991±6ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.89±0.2μs           | 6.80±0.07μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 64.4±1μs             | 65.4±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.03μs          | 1.05±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.27±0.2μs           | 7.41±0.08μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.6±2μs             | 68.9±2μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.09±0.01μs          | 1.09±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.76±0.2μs           | 7.69±0.03μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.5±0.7μs           | 74.0±0.4μs          | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.01μs          | 1.04±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.32±0.08μs          | 7.35±0.06μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.7±0.8μs           | 69.5±0.6μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.13±0.01μs          | 1.13±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.97±0.08μs          | 8.17±0.04μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.1±1μs             | 78.3±1μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±0.4ns            | 107±0.2ns           | 1.00    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 107±0.7ns            | 110±0.5ns           | 1.03    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 964±20ns             | 951±8ns             | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 107±1ns              | 109±0.8ns           | 1.02    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 107±1ns              | 109±0.9ns           | 1.02    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±4ns              | 108±1ns             | 1.01    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 692±10ns             | 700±9ns             | 1.01    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 114±3ns              | 114±0.6ns           | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.52±0.06μs          | 3.44±0.02μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.37±0.09μs          | 4.38±0.02μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.35±0.07μs          | 4.26±0.05μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 545±10ns             | 539±5ns             | 0.99    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 418±2ns              | 420±9ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 444±3ns              | 436±6ns             | 0.98    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 368±2ms              | 367±2ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 78.3±5ms             | 79.5±4ms            | 1.01    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.9±0.8ms           | 98.0±1ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 48.5±1ms             | 50.0±2ms            | 1.03    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.72±0.04ms          | 4.13±0.02ms         | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 88.1±1ms             | 94.7±0.4ms          | 1.07    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.3±0.9ms           | 55.1±0.7ms          | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 587±3ms              | 596±3ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 101±0.3ns            | 102±1ns             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 73.4±0.8ms           | 79.3±0.8ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±1ns              | 103±1ns             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 516±2ms              | 526±4ms             | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.1±1ms             | 41.3±1ms            | 1.14    | stats.PearsonR.time_lazy                                                                             |
|          | 19.2±0.3ms           | 19.3±0.3ms          | 1.00    | stats.PearsonR.time_real                                                                             |
|          | 23.1±0.6ms           | 23.8±0.9ms          | 1.03    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.5±0.4ms           | 60.1±0.6ms          | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [df708b5c]    |   Ratio | Benchmark (Parameter)                                        |
|----------|----------------------|---------------------|---------|--------------------------------------------------------------|
| +        | 1.51±0.01ms          | 1.87±0.02ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)               |
| +        | 2.25±0.02ms          | 2.71±0.03ms         |    1.21 | experimental.ugrid.Connectivity.time_location_lengths(6)     |
| +        | 3.34±0.04ms          | 4.02±0.06ms         |    1.2  | experimental.ugrid.Connectivity.time_validate_indices(6)     |
| +        | 2.67±0.04ms          | 3.27±0.05ms         |    1.23 | experimental.ugrid.ConnectivityLazy.time_create(6)           |
| +        | 3.65±0.05ms          | 4.39±0.05ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_validate_indices(6) |
| +        | 251±6μs              | 358±8μs             |    1.43 | experimental.ugrid.Mesh.time_add_connectivities(6)           |
| +        | 300±5μs              | 404±2μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                       |
| +        | 288±7μs              | 399±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)       |
| +        | 334±6μs              | 449±10μs            |    1.35 | experimental.ugrid.MeshLazy.time_create(6)                   |
| +        | 288±1ms              | 360±4ms             |    1.25 | load.StructuredFF.time_structured_load((2, 2, 1000), True)   |

Generated by GHA run 8284485359

github-actions[bot] avatar Mar 14 '24 17:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: ad0b9371

Performance shifts
| Change   | Before [9c431a01]    | After [ad0b9371]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 43.1±3μs             | 54.1±3μs            |    1.25 | cube.MeshCoord.time_remove(6)                              |
| +        | 1.56±0.01ms          | 1.89±0.02ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.43±0.1ms           | 4.38±0.1ms          |    1.28 | experimental.ugrid.ConnectivityLazy.time_create(1000000)   |
| +        | 2.66±0.04ms          | 3.27±0.04ms         |    1.23 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 256±2μs              | 369±2μs             |    1.44 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 292±3μs              | 405±1μs             |    1.39 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 291±5μs              | 406±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 342±10μs             | 452±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 284±5ms              | 362±7ms             |    1.27 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [ad0b9371]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.45±0.06μs          | 4.34±0.04μs         | 0.98    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 5.03±0.1μs           | 4.98±0.06μs         | 0.99    | coords.AncillaryVariable.time_create                                                                 |
|          | 427±4ns              | 416±3ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.83±0.2μs           | 8.88±0.04μs         | 1.01    | coords.AuxCoord.time_create                                                                          |
|          | 410±50ns             | 399±3ns             | 0.97    | coords.AuxCoord.time_points                                                                          |
|          | 235±20μs             | 255±30μs            | 1.08    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.1±0.5μs           | 13.1±0.7μs          | 1.00    | coords.AuxCoordLazy.time_create                                                                      |
|          | 228±20μs             | 250±20μs            | 1.10    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.48±0.2μs           | 5.36±0.04μs         | 0.98    | coords.CellMeasure.time_create                                                                       |
|          | 1.12±0.04μs          | 1.08±0μs            | 0.97    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±3μs              | 111±2μs             | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 31.8±0.7μs           | 32.8±0.8μs          | 1.03    | coords.DimCoord.time_regular                                                                         |
|          | 383±4ms              | 388±8ms             | 1.01    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.0±2μs             | 58.6±0.6μs          | 0.98    | cube.AncillaryVariable.time_add                                                                      |
|          | 12.0±0.4μs           | 11.7±0.3μs          | 0.97    | cube.AncillaryVariable.time_create                                                                   |
|          | 68.6±2μs             | 67.9±0.5μs          | 0.99    | cube.AuxCoord.time_add                                                                               |
|          | 9.67±0.3μs           | 9.59±0.1μs          | 0.99    | cube.AuxCoord.time_create                                                                            |
|          | 6.04±0.07μs          | 6.05±0.1μs          | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.54±0.06μs          | 4.50±0.05μs         | 0.99    | cube.AuxCoord.time_return_coords                                                                     |
|          | 41.0±0.7μs           | 40.6±0.3μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.9±0.4μs           | 12.0±0.4μs          | 0.93    | cube.AuxFactory.time_create                                                                          |
|          | 62.4±2μs             | 59.2±0.5μs          | 0.95    | cube.CellMeasure.time_add                                                                            |
|          | 11.8±0.3μs           | 11.5±0.3μs          | 0.97    | cube.CellMeasure.time_create                                                                         |
|          | 53.6±1μs             | 52.1±0.2μs          | 0.97    | cube.CellMethod.time_add                                                                             |
|          | 7.26±0.09μs          | 7.18±0.07μs         | 0.99    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 131±1ms              | 132±0.7ms           | 1.01    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.80±0.2μs           | 6.73±0.05μs         | 0.99    | cube.Cube.time_basic                                                                                 |
|          | 57.9±0.3ns           | 58.9±0.6ns          | 1.02    | cube.Cube.time_rename                                                                                |
|          | 63.7±1μs             | 61.8±0.7μs          | 0.97    | cube.Equality.time_equality                                                                          |
|          | 338±4ms              | 344±6ms             | 1.02    | cube.Merge.time_merge                                                                                |
|          | 28.4±1μs             | 29.0±1μs            | 1.02    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.6±2μs             | 30.1±1μs            | 0.95    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.5±0.9μs           | 26.8±0.9μs          | 1.05    | cube.MeshCoord.time_add(6)                                                                           |
|          | 20.5±0.5μs           | 19.5±0.3μs          | 0.95    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 20.3±0.4μs           | 19.7±0.3μs          | 0.97    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.8±0.5μs           | 18.9±0.2μs          | 1.01    | cube.MeshCoord.time_create(6)                                                                        |
|          | 52.5±6μs             | 57.1±2μs            | 1.09    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 61.1±3μs             | 59.7±4μs            | 0.98    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 2.07±0.2ms           | 2.93±0.4ms          | ~1.41   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 607±9ns              | 604±8ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 604±7ns              | 600±10ns            | 0.99    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.1±2ms             | 23.6±2ms            | 1.17    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.27±0.03ms          | 2.70±0.03ms         | 1.19    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.6±3ms             | 28.8±3ms            | ~1.28   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.37±0.04ms          | 4.00±0.09ms         | 1.19    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 240±8μs              | 259±7μs             | 1.08    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 236±5μs              | 252±8μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.8±0.4ms           | 20.4±0.3ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.51±0.04ms          | 2.94±0.05ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.2±0.8ms           | 23.4±0.5ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.61±0.07ms          | 4.30±0.05ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.7±0.2μs           | 12.7±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.90±0.08μs          | 4.82±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.93±0.03μs          | 4.93±0.04μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.12±0.06μs          | 4.97±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.06±0.05μs          | 5.03±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.88±0.06μs          | 5.83±0.04μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.78±0.09μs          | 5.80±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.2±0.5μs           | 46.2±0.8μs          | 0.98    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 72.4±2ms             | 79.4±1ms            | 1.10    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 282±5μs              | 275±3μs             | 0.98    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.98±0.08μs          | 4.87±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.97±0.09μs          | 4.92±0.03μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.43±0.05μs          | 7.33±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.35±0.1μs           | 7.30±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.1±0.06μs          | 10.8±0.07μs         | 1.07    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 124±5ms              | 126±3ms             | 1.02    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.36±0.05μs          | 5.31±0.05μs         | 0.99    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.26±0.04ms          | 3.67±0.03ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.29±0.04ms          | 3.70±0.02ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 201±4μs              | 204±3μs             | 1.02    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.61±0.08μs          | 3.67±0.04μs         | 1.02    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.12±0.08μs          | 4.22±0.04μs         | 1.02    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.96±0.07μs          | 2.93±0.02μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.87±0.2ms           | 7.70±0.2ms          | 1.12    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 126±4ms              | 127±3ms             | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.0±0.5μs           | 12.6±0.6μs          | 1.05    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.29±0.04ms          | 3.74±0.07ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.28±0.06ms          | 3.70±0.05ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 241±10μs             | 239±6μs             | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.39±0.09ms          | 2.55±0.1ms          | 1.07    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.53±0.1ms           | 4.67±0.1ms          | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.18±0.5μs           | 8.08±0.8μs          | 0.99    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.9±1μs             | 32.7±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 18.8±0.7μs           | 19.3±2μs            | 1.03    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 16.6±1μs             | 17.4±2μs            | 1.05    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.2±0.4μs           | 16.7±0.8μs          | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.6±0.6μs           | 17.2±0.9μs          | 1.03    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.6±0.6μs           | 19.4±0.9μs          | 0.99    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.8±0.6μs           | 19.3±0.9μs          | 1.03    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.6±2μs             | 80.0±7μs            | 1.01    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 75.5±4ms             | 81.5±4ms            | 1.08    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 352±10μs             | 367±20μs            | 1.04    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.4±0.6μs           | 18.5±2μs            | 1.01    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.9±1μs             | 17.6±2μs            | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 32.6±0.8μs           | 31.1±0.9μs          | 0.95    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 31.0±1μs             | 31.1±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 492±6ns              | 512±6ns             | 1.04    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 250±3ms              | 248±1ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.7±0.1ms           | 13.6±0.1ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.7±0.4ms           | 15.4±0.1ms          | 1.13    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 127±2ms              | 136±1ms             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 736±6ms              | 742±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 88.0±2ms             | 95.8±0.9ms          | 1.09    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 691±7ms              | 693±4ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 578±4μs              | 582±10μs            | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 166±4μs              | 170±5μs             | 1.02    | import_iris.Iris.time__constraints                                                                   |
|          | 100±0.9μs            | 102±2μs             | 1.02    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.1±0.3μs           | 86.0±1μs            | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 110±0.5μs            | 109±0.9μs           | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 793±8μs              | 795±5μs             | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 72.2±1μs             | 71.8±0.4μs          | 0.99    | import_iris.Iris.time__representation                                                                |
|          | 442±9μs              | 432±8μs             | 0.98    | import_iris.Iris.time_analysis                                                                       |
|          | 129±2μs              | 133±1μs             | 1.03    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 100±0.9μs            | 99.1±1μs            | 0.99    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 221±2μs              | 218±2μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 169±4μs              | 174±3μs             | 1.03    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±1μs              | 102±1μs             | 0.99    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 127±2μs              | 128±2μs             | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 286±2μs              | 284±3μs             | 0.99    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.3±0.8μs           | 85.3±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 201±2μs              | 200±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 92.4±1μs             | 91.0±1μs            | 0.98    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 167±2μs              | 167±1μs             | 1.00    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 274±7μs              | 268±4μs             | 0.98    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.6±0.8μs           | 80.4±0.2μs          | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 155±3μs              | 153±1μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 887±20μs             | 894±8μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 125±2μs              | 125±3μs             | 1.00    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.05±0.01ms          | 1.03±0.01ms         | 0.98    | import_iris.Iris.time_common_resolve                                                                 |
|          | 188±3μs              | 187±2μs             | 0.99    | import_iris.Iris.time_config                                                                         |
|          | 106±0.9μs            | 107±1μs             | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 319±6μs              | 328±5μs             | 1.03    | import_iris.Iris.time_coord_systems                                                                  |
|          | 650±6μs              | 643±4μs             | 0.99    | import_iris.Iris.time_coords                                                                         |
|          | 601±20μs             | 599±10μs            | 1.00    | import_iris.Iris.time_cube                                                                           |
|          | 203±2μs              | 209±1μs             | 1.03    | import_iris.Iris.time_exceptions                                                                     |
|          | 73.8±0.3μs           | 73.3±0.5μs          | 0.99    | import_iris.Iris.time_experimental                                                                   |
|          | 200±1μs              | 195±2μs             | 0.98    | import_iris.Iris.time_fileformats                                                                    |
|          | 225±2μs              | 227±4μs             | 1.01    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.46±0.2ms           | 2.46±0.07ms         | 1.00    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.8±0.9μs           | 76.0±1μs            | 1.02    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 108±1μs              | 107±0.8μs           | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 322±6μs              | 318±5μs             | 0.99    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.41±0.1ms           | 5.51±0.2ms          | 1.02    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.5±0.8μs           | 69.2±1μs            | 0.99    | import_iris.Iris.time_fileformats_name                                                               |
|          | 239±5μs              | 237±3μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 114±1μs              | 112±1μs             | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±4μs              | 113±1μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 190±2μs              | 192±5μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 687±10μs             | 682±9μs             | 0.99    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 162±3μs              | 163±4μs             | 1.01    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±0.5μs            | 123±2μs             | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 445±3μs              | 443±3μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 197±2μs              | 197±2μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 80.0±0.5μs           | 80.4±0.9μs          | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±2μs              | 151±1μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 132±1μs              | 132±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.9±0.6μs           | 72.1±0.3μs          | 1.02    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.2±0.5μs           | 79.1±0.5μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 882±9μs              | 870±5μs             | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±0.6μs            | 130±1μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 162±4μs              | 164±3μs             | 1.01    | import_iris.Iris.time_io_format_picker                                                               |
|          | 195±1μs              | 196±2μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 119±1μs              | 120±2μs             | 1.01    | import_iris.Iris.time_iterate                                                                        |
|          | 8.18±0.1ms           | 8.30±0.1ms          | 1.01    | import_iris.Iris.time_palette                                                                        |
|          | 305±4μs              | 304±2μs             | 1.00    | import_iris.Iris.time_plot                                                                           |
|          | 95.8±0.8μs           | 95.2±0.4μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.95±0.01ms          | 1.93±0.08ms         | 0.99    | import_iris.Iris.time_std_names                                                                      |
|          | 1.73±0.01ms          | 1.72±0.01ms         | 1.00    | import_iris.Iris.time_symbols                                                                        |
|          | 111±0.9ms            | 112±1ms             | 1.01    | import_iris.Iris.time_tests                                                                          |
|          | 222±4μs              | 221±4μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.80±0.04ms          | 4.84±0.03ms         | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.3μs            | 105±0.9μs           | 1.01    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.68±0.02ms          | 2.67±0.01ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.02±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 156±2μs              | 157±2μs             | 1.00    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 94.6±2μs             | 92.0±1μs            | 0.97    | import_iris.Iris.time_time                                                                           |
|          | 291±5μs              | 286±3μs             | 0.98    | import_iris.Iris.time_util                                                                           |
|          | 84.9±2μs             | 82.7±0.7μs          | 0.97    | iterate.IZip.time_izip                                                                               |
|          | 7.43±0.1ms           | 7.90±0.04ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.1±0.2ms           | 23.1±0.3ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.17±0.2ms           | 8.67±0.06ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.45±0.09ms          | 7.87±0.05ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.4±0.3ms           | 20.7±0.5ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.23±0.2ms           | 8.64±0.09ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.26±0.02s           | 1.34±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.9±0.3ms           | 19.6±0.2ms          | 0.99    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.40±0.02s           | 1.49±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.27±0.02s           | 1.34±0.02s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.4±0.4ms           | 19.9±0.3ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.41±0.01s           | 1.49±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.67±0.04ms          | 3.81±0.02ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.8±0.3ms           | 19.2±0.5ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.92±0.03ms          | 4.12±0.05ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.61±0.03ms          | 3.87±0.04ms         | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 19.3±0.4ms           | 18.9±0.6ms          | 0.98    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.91±0.05ms          | 4.08±0.04ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 32.8±0.9ms           | 34.3±3ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 20.6±0.4ms           | 20.2±0.5ms          | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.2±1ms             | 13.7±2ms            | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.7±1ms             | 26.0±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.1±1ms             | 71.1±2ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.6±1ms             | 26.1±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 385±3ms              | 447±6ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.85±0.09ms          | 3.01±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 388±3ms              | 454±6ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 387±6ms              | 450±5ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.86±0.1ms           | 2.96±0.1ms          | 1.03    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 394±6ms              | 453±5ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.40±0.04ms          | 1.55±0.09ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.80±0.1ms           | 3.04±0.08ms         | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.37±0.08ms          | 1.61±0.06ms         | 1.17    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.36±0.06ms          | 1.56±0.1ms          | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.86±0.07ms          | 3.21±0.07ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.39±0.05ms          | 1.62±0.05ms         | 1.17    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 334±2ms              | 331±2ms             | 0.99    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.56±0.1ms           | 8.08±0.09ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.39±0.09ms          | 8.83±0.1ms          | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.25±0.02s           | 1.34±0.02s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.02s           | 1.50±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.68±0.03ms          | 3.83±0.02ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.92±0.03ms          | 4.11±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.52±0.1ms           | 7.89±0.1ms          | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.18±0.03ms          | 4.65±0.05ms         | 1.11    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.24±0.02s           | 1.33±0.01s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.62±0.07ms          | 3.81±0.05ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.34±0.02ms          | 3.47±0.05ms         | 1.04    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 130±2ms              | 142±1ms             | 1.09    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.3±0.4ms           | 22.6±0.7ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 147±3ms              | 157±2ms             | 1.07    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.6±0.4ms           | 29.1±0.9ms          | 1.09    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.8±0.2ms           | 22.3±0.4ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.0±0.3ms           | 30.5±0.2ms          | 1.05    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 17.0±0.4ms           | 17.6±0.7ms          | 1.04    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 37.7±2ms             | 40.1±1ms            | 1.06    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 14.1±0.9ms           | 13.9±0.4ms          | 0.99    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.6±0.9ms           | 23.2±0.7ms          | 1.07    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.8±0.4ms           | 17.5±0.5ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.7±0.7ms           | 20.6±0.5ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.4±0.3ms           | 14.2±0.5ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.8±0.8ms           | 16.9±0.7ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.6±0.6ms           | 18.7±0.7ms          | 1.06    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 44.3±2ms             | 48.6±0.6ms          | 1.10    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.9±0.6ms           | 18.3±0.5ms          | 1.02    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.6±0.5ms           | 21.7±0.8ms          | 1.01    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.73±0.2ms           | 2.81±0.2ms          | 1.03    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 4.93±0.9ms           | 5.65±0.1ms          | 1.15    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 39.4±3ms             | 41.0±0.9ms          | 1.04    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 812±20ms             | 826±10ms            | 1.02    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.8ns            | 102±0.6ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 909±10ns             | 919±7ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±0.6ns            | 102±0.5ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 903±30ns             | 914±10ns            | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.8ns            | 104±2ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.00±0.01μs          | 1.02±0.02μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±2ns              | 102±0.4ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.07±0.01μs          | 1.09±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±0.8ns            | 104±3ns             | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 1.02±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.8ns            | 103±0.8ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.02μs          | 1.17±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.01μs          | 985±10ns            | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.71±0.06μs          | 6.76±0.07μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 62.6±0.5μs           | 63.6±0.5μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.00±0.01μs          | 968±6ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.67±0.05μs          | 6.72±0.08μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 62.5±0.7μs           | 64.0±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.01μs          | 1.02±0μs            | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.17±0.06μs          | 7.12±0.09μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 66.9±0.4μs           | 67.6±0.5μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.09±0.01μs          | 1.07±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.51±0.06μs          | 7.66±0.07μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.9±1μs             | 72.6±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.01μs          | 1.02±0μs            | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.14±0.1μs           | 7.19±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.1±0.6μs           | 68.9±1μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.14±0.01μs          | 1.12±0μs            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.03±0.2μs           | 8.09±0.06μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.6±2μs             | 76.7±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 108±1ns              | 107±0.4ns           | 0.99    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 108±2ns              | 107±0.4ns           | 0.99    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 970±20ns             | 955±8ns             | 0.98    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 107±2ns              | 107±0.7ns           | 0.99    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 109±2ns              | 107±1ns             | 0.98    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±1ns              | 107±0.7ns           | 0.99    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 718±20ns             | 689±6ns             | 0.96    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 115±3ns              | 115±0.9ns           | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.52±0.04μs          | 3.51±0.03μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.43±0.06μs          | 4.36±0.06μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.36±0.07μs          | 4.30±0.04μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 565±10ns             | 538±4ns             | 0.95    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 418±1ns              | 421±1ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 450±10ns             | 432±3ns             | 0.96    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 368±4ms              | 371±5ms             | 1.01    | plot.AuxSort.time_aux_sort                                                                           |
|          | 80.0±4ms             | 78.7±5ms            | 0.98    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 97.5±1ms             | 97.5±1ms            | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 52.3±3ms             | 52.0±2ms            | 0.99    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.75±0.05ms          | 4.14±0.1ms          | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 87.7±1ms             | 97.8±2ms            | 1.12    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.3±0.9ms           | 55.8±0.8ms          | 1.03    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 595±7ms              | 599±6ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 106±2ns              | 101±1ns             | 0.95    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 73.7±2ms             | 79.2±2ms            | 1.07    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 108±4ns              | 102±2ns             | 0.94    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 527±8ms              | 528±5ms             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 37.8±1ms             | 41.6±0.7ms          | 1.10    | stats.PearsonR.time_lazy                                                                             |
|          | 19.3±0.2ms           | 19.0±0.3ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 23.4±0.9ms           | 23.2±0.7ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.6±1ms             | 60.1±0.3ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [ad0b9371]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 43.1±3μs             | 54.1±3μs            |    1.25 | cube.MeshCoord.time_remove(6)                              |
| +        | 1.56±0.01ms          | 1.89±0.02ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.43±0.1ms           | 4.38±0.1ms          |    1.28 | experimental.ugrid.ConnectivityLazy.time_create(1000000)   |
| +        | 2.66±0.04ms          | 3.27±0.04ms         |    1.23 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 256±2μs              | 369±2μs             |    1.44 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 292±3μs              | 405±1μs             |    1.39 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 291±5μs              | 406±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 342±10μs             | 452±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 284±5ms              | 362±7ms             |    1.27 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8296446887

github-actions[bot] avatar Mar 15 '24 13:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 712ff119

Performance shifts
| Change   | Before [9c431a01]    | After [712ff119]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.56±0.02ms          | 1.91±0.05ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.33±0.02ms          | 2.82±0.06ms         |    1.21 | experimental.ugrid.Connectivity.time_location_lengths(6)   |
| +        | 2.74±0.06ms          | 3.31±0.06ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 259±5μs              | 358±7μs             |    1.38 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 304±3μs              | 411±10μs            |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 302±10μs             | 410±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 348±10μs             | 459±20μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 298±2ms              | 364±2ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [712ff119]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.44±0.04μs          | 4.32±0.03μs         | 0.97    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.96±0.04μs          | 4.97±0.08μs         | 1.00    | coords.AncillaryVariable.time_create                                                                 |
|          | 426±4ns              | 419±5ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.97±0.1μs           | 9.11±0.1μs          | 1.02    | coords.AuxCoord.time_create                                                                          |
|          | 414±8ns              | 403±2ns             | 0.97    | coords.AuxCoord.time_points                                                                          |
|          | 236±20μs             | 264±40μs            | 1.12    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.3±0.7μs           | 13.1±0.9μs          | 0.98    | coords.AuxCoordLazy.time_create                                                                      |
|          | 231±20μs             | 260±30μs            | 1.13    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.39±0.1μs           | 5.37±0.05μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.08±0.02μs          | 1.09±0.01μs         | 1.01    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±2μs              | 110±0.5μs           | 1.00    | coords.DimCoord.time_create                                                                          |
|          | 32.0±0.4μs           | 33.2±0.3μs          | 1.04    | coords.DimCoord.time_regular                                                                         |
|          | 394±4ms              | 395±3ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.4±0.3μs           | 59.5±0.3μs          | 1.00    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.8±0.1μs           | 11.5±0.1μs          | 0.97    | cube.AncillaryVariable.time_create                                                                   |
|          | 68.4±0.8μs           | 69.5±0.6μs          | 1.02    | cube.AuxCoord.time_add                                                                               |
|          | 9.58±0.1μs           | 9.32±0.05μs         | 0.97    | cube.AuxCoord.time_create                                                                            |
|          | 5.98±0.03μs          | 6.04±0.08μs         | 1.01    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.45±0.04μs          | 4.53±0.03μs         | 1.02    | cube.AuxCoord.time_return_coords                                                                     |
|          | 41.5±0.8μs           | 40.9±0.8μs          | 0.98    | cube.AuxFactory.time_add                                                                             |
|          | 12.1±0.3μs           | 12.5±0.3μs          | 1.03    | cube.AuxFactory.time_create                                                                          |
|          | 59.5±0.8μs           | 60.2±0.8μs          | 1.01    | cube.CellMeasure.time_add                                                                            |
|          | 11.3±0.2μs           | 11.6±0.2μs          | 1.03    | cube.CellMeasure.time_create                                                                         |
|          | 52.2±0.3μs           | 54.2±0.9μs          | 1.04    | cube.CellMethod.time_add                                                                             |
|          | 7.41±0.09μs          | 7.20±0.05μs         | 0.97    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 132±0.7ms            | 132±0.2ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.82±0.1μs           | 6.77±0.1μs          | 0.99    | cube.Cube.time_basic                                                                                 |
|          | 58.1±0.3ns           | 57.6±0.2ns          | 0.99    | cube.Cube.time_rename                                                                                |
|          | 62.6±0.8μs           | 63.2±0.7μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 346±2ms              | 348±2ms             | 1.01    | cube.Merge.time_merge                                                                                |
|          | 30.3±1μs             | 30.3±2μs            | 1.00    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.8±3μs             | 31.0±2μs            | 0.98    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 30.4±2μs             | 29.8±2μs            | 0.98    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.6±0.4μs           | 20.0±0.5μs          | 1.02    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.9±0.3μs           | 19.7±0.2μs          | 0.99    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.2±0.2μs           | 19.1±0.2μs          | 0.99    | cube.MeshCoord.time_create(6)                                                                        |
|          | 62.0±4μs             | 60.8±4μs            | 0.98    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 65.4±5μs             | 65.1±4μs            | 0.99    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 62.6±4μs             | 60.8±4μs            | 0.97    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.29±0.4ms           | 3.20±0.4ms          | ~1.40   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 601±3ns              | 595±7ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 610±9ns              | 594±2ns             | 0.97    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 23.4±2ms             | 24.5±2ms            | 1.05    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 24.2±3ms             | 28.9±3ms            | 1.19    | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.49±0.09ms          | 4.10±0.1ms          | 1.17    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 4.10±0.2ms           | 4.74±0.1ms          | 1.16    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 274±10μs             | 285±10μs            | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 243±8μs              | 263±8μs             | 1.08    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.6±0.7ms           | 21.1±0.4ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.66±0.08ms          | 3.16±0.08ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 23.7±0.5ms           | 24.4±0.5ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.82±0.09ms          | 4.50±0.08ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.6±0.1μs           | 12.8±0.1μs          | 1.02    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.84±0.03μs          | 4.86±0.04μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.83±0.02μs          | 4.84±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.05±0.05μs          | 5.02±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.07±0.04μs          | 5.10±0.08μs         | 1.01    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.92±0.05μs          | 5.88±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.86±0.07μs          | 5.87±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.7±1μs             | 47.4±1μs            | 1.02    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 83.4±2ms             | 87.5±2ms            | 1.05    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 278±3μs              | 283±3μs             | 1.02    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.92±0.03μs          | 4.92±0.07μs         | 1.00    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.97±0.08μs          | 4.99±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.41±0.04μs          | 7.34±0.07μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.44±0.1μs           | 7.29±0.07μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.8±0.1μs           | 10.9±0.1μs          | 1.01    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 128±0.7ms            | 131±1ms             | 1.02    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.32±0.03μs          | 5.36±0.1μs          | 1.01    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.37±0.03ms          | 3.80±0.04ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.39±0.03ms          | 3.75±0.06ms         | 1.11    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 205±4μs              | 206±3μs             | 1.00    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.71±0.05μs          | 3.82±0.03μs         | 1.03    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.26±0.06μs          | 4.41±0.05μs         | 1.03    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.91±0.03μs          | 3.02±0.05μs         | 1.04    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 7.69±0.2ms           | 8.25±0.2ms          | 1.07    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 129±2ms              | 131±2ms             | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 13.4±0.6μs           | 13.5±0.5μs          | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.47±0.07ms          | 3.82±0.07ms         | 1.10    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.45±0.08ms          | 3.84±0.07ms         | 1.11    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 259±10μs             | 257±20μs            | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.90±0.1ms           | 3.03±0.08ms         | 1.04    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 5.12±0.2ms           | 5.24±0.2ms          | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 9.67±0.5μs           | 9.61±0.6μs          | 0.99    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.7±1μs             | 33.4±2μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.9±0.7μs           | 19.7±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 22.3±2μs             | 20.9±2μs            | 0.94    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.8±1μs             | 17.1±0.8μs          | 0.96    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 19.8±1μs             | 19.4±2μs            | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 20.2±1μs             | 19.5±0.9μs          | 0.96    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 21.6±2μs             | 21.4±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 80.0±5μs             | 87.2±7μs            | 1.09    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 84.1±2ms             | 87.3±1ms            | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 381±20μs             | 385±10μs            | 1.01    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 20.2±2μs             | 18.6±0.9μs          | 0.92    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 20.0±1μs             | 20.8±2μs            | 1.04    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 33.9±3μs             | 31.8±1μs            | 0.94    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 35.1±2μs             | 33.1±2μs            | 0.94    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 500±3ns              | 515±5ns             | 1.03    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 251±2ms              | 249±2ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 12.3±0.2ms           | 14.4±0.2ms          | 1.17    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 14.4±0.6ms           | 16.2±0.2ms          | 1.13    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 137±2ms              | 149±2ms             | 1.08    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 757±6ms              | 766±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 96.2±2ms             | 103±2ms             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 708±3ms              | 714±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 618±20μs             | 590±8μs             | 0.95    | import_iris.Iris.time__concatenate                                                                   |
|          | 179±6μs              | 179±3μs             | 1.00    | import_iris.Iris.time__constraints                                                                   |
|          | 106±2μs              | 105±3μs             | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 87.3±1μs             | 86.4±1μs            | 0.99    | import_iris.Iris.time__deprecation                                                                   |
|          | 111±2μs              | 111±0.9μs           | 1.00    | import_iris.Iris.time__lazy_data                                                                     |
|          | 837±10μs             | 835±10μs            | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 72.8±1μs             | 73.0±0.4μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 466±8μs              | 469±9μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 130±1μs              | 134±2μs             | 1.03    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 101±2μs              | 98.7±1μs            | 0.98    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 229±4μs              | 226±3μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 179±0.9μs            | 177±1μs             | 0.99    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 104±2μs              | 107±2μs             | 1.03    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 128±1μs              | 130±3μs             | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 290±4μs              | 296±5μs             | 1.02    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 85.1±0.6μs           | 87.7±3μs            | 1.03    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 205±3μs              | 205±2μs             | 1.00    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 91.1±1μs             | 91.5±0.7μs          | 1.00    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 177±3μs              | 174±3μs             | 0.98    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 294±6μs              | 294±8μs             | 1.00    | import_iris.Iris.time_aux_factory                                                                    |
|          | 81.5±0.9μs           | 81.0±0.4μs          | 0.99    | import_iris.Iris.time_common                                                                         |
|          | 165±4μs              | 164±2μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 935±20μs             | 945±20μs            | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 131±2μs              | 133±3μs             | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.10±0.02ms          | 1.07±0.01ms         | 0.97    | import_iris.Iris.time_common_resolve                                                                 |
|          | 194±4μs              | 192±4μs             | 0.99    | import_iris.Iris.time_config                                                                         |
|          | 107±1μs              | 110±2μs             | 1.02    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 364±10μs             | 359±10μs            | 0.99    | import_iris.Iris.time_coord_systems                                                                  |
|          | 707±20μs             | 684±9μs             | 0.97    | import_iris.Iris.time_coords                                                                         |
|          | 669±20μs             | 666±20μs            | 1.00    | import_iris.Iris.time_cube                                                                           |
|          | 211±2μs              | 214±3μs             | 1.01    | import_iris.Iris.time_exceptions                                                                     |
|          | 73.4±0.4μs           | 73.6±1μs            | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 200±2μs              | 196±1μs             | 0.98    | import_iris.Iris.time_fileformats                                                                    |
|          | 236±3μs              | 236±6μs             | 1.00    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.65±0.1ms           | 2.72±0.1ms          | 1.03    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.9±1μs             | 74.9±0.7μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 111±1μs              | 110±1μs             | 0.99    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 357±5μs              | 344±8μs             | 0.96    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 6.24±0.1ms           | 6.15±0.1ms          | 0.99    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.4±1μs             | 69.8±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 243±4μs              | 240±2μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 115±2μs              | 114±1μs             | 0.99    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 117±1μs              | 116±2μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 192±2μs              | 191±2μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 724±8μs              | 706±20μs            | 0.97    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 161±2μs              | 161±2μs             | 1.00    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 125±1μs              | 122±1μs             | 0.97    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 460±6μs              | 457±7μs             | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 209±4μs              | 206±3μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 81.1±0.5μs           | 81.1±1μs            | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 155±3μs              | 153±3μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 138±2μs              | 139±1μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 72.2±1μs             | 72.2±0.5μs          | 1.00    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.7±0.6μs           | 78.9±0.6μs          | 1.00    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 892±8μs              | 879±7μs             | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 131±1μs              | 133±1μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 173±5μs              | 169±2μs             | 0.98    | import_iris.Iris.time_io_format_picker                                                               |
|          | 200±2μs              | 199±2μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 124±2μs              | 123±0.9μs           | 0.99    | import_iris.Iris.time_iterate                                                                        |
|          | 8.58±0.08ms          | 8.44±0.09ms         | 0.98    | import_iris.Iris.time_palette                                                                        |
|          | 307±3μs              | 308±3μs             | 1.00    | import_iris.Iris.time_plot                                                                           |
|          | 95.3±1μs             | 94.5±0.8μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 2.07±0.07ms          | 1.98±0.05ms         | 0.95    | import_iris.Iris.time_std_names                                                                      |
|          | 1.76±0.04ms          | 1.76±0.02ms         | 1.00    | import_iris.Iris.time_symbols                                                                        |
|          | 25.2±2ms             | 24.9±2ms            | 0.99    | import_iris.Iris.time_tests                                                                          |
|          | 225±2μs              | 226±4μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 5.15±0.1ms           | 5.19±0.1ms          | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 104±1μs              | 105±1μs             | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.83±0.05ms          | 2.74±0.05ms         | 0.97    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.02±0.01ms          | 1.02±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 154±2μs              | 158±2μs             | 1.03    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 96.4±1μs             | 95.1±0.9μs          | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 291±5μs              | 294±2μs             | 1.01    | import_iris.Iris.time_util                                                                           |
|          | 83.6±0.6μs           | 85.2±0.7μs          | 1.02    | iterate.IZip.time_izip                                                                               |
|          | 8.01±0.1ms           | 8.32±0.2ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 24.9±0.6ms           | 25.3±0.7ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.59±0.2ms           | 9.34±0.2ms          | 1.09    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 8.00±0.2ms           | 8.32±0.2ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 21.8±0.3ms           | 22.3±0.3ms          | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.66±0.2ms           | 9.17±0.2ms          | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.28±0.01s           | 1.37±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 20.9±0.3ms           | 21.4±0.3ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.44±0.01s           | 1.54±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.29±0.01s           | 1.37±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 21.1±0.3ms           | 21.4±0.4ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.45±0.02s           | 1.52±0.02s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.75±0.08ms          | 3.94±0.1ms          | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 20.4±0.5ms           | 20.9±0.4ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 4.12±0.07ms          | 4.36±0.1ms          | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.75±0.06ms          | 4.10±0.1ms          | 1.09    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 20.4±0.3ms           | 20.4±0.5ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.99±0.06ms          | 4.25±0.08ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 35.3±1ms             | 36.4±2ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 20.5±0.7ms           | 20.3±0.5ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 14.1±2ms             | 15.1±3ms            | 1.07    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 27.0±2ms             | 26.8±0.7ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.2±2ms             | 72.1±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 26.1±0.7ms           | 26.9±1ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 406±2ms              | 462±4ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 3.17±0.09ms          | 3.34±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 415±2ms              | 470±5ms             | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 414±2ms              | 471±5ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 3.25±0.1ms           | 3.31±0.09ms         | 1.02    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 419±2ms              | 474±5ms             | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.48±0.06ms          | 1.75±0.1ms          | 1.19    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 3.22±0.07ms          | 3.36±0.1ms          | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.59±0.08ms          | 1.74±0.05ms         | 1.10    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.49±0.1ms           | 1.69±0.03ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 3.27±0.1ms           | 3.35±0.08ms         | 1.02    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.51±0.07ms          | 1.73±0.09ms         | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 336±2ms              | 345±5ms             | 1.03    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.98±0.2ms           | 8.71±0.3ms          | 1.09    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.94±0.1ms           | 9.45±0.2ms          | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.30±0.02s           | 1.38±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.46±0.01s           | 1.54±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.81±0.07ms          | 4.09±0.1ms          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 4.10±0.08ms          | 4.46±0.1ms          | 1.09    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.87±0.2ms           | 8.37±0.2ms          | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.39±0.1ms           | 4.91±0.1ms          | 1.12    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.29±0.01s           | 1.35±0.01s          | 1.05    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.69±0.05ms          | 3.97±0.1ms          | 1.08    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.57±0.1ms           | 3.63±0.05ms         | 1.02    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 137±2ms              | 145±2ms             | 1.07    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 23.8±0.3ms           | 24.1±0.5ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 152±3ms              | 159±0.7ms           | 1.04    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 28.4±0.3ms           | 29.4±0.4ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 23.6±0.3ms           | 24.2±0.4ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 30.7±0.2ms           | 32.2±0.6ms          | 1.05    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 18.1±0.4ms           | 19.0±0.5ms          | 1.05    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 39.1±0.5ms           | 42.2±0.5ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 14.7±0.2ms           | 15.1±0.2ms          | 1.02    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 22.6±0.4ms           | 23.8±0.4ms          | 1.05    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 18.5±0.3ms           | 19.1±0.6ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 20.8±0.4ms           | 21.9±0.6ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 14.6±0.2ms           | 15.4±0.3ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 17.6±0.3ms           | 18.3±0.2ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 19.6±0.4ms           | 20.6±0.5ms          | 1.05    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 47.1±0.5ms           | 51.1±0.9ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 19.6±0.3ms           | 20.1±0.4ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 22.8±0.4ms           | 23.5±0.4ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 3.05±0.08ms          | 3.15±0.08ms         | 1.03    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.94±0.8ms           | 5.93±0.4ms          | 1.00    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 43.6±0.6ms           | 44.2±1ms            | 1.01    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 839±8ms              | 847±8ms             | 1.01    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.6ns            | 101±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 925±10ns             | 920±10ns            | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±0.2ns            | 105±2ns             | 1.04    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 926±10ns             | 913±10ns            | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.9ns            | 102±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.01μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±0.7ns            | 104±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0.01μs          | 1.10±0.03μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±1ns              | 102±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.02±0.01μs          | 1.03±0.02μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.5ns            | 103±2ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.16±0.01μs          | 1.17±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.01±0.01μs          | 985±9ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.95±0.1μs           | 6.77±0.06μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 64.0±1μs             | 65.0±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.02±0μs             | 988±9ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.73±0.1μs           | 6.73±0.03μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 66.7±5μs             | 64.0±0.4μs          | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.07±0.01μs          | 1.04±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.34±0.09μs          | 7.38±0.09μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 69.2±1μs             | 69.9±0.7μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.13±0.01μs          | 1.07±0.02μs         | 0.95    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.63±0.08μs          | 7.65±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.8±0.5μs           | 73.7±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.07±0.01μs          | 1.04±0.02μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.28±0.2μs           | 7.23±0.07μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.8±1μs             | 69.8±0.9μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.15±0.01μs          | 1.11±0.02μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.97±0.1μs           | 8.06±0.06μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.4±0.7μs           | 77.3±0.8μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 111±1ns              | 107±0.5ns           | 0.96    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 107±3ns              | 107±0.4ns           | 1.00    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 986±20ns             | 981±40ns            | 1.00    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 112±3ns              | 108±2ns             | 0.97    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 106±3ns              | 107±0.5ns           | 1.00    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 107±3ns              | 107±1ns             | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 691±20ns             | 708±10ns            | 1.03    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 118±3ns              | 115±2ns             | 0.97    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.58±0.05μs          | 3.43±0.04μs         | 0.96    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.36±0.08μs          | 4.31±0.02μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.34±0.1μs           | 4.24±0.06μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 555±10ns             | 541±8ns             | 0.97    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 412±8ns              | 414±4ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 439±4ns              | 446±40ns            | 1.02    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 376±2ms              | 377±2ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 82.6±6ms             | 83.0±3ms            | 1.01    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 99.2±0.8ms           | 98.7±0.9ms          | 0.99    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 52.4±2ms             | 52.8±1ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 4.20±0.1ms           | 4.57±0.2ms          | 1.09    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 95.4±1ms             | 101±1ms             | 1.06    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 56.7±2ms             | 57.3±0.7ms          | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 605±4ms              | 610±6ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±0.8ns            | 100±0.4ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 78.7±0.5ms           | 85.1±0.9ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 101±0.8ns            | 101±0.9ns           | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 534±4ms              | 538±4ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 37.5±0.6ms           | 42.7±0.9ms          | 1.14    | stats.PearsonR.time_lazy                                                                             |
|          | 20.1±0.2ms           | 20.0±0.3ms          | 1.00    | stats.PearsonR.time_real                                                                             |
|          | 24.8±0.4ms           | 25.0±0.8ms          | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 61.6±0.5ms           | 61.8±0.3ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [712ff119]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.56±0.02ms          | 1.91±0.05ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.33±0.02ms          | 2.82±0.06ms         |    1.21 | experimental.ugrid.Connectivity.time_location_lengths(6)   |
| +        | 2.74±0.06ms          | 3.31±0.06ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 259±5μs              | 358±7μs             |    1.38 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 304±3μs              | 411±10μs            |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 302±10μs             | 410±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 348±10μs             | 459±20μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 298±2ms              | 364±2ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8296935768

github-actions[bot] avatar Mar 15 '24 14:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 70cefe2e

Performance shifts
| Change   | Before [9c431a01]    | After [70cefe2e]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 42.5±3μs             | 55.2±5μs            |    1.3  | cube.MeshCoord.time_remove(6)                              |
| +        | 1.54±0.02ms          | 1.87±0.02ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.65±0.04ms          | 3.18±0.05ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±5μs              | 353±3μs             |    1.41 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 296±5μs              | 408±4μs             |    1.38 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 288±3μs              | 404±10μs            |    1.4  | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 335±10μs             | 448±10μs            |    1.34 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 290±4ms              | 362±3ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [70cefe2e]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.39±0.04μs          | 4.37±0.09μs         | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.94±0.04μs          | 4.88±0.04μs         | 0.99    | coords.AncillaryVariable.time_create                                                                 |
|          | 428±4ns              | 419±6ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.77±0.06μs          | 8.90±0.08μs         | 1.02    | coords.AuxCoord.time_create                                                                          |
|          | 407±3ns              | 397±5ns             | 0.98    | coords.AuxCoord.time_points                                                                          |
|          | 228±20μs             | 251±20μs            | 1.10    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.9±0.6μs           | 13.5±0.5μs          | 1.05    | coords.AuxCoordLazy.time_create                                                                      |
|          | 226±20μs             | 248±20μs            | 1.10    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.32±0.05μs          | 5.37±0.06μs         | 1.01    | coords.CellMeasure.time_create                                                                       |
|          | 1.10±0.02μs          | 1.08±0.01μs         | 0.98    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±1μs              | 113±2μs             | 1.04    | coords.DimCoord.time_create                                                                          |
|          | 31.2±1μs             | 30.6±0.6μs          | 0.98    | coords.DimCoord.time_regular                                                                         |
|          | 381±7ms              | 382±6ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.3±1μs             | 58.3±0.5μs          | 0.97    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.8±0.2μs           | 11.5±0.2μs          | 0.97    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.1±0.4μs           | 67.6±1μs            | 1.01    | cube.AuxCoord.time_add                                                                               |
|          | 9.70±0.2μs           | 9.58±0.09μs         | 0.99    | cube.AuxCoord.time_create                                                                            |
|          | 5.93±0.04μs          | 6.02±0.02μs         | 1.02    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.43±0.04μs          | 4.46±0.02μs         | 1.01    | cube.AuxCoord.time_return_coords                                                                     |
|          | 39.8±0.3μs           | 39.6±0.3μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.4±0.3μs           | 12.0±0.2μs          | 0.97    | cube.AuxFactory.time_create                                                                          |
|          | 59.6±0.5μs           | 58.5±0.4μs          | 0.98    | cube.CellMeasure.time_add                                                                            |
|          | 12.1±0.4μs           | 11.6±0.2μs          | 0.96    | cube.CellMeasure.time_create                                                                         |
|          | 53.4±0.2μs           | 51.5±0.6μs          | 0.96    | cube.CellMethod.time_add                                                                             |
|          | 7.24±0.04μs          | 7.25±0.1μs          | 1.00    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.6ms            | 131±2ms             | 1.01    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.78±0.1μs           | 6.79±0.2μs          | 1.00    | cube.Cube.time_basic                                                                                 |
|          | 58.3±0.6ns           | 57.7±0.4ns          | 0.99    | cube.Cube.time_rename                                                                                |
|          | 61.6±0.6μs           | 62.4±0.7μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 330±7ms              | 338±5ms             | 1.02    | cube.Merge.time_merge                                                                                |
|          | 27.8±2μs             | 29.4±1μs            | 1.06    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.8±2μs             | 31.4±2μs            | 1.02    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 24.8±0.9μs           | 26.9±2μs            | 1.08    | cube.MeshCoord.time_add(6)                                                                           |
|          | 20.0±0.2μs           | 19.4±0.3μs          | 0.97    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.6±0.3μs           | 19.3±0.5μs          | 0.99    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.1±0.2μs           | 19.0±0.2μs          | 0.99    | cube.MeshCoord.time_create(6)                                                                        |
|          | 54.6±5μs             | 57.8±3μs            | 1.06    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 60.8±4μs             | 61.0±4μs            | 1.00    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 2.03±0.2ms           | 2.55±0.3ms          | ~1.26   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 630±10ns             | 608±8ns             | 0.97    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 621±8ns              | 605±10ns            | 0.97    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.4±2ms             | 24.2±2ms            | 1.19    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.28±0.03ms          | 2.65±0.01ms         | 1.16    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.4±3ms             | 28.0±3ms            | ~1.25   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.34±0.03ms          | 3.97±0.03ms         | 1.19    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.50±0.1ms           | 4.19±0.2ms          | 1.20    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 244±8μs              | 261±10μs            | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 233±4μs              | 254±7μs             | 1.09    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.8±0.5ms           | 20.2±0.5ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.51±0.04ms          | 2.96±0.05ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.1±0.9ms           | 23.6±1ms            | 1.07    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.66±0.05ms          | 4.24±0.06ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.05μs          | 12.6±0.09μs         | 0.98    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.88±0.03μs          | 4.80±0.07μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.87±0.05μs          | 4.81±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.16±0.07μs          | 5.00±0.05μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.19±0.06μs          | 5.07±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 6.00±0.08μs          | 5.80±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.86±0.03μs          | 5.77±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.7±0.5μs           | 45.4±0.4μs          | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 73.6±3ms             | 79.7±2ms            | 1.08    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 274±4μs              | 275±4μs             | 1.00    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.05±0.04μs          | 4.95±0.2μs          | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.97±0.08μs          | 4.96±0.07μs         | 1.00    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.36±0.07μs          | 7.29±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.35±0.09μs          | 7.31±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.1±0.07μs          | 10.6±0.2μs          | 1.05    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 120±3ms              | 123±6ms             | 1.03    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.36±0.06μs          | 5.35±0.04μs         | 1.00    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.18±0.04ms          | 3.70±0.04ms         | 1.16    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.22±0.04ms          | 3.71±0.04ms         | 1.15    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 198±4μs              | 201±1μs             | 1.02    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.58±0.02μs          | 3.61±0.04μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.11±0.04μs          | 4.20±0.03μs         | 1.02    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.90±0.03μs          | 2.91±0.02μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.88±0.1ms           | 7.52±0.2ms          | 1.09    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 120±3ms              | 122±3ms             | 1.02    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.5±0.4μs           | 12.4±0.7μs          | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.31±0.06ms          | 3.73±0.03ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.31±0.04ms          | 3.73±0.07ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 239±10μs             | 240±8μs             | 1.00    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.38±0.08ms          | 2.64±0.07ms         | 1.11    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.55±0.1ms           | 4.69±0.1ms          | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.11±0.7μs           | 8.58±0.6μs          | 1.06    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.4±1μs             | 32.1±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 18.9±0.8μs           | 18.8±0.9μs          | 0.99    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 16.2±1μs             | 16.5±2μs            | 1.02    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.0±0.5μs           | 17.4±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.4±0.4μs           | 17.0±0.8μs          | 1.04    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.9±1μs             | 18.9±0.6μs          | 0.95    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 19.0±1μs             | 19.5±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.6±2μs             | 79.5±3μs            | 1.00    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 74.7±3ms             | 77.6±3ms            | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 346±20μs             | 351±20μs            | 1.01    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.6±1μs             | 18.0±0.7μs          | 0.97    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 18.2±1μs             | 17.4±1μs            | 0.95    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.5±1μs             | 31.7±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.8±3μs             | 30.0±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 503±7ns              | 497±6ns             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 250±2ms              | 249±1ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.9±0.2ms           | 13.8±0.2ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.5±0.3ms           | 15.5±0.5ms          | 1.14    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 127±2ms              | 136±2ms             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 733±8ms              | 739±8ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 85.6±1ms             | 95.7±1ms            | 1.12    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 689±7ms              | 692±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 561±5μs              | 584±6μs             | 1.04    | import_iris.Iris.time__concatenate                                                                   |
|          | 165±2μs              | 166±2μs             | 1.01    | import_iris.Iris.time__constraints                                                                   |
|          | 100±0.6μs            | 101±1μs             | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.5±0.7μs           | 85.0±0.6μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.7μs            | 110±0.4μs           | 1.01    | import_iris.Iris.time__lazy_data                                                                     |
|          | 790±5μs              | 795±4μs             | 1.01    | import_iris.Iris.time__merge                                                                         |
|          | 71.4±0.3μs           | 71.8±0.5μs          | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 431±6μs              | 434±8μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 127±1μs              | 129±1μs             | 1.01    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 97.9±1μs             | 98.0±0.9μs          | 1.00    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 217±2μs              | 213±1μs             | 0.98    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 173±4μs              | 169±3μs             | 0.97    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±2μs              | 101±1μs             | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 126±2μs              | 127±1μs             | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 287±4μs              | 286±3μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.9±1μs             | 84.6±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 199±2μs              | 198±2μs             | 1.00    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.2±0.6μs           | 90.4±0.8μs          | 1.00    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 165±4μs              | 167±1μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 268±6μs              | 270±4μs             | 1.01    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.9±0.6μs           | 80.2±0.3μs          | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 151±2μs              | 153±1μs             | 1.01    | import_iris.Iris.time_common_lenient                                                                 |
|          | 875±10μs             | 900±20μs            | 1.03    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±1μs              | 124±0.6μs           | 1.00    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.02ms          | 1.03±0ms            | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 187±3μs              | 186±2μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 105±0.9μs            | 108±0.7μs           | 1.03    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 319±5μs              | 325±3μs             | 1.02    | import_iris.Iris.time_coord_systems                                                                  |
|          | 643±10μs             | 634±4μs             | 0.99    | import_iris.Iris.time_coords                                                                         |
|          | 596±20μs             | 593±10μs            | 0.99    | import_iris.Iris.time_cube                                                                           |
|          | 204±1μs              | 207±1μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.3±0.6μs           | 73.5±0.6μs          | 1.02    | import_iris.Iris.time_experimental                                                                   |
|          | 193±0.9μs            | 193±1μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 229±3μs              | 227±3μs             | 0.99    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.40±0.03ms          | 2.39±0.03ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.2±0.3μs           | 73.8±0.3μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.4μs            | 107±1μs             | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 316±3μs              | 325±3μs             | 1.03    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.42±0.09ms          | 5.44±0.1ms          | 1.00    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.2±0.5μs           | 69.7±0.4μs          | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 240±2μs              | 236±4μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 110±0.8μs           | 0.97    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 111±0.7μs            | 113±1μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 189±2μs              | 191±3μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 670±5μs              | 679±9μs             | 1.01    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 158±1μs              | 159±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 120±1μs              | 121±1μs             | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 441±3μs              | 438±5μs             | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 194±3μs              | 194±1μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 78.8±0.4μs           | 79.1±0.6μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±1μs              | 149±0.9μs           | 0.98    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 129±0.9μs            | 130±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.3±0.4μs           | 71.4±0.5μs          | 1.02    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.3±0.6μs           | 78.5±0.4μs          | 1.02    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 882±10μs             | 863±10μs            | 0.98    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±0.5μs            | 128±2μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 158±2μs              | 157±2μs             | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±1μs              | 194±2μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 119±0.9μs            | 117±0.9μs           | 0.98    | import_iris.Iris.time_iterate                                                                        |
|          | 8.16±0.1ms           | 8.17±0.06ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 301±2μs              | 304±3μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 92.5±0.7μs           | 92.2±0.6μs          | 1.00    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.97±0.03ms          | 1.88±0.02ms         | 0.95    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.03ms          | 1.75±0.02ms         | 1.02    | import_iris.Iris.time_symbols                                                                        |
|          | 127±6ms              | 113±8ms             | 0.89    | import_iris.Iris.time_tests                                                                          |
|          | 218±2μs              | 219±1μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.81±0.04ms          | 4.85±0.09ms         | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 102±0.6μs            | 103±0.9μs           | 1.01    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.70±0.02ms          | 2.64±0.02ms         | 0.98    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.00±0.01ms          | 1.02±0.01ms         | 1.02    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 150±0.4μs            | 157±2μs             | 1.04    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 91.6±2μs             | 92.0±0.8μs          | 1.00    | import_iris.Iris.time_time                                                                           |
|          | 284±6μs              | 285±3μs             | 1.00    | import_iris.Iris.time_util                                                                           |
|          | 83.2±0.8μs           | 81.8±0.7μs          | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.38±0.07ms          | 7.73±0.08ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.0±0.8ms           | 22.7±0.5ms          | 0.98    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.05±0.06ms          | 8.62±0.1ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.34±0.09ms          | 7.75±0.05ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.2±0.4ms           | 20.3±0.3ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.16±0.06ms          | 8.56±0.04ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.24±0.01s           | 1.33±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.3±0.3ms           | 19.8±0.5ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0.02s           | 1.50±0.01s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.23±0.01s           | 1.33±0.01s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.1±0.2ms           | 19.8±0.2ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.39±0.01s           | 1.48±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.56±0.04ms          | 3.75±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.6±0.3ms           | 19.1±0.3ms          | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.82±0.04ms          | 4.04±0.08ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.57±0.01ms          | 3.75±0.03ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.5±0.3ms           | 18.7±0.4ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.83±0.04ms          | 4.07±0.06ms         | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 35.2±3ms             | 33.7±3ms            | 0.96    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.1±0.3ms           | 19.5±0.3ms          | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 15.3±2ms             | 13.5±1ms            | 0.88    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.2±0.9ms           | 26.0±1ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.7±1ms             | 71.6±2ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.3±2ms             | 25.9±2ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 375±6ms              | 443±9ms             | 1.18    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.79±0.1ms           | 2.95±0.2ms          | 1.06    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 382±7ms              | 443±7ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 381±5ms              | 448±8ms             | 1.18    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.79±0.2ms           | 3.14±0.2ms          | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 385±4ms              | 455±2ms             | 1.18    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.33±0.06ms          | 1.53±0.06ms         | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.75±0.1ms           | 2.86±0.2ms          | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.40±0.06ms          | 1.56±0.06ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.40±0.07ms          | 1.56±0.1ms          | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.91±0.2ms           | 3.02±0.2ms          | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.35±0.07ms          | 1.59±0.1ms          | 1.18    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 334±3ms              | 333±3ms             | 1.00    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.57±0.09ms          | 7.99±0.06ms         | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.27±0.06ms          | 8.82±0.1ms          | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.27±0.02s           | 1.34±0.01s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.01s           | 1.49±0.02s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.67±0.02ms          | 3.82±0.02ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.91±0.04ms          | 4.09±0.06ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.42±0.1ms           | 7.91±0.06ms         | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.18±0.05ms          | 4.54±0.03ms         | 1.09    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.23±0.01s           | 1.32±0.02s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.58±0.02ms          | 3.76±0.01ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.24±0.02ms          | 3.40±0.02ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 129±3ms              | 137±3ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.7±0.3ms           | 22.2±0.5ms          | 1.02    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 143±3ms              | 154±2ms             | 1.08    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.1±0.4ms           | 27.8±0.3ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.5±0.5ms           | 21.8±0.9ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.1±0.3ms           | 30.4±0.4ms          | 1.08    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.6ms           | 17.5±0.4ms          | 1.07    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.2±0.7ms           | 40.2±1ms            | 1.11    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.2±0.4ms           | 13.9±0.2ms          | 1.05    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.2±1ms             | 22.8±0.7ms          | 1.13    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.5±0.7ms           | 17.5±0.6ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.1±0.9ms           | 20.1±0.7ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.1±0.4ms           | 13.7±0.1ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.8±0.8ms           | 16.6±0.6ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.5±0.5ms           | 18.6±0.5ms          | 1.06    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 44.0±0.7ms           | 48.2±0.6ms          | 1.10    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.6±0.5ms           | 18.5±0.8ms          | 1.05    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.8±0.8ms           | 22.6±0.7ms          | 1.09    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.51±0.2ms           | 2.94±0.2ms          | 1.17    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.24±0.2ms           | 5.57±0.2ms          | 1.06    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 39.3±3ms             | 40.3±1ms            | 1.03    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 817±10ms             | 816±20ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±1ns              | 102±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 920±5ns              | 913±5ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±1ns              | 102±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 911±10ns             | 914±2ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±1ns              | 102±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0μs             | 1.02±0μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.8ns            | 102±0.3ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.07±0μs             | 1.09±0.02μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 100±0.6ns            | 102±0.8ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1000±3ns             | 1.02±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 100±0.5ns            | 102±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.08μs          | 1.16±0μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 992±8ns              | 992±8ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.68±0.08μs          | 6.74±0.04μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.0±0.2μs           | 64.2±0.2μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 995±10ns             | 971±8ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.72±0.05μs          | 6.69±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 62.8±0.2μs           | 64.2±0.3μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.05±0μs             | 1.04±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.15±0.05μs          | 7.20±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 66.7±0.3μs           | 68.8±1μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.09±0.01μs          | 1.09±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.53±0.1μs           | 7.66±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 70.4±0.9μs           | 73.5±0.9μs          | 1.05    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.01μs          | 1.03±0μs            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.09±0.06μs          | 7.20±0.06μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.1±0.6μs           | 68.3±0.6μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.11±0.01μs          | 1.13±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.79±0.07μs          | 8.09±0.06μs         | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 74.1±0.4μs           | 78.4±1μs            | 1.06    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 106±0.4ns            | 107±0.7ns           | 1.02    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 107±0.6ns            | 106±0.6ns           | 1.00    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 964±9ns              | 955±10ns            | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 106±0.6ns            | 108±0.8ns           | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 108±0.8ns            | 107±0.7ns           | 0.99    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 107±0.4ns            | 107±1ns             | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 707±20ns             | 699±10ns            | 0.99    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 117±2ns              | 115±0.6ns           | 0.98    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.48±0.02μs          | 3.49±0.02μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.45±0.07μs          | 4.39±0.04μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.33±0.07μs          | 4.30±0.01μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 562±10ns             | 539±5ns             | 0.96    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 419±10ns             | 415±6ns             | 0.99    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 441±6ns              | 432±3ns             | 0.98    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 370±2ms              | 371±4ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 74.6±5ms             | 77.5±3ms            | 1.04    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 95.9±0.7ms           | 96.7±1ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 49.7±2ms             | 48.4±3ms            | 0.97    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.78±0.05ms          | 4.21±0.1ms          | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 87.7±1ms             | 94.8±1ms            | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.4±2ms             | 55.1±1ms            | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 586±6ms              | 598±6ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 100±0.6ns            | 99.4±1ns            | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 72.1±0.6ms           | 80.0±0.6ms          | 1.11    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±1ns              | 101±0.8ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 520±6ms              | 525±2ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.3±0.9ms           | 41.3±0.8ms          | 1.14    | stats.PearsonR.time_lazy                                                                             |
|          | 19.2±0.3ms           | 19.2±0.3ms          | 1.00    | stats.PearsonR.time_real                                                                             |
|          | 24.7±0.7ms           | 23.4±2ms            | 0.95    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.7±0.5ms           | 60.5±0.7ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [70cefe2e]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 42.5±3μs             | 55.2±5μs            |    1.3  | cube.MeshCoord.time_remove(6)                              |
| +        | 1.54±0.02ms          | 1.87±0.02ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.65±0.04ms          | 3.18±0.05ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±5μs              | 353±3μs             |    1.41 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 296±5μs              | 408±4μs             |    1.38 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 288±3μs              | 404±10μs            |    1.4  | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 335±10μs             | 448±10μs            |    1.34 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 290±4ms              | 362±3ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8297979264

github-actions[bot] avatar Mar 15 '24 15:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: fbc8199c

Performance shifts
| Change   | Before [9c431a01]    | After [fbc8199c]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.02ms          | 1.89±0.04ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.26±0.01ms          | 2.72±0.03ms         |    1.2  | experimental.ugrid.Connectivity.time_location_lengths(6)   |
| +        | 2.68±0.04ms          | 3.22±0.06ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±3μs              | 369±2μs             |    1.48 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±4μs              | 415±8μs             |    1.37 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 299±10μs             | 409±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 345±10μs             | 454±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 290±4ms              | 368±4ms             |    1.27 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [fbc8199c]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.33±0.03μs          | 4.33±0.05μs         | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.90±0.03μs          | 4.96±0.05μs         | 1.01    | coords.AncillaryVariable.time_create                                                                 |
|          | 423±3ns              | 426±7ns             | 1.01    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.85±0.06μs          | 8.91±0.2μs          | 1.01    | coords.AuxCoord.time_create                                                                          |
|          | 412±7ns              | 408±3ns             | 0.99    | coords.AuxCoord.time_points                                                                          |
|          | 233±20μs             | 252±30μs            | 1.08    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.8±0.6μs           | 13.3±0.5μs          | 1.04    | coords.AuxCoordLazy.time_create                                                                      |
|          | 228±20μs             | 250±20μs            | 1.09    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.36±0.06μs          | 5.48±0.08μs         | 1.02    | coords.CellMeasure.time_create                                                                       |
|          | 1.10±0.01μs          | 1.12±0μs            | 1.02    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 111±1μs              | 110±2μs             | 0.99    | coords.DimCoord.time_create                                                                          |
|          | 31.5±0.8μs           | 32.8±0.6μs          | 1.04    | coords.DimCoord.time_regular                                                                         |
|          | 388±2ms              | 389±5ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.6±0.4μs           | 58.6±0.4μs          | 0.98    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.5±0.09μs          | 11.1±0.2μs          | 0.96    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.4±0.4μs           | 67.7±0.3μs          | 1.01    | cube.AuxCoord.time_add                                                                               |
|          | 9.64±0.1μs           | 9.54±0.1μs          | 0.99    | cube.AuxCoord.time_create                                                                            |
|          | 5.99±0.09μs          | 6.11±0.1μs          | 1.02    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.47±0.04μs          | 4.56±0.05μs         | 1.02    | cube.AuxCoord.time_return_coords                                                                     |
|          | 41.0±1μs             | 40.9±0.7μs          | 1.00    | cube.AuxFactory.time_add                                                                             |
|          | 12.1±0.4μs           | 12.4±0.2μs          | 1.02    | cube.AuxFactory.time_create                                                                          |
|          | 60.1±0.8μs           | 59.4±0.5μs          | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.7±0.2μs           | 11.3±0.4μs          | 0.96    | cube.CellMeasure.time_create                                                                         |
|          | 52.5±0.5μs           | 52.7±0.8μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.32±0.03μs          | 7.22±0.07μs         | 0.99    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.2ms            | 130±0.6ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.73±0.06μs          | 6.78±0.03μs         | 1.01    | cube.Cube.time_basic                                                                                 |
|          | 57.6±0.5ns           | 57.6±0.7ns          | 1.00    | cube.Cube.time_rename                                                                                |
|          | 62.6±0.4μs           | 62.1±0.7μs          | 0.99    | cube.Equality.time_equality                                                                          |
|          | 342±5ms              | 341±2ms             | 1.00    | cube.Merge.time_merge                                                                                |
|          | 30.0±3μs             | 29.7±2μs            | 0.99    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.5±2μs             | 30.4±1μs            | 0.96    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 28.0±2μs             | 25.6±2μs            | 0.92    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.6±0.3μs           | 19.5±0.4μs          | 0.99    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.6±0.1μs           | 19.1±0.3μs          | 0.97    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.0±0.4μs           | 18.9±0.2μs          | 0.99    | cube.MeshCoord.time_create(6)                                                                        |
|          | 58.1±4μs             | 57.8±3μs            | 1.00    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 62.2±4μs             | 60.1±3μs            | 0.97    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 54.2±7μs             | 55.1±6μs            | 1.02    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.05±0.3ms           | 2.81±0.3ms          | ~1.37   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 608±6ns              | 622±20ns            | 1.02    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 609±5ns              | 622±20ns            | 1.02    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 19.9±2ms             | 23.4±2ms            | 1.18    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 23.1±3ms             | 28.2±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.46±0.03ms          | 3.98±0.02ms         | 1.15    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.68±0.2ms           | 4.33±0.2ms          | 1.18    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 247±7μs              | 257±8μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 237±5μs              | 251±6μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.7±0.3ms           | 20.7±0.3ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.55±0.04ms          | 2.97±0.06ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.4±0.7ms           | 23.3±0.5ms          | 1.04    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.65±0.06ms          | 4.30±0.06ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.1μs           | 12.8±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.92±0.09μs          | 4.82±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.91±0.06μs          | 4.83±0.03μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.21±0.08μs          | 5.03±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.10±0.09μs          | 5.04±0.07μs         | 0.99    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.94±0.1μs           | 5.93±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.94±0.08μs          | 5.94±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.1±0.7μs           | 46.3±0.6μs          | 0.98    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 78.0±2ms             | 80.1±1ms            | 1.03    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 279±5μs              | 276±2μs             | 0.99    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.02±0.09μs          | 4.91±0.05μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.99±0.1μs           | 4.93±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.32±0.04μs          | 7.34±0.09μs         | 1.00    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.33±0.06μs          | 7.28±0.2μs          | 0.99    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.2±0.07μs          | 10.7±0.1μs          | 1.04    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 125±2ms              | 124±2ms             | 0.99    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.34±0.04μs          | 5.50±0.1μs          | 1.03    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.33±0.05ms          | 3.71±0.06ms         | 1.11    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.23±0.02ms          | 3.74±0.07ms         | 1.16    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 203±3μs              | 200±2μs             | 0.98    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.57±0.06μs          | 3.73±0.04μs         | 1.04    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.17±0.07μs          | 4.27±0.05μs         | 1.02    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.89±0.04μs          | 2.98±0.05μs         | 1.03    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 7.12±0.1ms           | 7.62±0.2ms          | 1.07    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 125±2ms              | 126±3ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.7±0.7μs           | 12.4±0.4μs          | 0.97    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.30±0.06ms          | 3.73±0.07ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.33±0.05ms          | 3.76±0.06ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 239±8μs              | 244±10μs            | 1.02    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.58±0.1ms           | 2.63±0.08ms         | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.67±0.1ms           | 4.72±0.1ms          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.92±0.9μs           | 8.92±0.6μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.5±2μs             | 33.2±2μs            | 1.02    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 20.9±2μs             | 18.9±1μs            | 0.91    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 18.7±2μs             | 17.2±2μs            | 0.92    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.0±0.6μs           | 16.7±0.4μs          | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 17.1±1μs             | 17.4±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 20.3±1μs             | 20.1±2μs            | 0.99    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 20.2±2μs             | 19.6±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.9±2μs             | 79.0±4μs            | 1.00    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 77.8±2ms             | 80.0±2ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 359±20μs             | 353±10μs            | 0.98    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.7±1μs             | 18.3±0.5μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.6±0.8μs           | 18.0±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 32.4±2μs             | 31.5±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 31.4±2μs             | 31.3±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 511±4ns              | 487±7ns             | 0.95    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 249±2ms              | 248±3ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.8±0.2ms           | 13.9±0.2ms          | 1.17    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.9±0.8ms           | 15.5±0.3ms          | 1.12    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 128±2ms              | 138±2ms             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 738±6ms              | 755±6ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 89.1±1ms             | 98.5±1ms            | 1.11    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 693±6ms              | 703±3ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 586±5μs              | 578±3μs             | 0.99    | import_iris.Iris.time__concatenate                                                                   |
|          | 167±4μs              | 165±1μs             | 0.99    | import_iris.Iris.time__constraints                                                                   |
|          | 102±2μs              | 102±1μs             | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.5±0.8μs           | 86.5±1μs            | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.6μs            | 108±1μs             | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 802±10μs             | 801±6μs             | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 71.2±0.5μs           | 71.4±0.7μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 435±2μs              | 439±2μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 128±0.8μs            | 133±3μs             | 1.05    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.0±0.8μs           | 97.9±1μs            | 1.00    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 220±2μs              | 216±1μs             | 0.98    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 177±5μs              | 171±1μs             | 0.97    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 103±1μs              | 103±1μs             | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 128±0.5μs            | 130±0.9μs           | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 289±5μs              | 290±5μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.8±0.9μs           | 86.2±1μs            | 1.03    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 200±2μs              | 203±6μs             | 1.01    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 91.1±0.6μs           | 91.4±2μs            | 1.00    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 168±2μs              | 170±0.9μs           | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 273±5μs              | 267±7μs             | 0.98    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.9±0.6μs           | 80.7±0.7μs          | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 155±1μs              | 152±1μs             | 0.98    | import_iris.Iris.time_common_lenient                                                                 |
|          | 888±10μs             | 896±3μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±0.6μs            | 125±1μs             | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.05±0.01ms          | 1.05±0.02ms         | 1.01    | import_iris.Iris.time_common_resolve                                                                 |
|          | 188±1μs              | 190±3μs             | 1.01    | import_iris.Iris.time_config                                                                         |
|          | 106±0.7μs            | 109±2μs             | 1.03    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 322±4μs              | 322±3μs             | 1.00    | import_iris.Iris.time_coord_systems                                                                  |
|          | 648±9μs              | 644±10μs            | 0.99    | import_iris.Iris.time_coords                                                                         |
|          | 604±5μs              | 608±8μs             | 1.01    | import_iris.Iris.time_cube                                                                           |
|          | 205±1μs              | 209±0.9μs           | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.8±0.3μs           | 73.3±0.7μs          | 1.01    | import_iris.Iris.time_experimental                                                                   |
|          | 194±1μs              | 193±1μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 226±1μs              | 230±4μs             | 1.02    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.47±0.02ms          | 2.42±0.06ms         | 0.98    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.5±0.4μs           | 74.2±0.6μs          | 1.00    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 108±2μs              | 107±0.7μs           | 0.99    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 326±8μs              | 320±4μs             | 0.98    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.47±0.07ms          | 5.37±0.1ms          | 0.98    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.2±0.3μs           | 69.5±0.9μs          | 1.02    | import_iris.Iris.time_fileformats_name                                                               |
|          | 241±5μs              | 236±3μs             | 0.98    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 111±0.9μs           | 0.99    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 114±2μs              | 112±1μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 190±3μs              | 193±2μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 682±4μs              | 681±6μs             | 1.00    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 160±3μs              | 164±2μs             | 1.02    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 121±0.7μs            | 123±2μs             | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 443±3μs              | 443±2μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 197±1μs              | 197±0.9μs           | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.8±0.3μs           | 80.6±0.5μs          | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±1μs              | 150±2μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 135±3μs              | 132±2μs             | 0.98    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.3±0.8μs           | 71.7±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.4±0.7μs           | 78.1±0.4μs          | 1.00    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 879±5μs              | 875±7μs             | 1.00    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±1μs              | 129±1μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 162±4μs              | 162±2μs             | 1.00    | import_iris.Iris.time_io_format_picker                                                               |
|          | 194±2μs              | 196±3μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 120±1μs              | 121±2μs             | 1.00    | import_iris.Iris.time_iterate                                                                        |
|          | 8.23±0.05ms          | 8.22±0.08ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 306±3μs              | 309±3μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 94.3±0.7μs           | 94.0±0.8μs          | 1.00    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.99±0.03ms          | 1.92±0.01ms         | 0.96    | import_iris.Iris.time_std_names                                                                      |
|          | 1.70±0.01ms          | 1.72±0.02ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 42.6±0.8ms           | 43.6±2ms            | 1.02    | import_iris.Iris.time_tests                                                                          |
|          | 225±3μs              | 221±2μs             | 0.98    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.83±0.04ms          | 4.84±0.05ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 104±1μs              | 103±0.9μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.71±0.03ms          | 2.67±0.01ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.02±0.01ms         | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 153±0.5μs            | 157±1μs             | 1.03    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.1±1μs             | 92.6±0.8μs          | 1.00    | import_iris.Iris.time_time                                                                           |
|          | 288±3μs              | 290±3μs             | 1.01    | import_iris.Iris.time_util                                                                           |
|          | 85.0±2μs             | 83.4±1μs            | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.39±0.04ms          | 7.97±0.07ms         | 1.08    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.3±0.4ms           | 23.9±0.4ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.15±0.04ms          | 8.77±0.2ms          | 1.08    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.39±0.08ms          | 7.91±0.07ms         | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.3±0.2ms           | 21.0±0.3ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.25±0.2ms           | 8.65±0.04ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.26±0.01s           | 1.35±0.02s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.1±0.4ms           | 19.8±0.2ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.41±0.02s           | 1.51±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.26±0.01s           | 1.34±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.6±0.4ms           | 20.2±0.5ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.41±0.01s           | 1.51±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.58±0.02ms          | 3.81±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 19.1±0.3ms           | 19.4±0.3ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.91±0.05ms          | 4.08±0.02ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.58±0.06ms          | 3.81±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 19.1±0.3ms           | 19.0±0.2ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.82±0.02ms          | 4.06±0.07ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 33.3±2ms             | 34.0±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.1±0.2ms           | 20.0±0.3ms          | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.2±2ms             | 13.9±1ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.5±1ms             | 26.5±2ms            | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.0±1ms             | 71.3±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.3±3ms             | 26.1±0.6ms          | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 391±4ms              | 450±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.88±0.1ms           | 3.08±0.1ms          | 1.07    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 395±3ms              | 454±4ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 399±7ms              | 455±3ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.96±0.07ms          | 3.10±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 401±5ms              | 462±7ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.40±0.08ms          | 1.61±0.07ms         | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.89±0.07ms          | 3.12±0.1ms          | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.39±0.09ms          | 1.55±0.09ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.42±0.08ms          | 1.60±0.1ms          | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.94±0.1ms           | 3.18±0.2ms          | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.45±0.07ms          | 1.57±0.09ms         | 1.09    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 333±2ms              | 336±4ms             | 1.01    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.59±0.07ms          | 8.13±0.05ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.38±0.04ms          | 8.97±0.07ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.29±0.01s           | 1.36±0.01s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.42±0.01s           | 1.53±0.02s          | 1.08    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.70±0.07ms          | 3.86±0.05ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.94±0.03ms          | 4.17±0.04ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.47±0.05ms          | 7.92±0.06ms         | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.17±0.03ms          | 4.57±0.06ms         | 1.10    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.25±0.02s           | 1.33±0.02s          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.61±0.03ms          | 3.80±0.02ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.24±0.03ms          | 3.47±0.03ms         | 1.07    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 134±3ms              | 144±1ms             | 1.08    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.3±0.2ms           | 23.1±0.8ms          | 1.03    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 150±4ms              | 156±2ms             | 1.04    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.3±0.5ms           | 28.6±0.6ms          | 1.05    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 22.4±0.7ms           | 23.2±0.5ms          | 1.03    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.6±0.3ms           | 30.5±0.8ms          | 1.03    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 17.4±0.7ms           | 17.8±0.3ms          | 1.02    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 37.9±0.7ms           | 40.9±0.6ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.6±0.5ms           | 13.7±0.3ms          | 1.01    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.6±0.6ms           | 22.6±0.4ms          | 1.05    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.7±0.4ms           | 17.3±0.4ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 20.1±0.4ms           | 20.7±0.6ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.5±0.4ms           | 14.0±0.4ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.7±0.5ms           | 16.8±0.6ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 18.5±1ms             | 18.6±0.6ms          | 1.01    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 45.9±0.8ms           | 49.8±0.8ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 18.2±0.7ms           | 18.9±0.5ms          | 1.04    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.9±1ms             | 22.2±0.6ms          | 1.01    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.76±0.1ms           | 2.86±0.1ms          | 1.04    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.51±0.2ms           | 5.68±0.2ms          | 1.03    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 41.7±1ms             | 41.4±1ms            | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 833±7ms              | 829±6ms             | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±0.7ns            | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 911±7ns              | 917±5ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±0.7ns            | 102±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 905±2ns              | 911±7ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±4ns              | 101±0.6ns           | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.01μs          | 1.02±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±0.8ns            | 102±0.5ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.07±0.01μs          | 1.09±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 103±1ns              | 102±1ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 1.02±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±0.4ns            | 105±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.01μs          | 1.16±0.03μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.03±0.01μs          | 994±10ns            | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.76±0.02μs          | 6.77±0.03μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.7±0.5μs           | 64.9±0.9μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.02±0.01μs          | 1.00±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.75±0.03μs          | 6.82±0.07μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.5±0.8μs           | 64.7±0.4μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.01μs          | 1.03±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.19±0.09μs          | 7.26±0.05μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 68.1±0.7μs           | 70.2±1μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.12±0.01μs          | 1.11±0.02μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.74±0.1μs           | 7.73±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 73.1±0.6μs           | 74.0±2μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.08±0.02μs          | 1.05±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.23±0.08μs          | 7.24±0.2μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.5±0.9μs           | 70.0±2μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.15±0.01μs          | 1.12±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.08±0.1μs           | 8.09±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.7±0.6μs           | 77.8±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±0.5ns            | 108±0.6ns           | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 108±0.6ns            | 106±0.3ns           | 0.98    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 975±10ns             | 958±5ns             | 0.98    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 107±1ns              | 109±1ns             | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 108±0.3ns            | 106±0.4ns           | 0.99    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±2ns              | 106±0.3ns           | 0.98    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 683±5ns              | 687±5ns             | 1.01    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 114±4ns              | 113±1ns             | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.49±0.08μs          | 3.48±0.02μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.48±0.1μs           | 4.41±0.05μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.27±0.02μs          | 4.33±0.07μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 552±8ns              | 533±4ns             | 0.97    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 414±5ns              | 421±5ns             | 1.02    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 446±3ns              | 431±5ns             | 0.97    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 372±3ms              | 370±1ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 82.4±4ms             | 82.3±2ms            | 1.00    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 97.2±0.8ms           | 98.3±0.9ms          | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 52.1±2ms             | 53.3±1ms            | 1.02    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.83±0.06ms          | 4.21±0.05ms         | 1.10    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 89.9±1ms             | 95.9±0.6ms          | 1.07    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.8±0.8ms           | 55.8±1ms            | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 596±3ms              | 608±3ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 101±0.8ns            | 99.8±0.4ns          | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 74.1±0.9ms           | 80.2±0.7ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±0.9ns            | 101±0.5ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 524±2ms              | 533±4ms             | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.8±1ms             | 42.4±1ms            | 1.15    | stats.PearsonR.time_lazy                                                                             |
|          | 19.6±0.3ms           | 19.3±0.5ms          | 0.98    | stats.PearsonR.time_real                                                                             |
|          | 24.2±0.6ms           | 23.4±0.6ms          | 0.96    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.4±0.4ms           | 60.8±1ms            | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [fbc8199c]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.02ms          | 1.89±0.04ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.26±0.01ms          | 2.72±0.03ms         |    1.2  | experimental.ugrid.Connectivity.time_location_lengths(6)   |
| +        | 2.68±0.04ms          | 3.22±0.06ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±3μs              | 369±2μs             |    1.48 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±4μs              | 415±8μs             |    1.37 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 299±10μs             | 409±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 345±10μs             | 454±10μs            |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 290±4ms              | 368±4ms             |    1.27 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8297984566

github-actions[bot] avatar Mar 15 '24 15:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 66d26ee9

Performance shifts
| Change   | Before [9c431a01]    | After [66d26ee9]    |   Ratio | Benchmark (Parameter)                                  |
|----------|----------------------|---------------------|---------|--------------------------------------------------------|
| +        | 1.54±0.02ms          | 1.87±0.01ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)         |
| +        | 2.63±0.05ms          | 3.19±0.04ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)     |
| +        | 255±3μs              | 360±6μs             |    1.41 | experimental.ugrid.Mesh.time_add_connectivities(6)     |
| +        | 301±4μs              | 402±4μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                 |
| +        | 291±5μs              | 398±8μs             |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6) |
| +        | 340±10μs             | 445±9μs             |    1.31 | experimental.ugrid.MeshLazy.time_create(6)             |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [66d26ee9]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.31±0.03μs          | 4.33±0.01μs         | 1.01    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.89±0.06μs          | 4.92±0.02μs         | 1.01    | coords.AncillaryVariable.time_create                                                                 |
|          | 422±3ns              | 420±2ns             | 1.00    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.79±0.05μs          | 8.87±0.1μs          | 1.01    | coords.AuxCoord.time_create                                                                          |
|          | 407±2ns              | 409±4ns             | 1.00    | coords.AuxCoord.time_points                                                                          |
|          | 231±20μs             | 251±20μs            | 1.09    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.0±0.6μs           | 13.0±0.7μs          | 1.00    | coords.AuxCoordLazy.time_create                                                                      |
|          | 227±20μs             | 248±20μs            | 1.09    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.30±0.04μs          | 5.36±0.05μs         | 1.01    | coords.CellMeasure.time_create                                                                       |
|          | 1.10±0.01μs          | 1.12±0μs            | 1.01    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±2μs              | 108±0.8μs           | 0.98    | coords.DimCoord.time_create                                                                          |
|          | 31.3±0.7μs           | 32.2±0.3μs          | 1.03    | coords.DimCoord.time_regular                                                                         |
|          | 377±2ms              | 370±1ms             | 0.98    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.6±0.6μs           | 59.3±0.8μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.3±0.1μs           | 11.5±0.07μs         | 1.02    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.1±0.5μs           | 68.1±1μs            | 1.02    | cube.AuxCoord.time_add                                                                               |
|          | 9.51±0.07μs          | 9.72±0.1μs          | 1.02    | cube.AuxCoord.time_create                                                                            |
|          | 6.04±0.1μs           | 5.91±0.02μs         | 0.98    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.60±0.05μs          | 4.44±0.03μs         | 0.97    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.5±0.5μs           | 40.4±0.7μs          | 1.00    | cube.AuxFactory.time_add                                                                             |
|          | 12.3±0.4μs           | 12.6±0.1μs          | 1.02    | cube.AuxFactory.time_create                                                                          |
|          | 59.3±0.3μs           | 59.4±0.9μs          | 1.00    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.1μs           | 11.7±0.2μs          | 1.01    | cube.CellMeasure.time_create                                                                         |
|          | 52.8±0.6μs           | 52.1±0.6μs          | 0.99    | cube.CellMethod.time_add                                                                             |
|          | 7.33±0.07μs          | 7.18±0.06μs         | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.5ms            | 130±0.08ms          | 0.99    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.77±0.05μs          | 6.68±0.03μs         | 0.99    | cube.Cube.time_basic                                                                                 |
|          | 57.9±0.2ns           | 58.3±0.4ns          | 1.01    | cube.Cube.time_rename                                                                                |
|          | 62.2±0.5μs           | 62.3±0.8μs          | 1.00    | cube.Equality.time_equality                                                                          |
|          | 325±2ms              | 325±2ms             | 1.00    | cube.Merge.time_merge                                                                                |
|          | 26.7±1μs             | 26.3±1μs            | 0.98    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.3±2μs             | 30.2±1μs            | 1.00    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.1±0.7μs           | 24.0±0.6μs          | 0.96    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.5±0.3μs           | 19.5±0.2μs          | 1.00    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.6±0.4μs           | 19.3±0.5μs          | 0.98    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.3±0.3μs           | 19.1±0.4μs          | 0.99    | cube.MeshCoord.time_create(6)                                                                        |
|          | 44.0±4μs             | 40.3±2μs            | 0.91    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 58.1±3μs             | 57.5±3μs            | 0.99    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 40.9±2μs             | 39.4±2μs            | 0.96    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.04±0.1ms           | 2.47±0.2ms          | ~1.21   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 609±5ns              | 607±7ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 620±10ns             | 607±8ns             | 0.98    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.7±2ms             | 23.0±2ms            | 1.11    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.24±0.01ms          | 2.67±0.04ms         | 1.19    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.7±3ms             | 27.7±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.35±0.04ms          | 3.92±0.03ms         | 1.17    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.45±0.09ms          | 3.90±0.08ms         | 1.13    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 242±7μs              | 252±5μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 238±5μs              | 247±5μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.7±0.4ms           | 20.1±0.5ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.53±0.05ms          | 2.95±0.03ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 21.3±0.4ms           | 22.4±0.2ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.60±0.05ms          | 4.19±0.03ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 13.0±0.3μs           | 12.8±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.90±0.04μs          | 4.82±0.08μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.83±0.05μs          | 4.91±0.09μs         | 1.02    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.06±0.07μs          | 4.97±0.07μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.01±0.05μs          | 5.01±0.04μs         | 1.00    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.89±0.1μs           | 5.85±0.07μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.92±0.07μs          | 5.85±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.2±0.4μs           | 46.2±0.3μs          | 0.98    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 70.6±2ms             | 73.7±2ms            | 1.04    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 278±3μs              | 276±2μs             | 0.99    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.93±0.05μs          | 4.89±0.03μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.00±0.07μs          | 4.91±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.39±0.1μs           | 7.30±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.45±0.06μs          | 7.27±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.2±0.06μs          | 10.7±0.05μs         | 1.05    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 116±2ms              | 117±0.9ms           | 1.01    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.29±0.04μs          | 5.34±0.04μs         | 1.01    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.20±0.01ms          | 3.60±0.04ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.23±0.03ms          | 3.65±0.03ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 203±4μs              | 200±2μs             | 0.99    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.59±0.03μs          | 3.56±0.03μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.07±0.04μs          | 4.09±0.02μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.91±0.03μs          | 2.87±0.05μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.76±0.07ms          | 7.28±0.05ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 115±2ms              | 117±2ms             | 1.02    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.7±0.6μs           | 11.7±0.4μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.25±0.05ms          | 3.69±0.06ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.27±0.04ms          | 3.71±0.06ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 237±20μs             | 235±6μs             | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.34±0.04ms          | 2.45±0.06ms         | 1.05    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.36±0.05ms          | 4.47±0.04ms         | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.67±0.4μs           | 7.73±0.3μs          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.2±2μs             | 31.4±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.1±0.8μs           | 18.5±0.8μs          | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.3±0.7μs           | 15.0±0.5μs          | 0.98    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.7±0.6μs           | 16.4±0.4μs          | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.1±0.4μs           | 15.9±0.3μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.3±0.6μs           | 18.5±0.6μs          | 0.96    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.7±0.5μs           | 18.6±0.3μs          | 0.99    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.6±3μs             | 76.9±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 70.5±0.7ms           | 72.5±1ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 338±7μs              | 336±7μs             | 0.99    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.0±0.6μs           | 17.6±0.5μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.9±0.3μs           | 16.6±0.3μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.7±1μs             | 30.6±0.8μs          | 0.97    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.0±0.7μs           | 29.1±0.5μs          | 1.01    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 495±3ns              | 485±5ns             | 0.98    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 250±2ms              | 247±1ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.4±0.2ms           | 13.3±0.2ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.6±0.7ms           | 15.0±0.2ms          | 1.10    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 123±2ms              | 132±0.9ms           | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 719±5ms              | 725±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 85.3±1ms             | 93.0±0.5ms          | 1.09    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 677±5ms              | 681±4ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 561±6μs              | 567±4μs             | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 163±2μs              | 165±1μs             | 1.01    | import_iris.Iris.time__constraints                                                                   |
|          | 100±0.5μs            | 101±0.9μs           | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.6±0.4μs           | 85.4±0.6μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 108±0.9μs            | 109±1μs             | 1.01    | import_iris.Iris.time__lazy_data                                                                     |
|          | 778±5μs              | 796±7μs             | 1.02    | import_iris.Iris.time__merge                                                                         |
|          | 71.2±0.6μs           | 72.7±0.3μs          | 1.02    | import_iris.Iris.time__representation                                                                |
|          | 430±6μs              | 432±2μs             | 1.00    | import_iris.Iris.time_analysis                                                                       |
|          | 128±0.8μs            | 132±1μs             | 1.03    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.7±0.6μs           | 99.7±2μs            | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 219±3μs              | 215±1μs             | 0.98    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 170±2μs              | 170±0.9μs           | 1.00    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±1μs              | 100±0.5μs           | 0.99    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 125±1μs              | 126±1μs             | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 282±1μs              | 284±3μs             | 1.01    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.3±1μs             | 84.4±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 197±2μs              | 197±1μs             | 1.00    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.1±0.7μs           | 91.4±0.5μs          | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 166±2μs              | 167±1μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 266±3μs              | 264±1μs             | 0.99    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.9±1μs             | 81.3±0.4μs          | 1.02    | import_iris.Iris.time_common                                                                         |
|          | 153±3μs              | 151±1μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 867±9μs              | 879±5μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 123±0.6μs            | 123±0.7μs           | 1.00    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.02±0.01ms          | 1.02±0ms            | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 182±2μs              | 186±1μs             | 1.02    | import_iris.Iris.time_config                                                                         |
|          | 105±0.8μs            | 109±1μs             | 1.04    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 321±5μs              | 322±2μs             | 1.00    | import_iris.Iris.time_coord_systems                                                                  |
|          | 629±5μs              | 633±5μs             | 1.01    | import_iris.Iris.time_coords                                                                         |
|          | 579±8μs              | 586±6μs             | 1.01    | import_iris.Iris.time_cube                                                                           |
|          | 201±2μs              | 206±2μs             | 1.03    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.3±0.7μs           | 73.5±0.5μs          | 1.02    | import_iris.Iris.time_experimental                                                                   |
|          | 192±2μs              | 194±2μs             | 1.01    | import_iris.Iris.time_fileformats                                                                    |
|          | 224±3μs              | 228±5μs             | 1.02    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.41±0.03ms          | 2.36±0.02ms         | 0.98    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.0±0.3μs           | 73.7±0.1μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.6μs            | 107±2μs             | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 316±4μs              | 316±3μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.28±0.05ms          | 5.30±0.04ms         | 1.00    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.5±0.7μs           | 69.4±0.8μs          | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 234±3μs              | 237±1μs             | 1.01    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 111±0.9μs           | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 111±0.7μs            | 112±0.8μs           | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 187±2μs              | 189±1μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 667±3μs              | 673±4μs             | 1.01    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 158±2μs              | 162±1μs             | 1.03    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±2μs              | 123±1μs             | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 438±4μs              | 440±6μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 192±2μs              | 194±0.9μs           | 1.01    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.3±0.9μs           | 80.7±0.4μs          | 1.02    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 149±1μs              | 149±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 129±1μs              | 131±0.7μs           | 1.01    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.4±0.5μs           | 71.7±0.6μs          | 1.00    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.3±0.5μs           | 79.2±0.8μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 875±9μs              | 859±6μs             | 0.98    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±1μs              | 128±0.7μs           | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 160±2μs              | 160±2μs             | 1.00    | import_iris.Iris.time_io_format_picker                                                               |
|          | 194±3μs              | 194±1μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 117±0.8μs            | 118±0.7μs           | 1.01    | import_iris.Iris.time_iterate                                                                        |
|          | 8.19±0.1ms           | 8.11±0.03ms         | 0.99    | import_iris.Iris.time_palette                                                                        |
|          | 298±3μs              | 302±3μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 95.0±1μs             | 95.8±2μs            | 1.01    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.89±0.01ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.02ms          | 1.72±0.01ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 22.4±2ms             | 22.9±0.7ms          | 1.02    | import_iris.Iris.time_tests                                                                          |
|          | 218±1μs              | 220±1μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.80±0.04ms          | 4.80±0.03ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.8μs            | 105±0.4μs           | 1.02    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.65±0.02ms          | 2.63±0.01ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.00±0ms             | 1.01±0ms            | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 152±0.9μs            | 154±0.7μs           | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.4±1μs             | 91.6±0.8μs          | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 285±2μs              | 282±4μs             | 0.99    | import_iris.Iris.time_util                                                                           |
|          | 82.8±1μs             | 81.2±1μs            | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.54±0.08ms          | 7.82±0.04ms         | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.7±0.2ms           | 22.9±0.6ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.19±0.05ms          | 8.62±0.1ms          | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.40±0.03ms          | 7.81±0.1ms          | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.0±0.1ms           | 20.3±0.4ms          | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.40±0.1ms           | 8.61±0.02ms         | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.23±0.01s           | 1.30±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.0±0.07ms          | 19.3±0.1ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0.01s           | 1.46±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.23±0.01s           | 1.30±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.0±0.09ms          | 19.2±0.1ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.01s           | 1.46±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.61±0.04ms          | 3.74±0.03ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.8±0.2ms           | 18.5±0.1ms          | 0.99    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.86±0.02ms          | 4.06±0.02ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.60±0.04ms          | 3.79±0.03ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.5±0.1ms           | 18.6±0.1ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.93±0.06ms          | 4.03±0.05ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 33.4±3ms             | 33.7±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.0±0.2ms           | 18.8±0.4ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.2±2ms             | 13.5±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.1±2ms             | 25.6±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.2±1ms             | 70.7±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.2±2ms             | 25.6±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 367±1ms              | 431±5ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.66±0.08ms          | 2.76±0.2ms          | 1.04    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 375±3ms              | 439±8ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 375±1ms              | 439±6ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.68±0.09ms          | 2.81±0.07ms         | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 381±3ms              | 443±4ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.39±0.05ms          | 1.52±0.05ms         | 1.09    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.64±0.06ms          | 2.72±0.1ms          | 1.03    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.39±0.07ms          | 1.54±0.07ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.34±0.07ms          | 1.52±0.1ms          | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.66±0.07ms          | 2.81±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.40±0.08ms          | 1.59±0.07ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 330±3ms              | 330±2ms             | 1.00    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.58±0.07ms          | 7.97±0.08ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.41±0.04ms          | 8.79±0.02ms         | 1.04    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.24±0.02s           | 1.31±0.01s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.42±0.01s           | 1.48±0.02s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.67±0.02ms          | 3.81±0.03ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.92±0.05ms          | 4.14±0.03ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.42±0.05ms          | 7.81±0.03ms         | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.17±0.04ms          | 4.55±0.02ms         | 1.09    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.24±0.02s           | 1.29±0.02s          | 1.04    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 290±6ms              | 347±7ms             | 1.20    | load.StructuredFF.time_structured_load((2, 2, 1000), True)                                           |
|          | 3.58±0.03ms          | 3.79±0.05ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.27±0.02ms          | 3.42±0.02ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 136±2ms              | 136±1ms             | 1.00    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.0±0.2ms           | 21.9±0.2ms          | 1.00    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 149±2ms              | 152±1ms             | 1.02    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.1±0.2ms           | 27.4±0.1ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.5±0.1ms           | 21.6±0.1ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.2±0.5ms           | 29.7±0.2ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.3±0.3ms           | 16.9±0.3ms          | 1.04    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.0±0.4ms           | 38.2±0.6ms          | 1.09    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.0±0.1ms           | 13.5±0.3ms          | 1.04    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 19.5±0.2ms           | 21.1±0.5ms          | 1.08    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.3±0.2ms           | 16.7±0.2ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.6±0.4ms           | 19.2±0.2ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.0±0.1ms           | 13.7±0.3ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.5±0.3ms           | 15.6±0.1ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.4±0.2ms           | 17.8±0.3ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 42.9±0.4ms           | 46.2±0.6ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.4±0.4ms           | 17.6±0.2ms          | 1.01    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 19.9±0.4ms           | 20.9±0.5ms          | 1.05    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.46±0.04ms          | 2.60±0.08ms         | 1.06    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.10±0.05ms          | 5.15±0.06ms         | 1.01    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 37.0±0.5ms           | 36.4±0.4ms          | 0.98    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 808±10ms             | 803±5ms             | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±0.7ns            | 102±0.6ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 911±7ns              | 922±8ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±0.6ns            | 101±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 918±4ns              | 910±4ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±0.9ns            | 102±1ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 998±9ns              | 1.04±0.01μs         | 1.04    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.8ns            | 103±2ns             | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.07±0.01μs          | 1.10±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±0.6ns            | 102±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 999±10ns             | 1.02±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±0.8ns            | 101±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.11±0.01μs          | 1.18±0.02μs         | 1.06    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.04μs          | 991±8ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.76±0.09μs          | 6.77±0.1μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.6±0.4μs           | 64.9±0.9μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.01±0.03μs          | 988±10ns            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.82±0.06μs          | 6.78±0.1μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.5±0.2μs           | 64.7±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.05±0.01μs          | 1.04±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.22±0.05μs          | 7.22±0.2μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.4±0.3μs           | 69.9±1μs            | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.10±0.02μs          | 1.08±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.76±0.2μs           | 7.81±0.4μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.7±1μs             | 73.5±0.8μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.06±0.02μs          | 1.03±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.28±0.07μs          | 7.25±0.08μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.9±0.7μs           | 70.0±0.6μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.14±0.02μs          | 1.13±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.12±0.05μs          | 8.10±0.09μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.7±1μs             | 78.5±1μs            | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 106±0.5ns            | 107±0.3ns           | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 107±0.4ns            | 107±0.4ns           | 1.00    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 958±20ns             | 953±6ns             | 1.00    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 108±0.9ns            | 106±0.4ns           | 0.98    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 106±0.3ns            | 107±0.2ns           | 1.00    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 106±0.2ns            | 106±0.4ns           | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 678±6ns              | 689±9ns             | 1.02    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 113±0.7ns            | 115±2ns             | 1.01    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.52±0.03μs          | 3.57±0.02μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.46±0.06μs          | 4.39±0.08μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.32±0.03μs          | 4.32±0.04μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 553±10ns             | 539±4ns             | 0.97    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 416±7ns              | 420±3ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 437±1ns              | 433±2ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 365±2ms              | 364±1ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 76.6±2ms             | 77.5±2ms            | 1.01    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 94.9±0.8ms           | 95.4±0.6ms          | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 47.9±1ms             | 47.2±1ms            | 0.99    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.75±0.03ms          | 4.05±0.04ms         | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 85.4±0.4ms           | 92.0±0.7ms          | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.8±1ms             | 53.3±0.8ms          | 0.99    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 580±2ms              | 587±2ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 101±3ns              | 100±0.9ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 70.9±0.4ms           | 76.4±0.5ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±3ns              | 101±0.7ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 510±3ms              | 516±4ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 37.1±1ms             | 41.1±1ms            | 1.11    | stats.PearsonR.time_lazy                                                                             |
|          | 18.8±0.2ms           | 18.7±0.2ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 22.2±1ms             | 22.5±0.9ms          | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.6±1ms             | 58.5±0.4ms          | 0.98    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [66d26ee9]    |   Ratio | Benchmark (Parameter)                                  |
|----------|----------------------|---------------------|---------|--------------------------------------------------------|
| +        | 1.54±0.02ms          | 1.87±0.01ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)         |
| +        | 2.63±0.05ms          | 3.19±0.04ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)     |
| +        | 255±3μs              | 360±6μs             |    1.41 | experimental.ugrid.Mesh.time_add_connectivities(6)     |
| +        | 301±4μs              | 402±4μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                 |
| +        | 291±5μs              | 398±8μs             |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6) |
| +        | 340±10μs             | 445±9μs             |    1.31 | experimental.ugrid.MeshLazy.time_create(6)             |

Generated by GHA run 8308067424

github-actions[bot] avatar Mar 16 '24 14:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 0252bc87

Performance shifts
| Change   | Before [9c431a01]    | After [0252bc87]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.57±0.03ms          | 1.93±0.02ms         |    1.23 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.49±0.03ms          | 4.21±0.1ms          |    1.21 | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.74±0.06ms          | 3.36±0.08ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 264±2μs              | 363±5μs             |    1.38 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±3μs              | 415±7μs             |    1.37 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 303±10μs             | 416±20μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 352±20μs             | 466±20μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 300±2ms              | 369±2ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [0252bc87]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.42±0.03μs          | 4.32±0.05μs         | 0.98    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 5.01±0.07μs          | 4.96±0.09μs         | 0.99    | coords.AncillaryVariable.time_create                                                                 |
|          | 436±3ns              | 425±5ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.96±0.1μs           | 8.95±0.06μs         | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 419±8ns              | 406±3ns             | 0.97    | coords.AuxCoord.time_points                                                                          |
|          | 236±20μs             | 254±40μs            | 1.08    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.9±0.6μs           | 13.6±0.7μs          | 1.05    | coords.AuxCoordLazy.time_create                                                                      |
|          | 235±40μs             | 264±40μs            | 1.12    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.40±0.1μs           | 5.40±0.07μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.12±0.01μs          | 1.10±0μs            | 0.98    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±1μs              | 115±2μs             | 1.06    | coords.DimCoord.time_create                                                                          |
|          | 32.2±0.4μs           | 33.2±0.6μs          | 1.03    | coords.DimCoord.time_regular                                                                         |
|          | 392±4ms              | 394±4ms             | 1.01    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.1±0.8μs           | 59.5±0.3μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.0±0.2μs           | 11.5±0.2μs          | 1.04    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.6±0.7μs           | 69.5±0.9μs          | 1.03    | cube.AuxCoord.time_add                                                                               |
|          | 9.48±0.1μs           | 9.61±0.1μs          | 1.01    | cube.AuxCoord.time_create                                                                            |
|          | 6.03±0.07μs          | 5.98±0.09μs         | 0.99    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.46±0.06μs          | 4.46±0.06μs         | 1.00    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.5±0.4μs           | 41.2±0.5μs          | 1.02    | cube.AuxFactory.time_add                                                                             |
|          | 12.5±0.08μs          | 12.2±0.2μs          | 0.97    | cube.AuxFactory.time_create                                                                          |
|          | 59.7±0.7μs           | 59.8±0.3μs          | 1.00    | cube.CellMeasure.time_add                                                                            |
|          | 11.5±0.2μs           | 11.9±0.2μs          | 1.03    | cube.CellMeasure.time_create                                                                         |
|          | 52.7±0.2μs           | 53.3±0.6μs          | 1.01    | cube.CellMethod.time_add                                                                             |
|          | 7.28±0.05μs          | 7.18±0.03μs         | 0.99    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 131±0.4ms            | 131±0.4ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.79±0.09μs          | 6.67±0.09μs         | 0.98    | cube.Cube.time_basic                                                                                 |
|          | 58.2±1ns             | 58.4±0.5ns          | 1.00    | cube.Cube.time_rename                                                                                |
|          | 62.4±1μs             | 63.1±0.3μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 346±5ms              | 350±4ms             | 1.01    | cube.Merge.time_merge                                                                                |
|          | 30.2±2μs             | 30.9±2μs            | 1.02    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.2±2μs             | 32.0±3μs            | 1.03    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 29.5±2μs             | 29.1±2μs            | 0.99    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.7±0.3μs           | 19.7±0.3μs          | 1.00    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.8±0.4μs           | 19.6±0.3μs          | 0.99    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.1±0.2μs           | 19.0±0.3μs          | 0.99    | cube.MeshCoord.time_create(6)                                                                        |
|          | 62.1±6μs             | 60.4±5μs            | 0.97    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 63.9±4μs             | 64.0±5μs            | 1.00    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 60.9±5μs             | 60.2±4μs            | 0.99    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.33±0.4ms           | 3.05±0.3ms          | ~1.31   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 614±20ns             | 609±6ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 611±10ns             | 609±5ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 24.1±2ms             | 24.3±2ms            | 1.01    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.37±0.05ms          | 2.80±0.06ms         | 1.18    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 24.2±3ms             | 28.6±3ms            | 1.18    | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 4.02±0.1ms           | 4.63±0.2ms          | 1.15    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 270±10μs             | 286±20μs            | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 246±9μs              | 261±10μs            | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.6±0.4ms           | 21.0±0.5ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.70±0.07ms          | 3.08±0.07ms         | 1.14    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 23.3±0.5ms           | 24.1±0.6ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.86±0.08ms          | 4.58±0.1ms          | 1.19    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.1μs           | 12.8±0.07μs         | 1.00    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.95±0.04μs          | 4.89±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.90±0.09μs          | 4.81±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.23±0.1μs           | 5.05±0.06μs         | 0.96    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.14±0.2μs           | 5.10±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 6.01±0.1μs           | 5.89±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.92±0.1μs           | 5.92±0.09μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.4±0.6μs           | 45.9±0.6μs          | 0.99    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 83.5±2ms             | 85.9±3ms            | 1.03    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 277±3μs              | 282±4μs             | 1.02    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.13±0.2μs           | 4.86±0.05μs         | 0.95    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.05±0.2μs           | 4.93±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.39±0.2μs           | 7.26±0.09μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.45±0.2μs           | 7.27±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.9±0.08μs          | 11.3±0.08μs         | 1.04    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 129±1ms              | 130±2ms             | 1.01    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.44±0.04μs          | 5.34±0.05μs         | 0.98    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.37±0.06ms          | 3.82±0.05ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.44±0.04ms          | 3.85±0.07ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 205±3μs              | 207±2μs             | 1.01    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.70±0.04μs          | 3.70±0.07μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.23±0.07μs          | 4.31±0.05μs         | 1.02    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.92±0.02μs          | 2.91±0.02μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 7.67±0.1ms           | 8.27±0.2ms          | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 130±2ms              | 131±2ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 13.6±0.8μs           | 13.4±0.8μs          | 0.99    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.45±0.08ms          | 3.90±0.1ms          | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.44±0.1ms           | 3.86±0.09ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 255±20μs             | 252±10μs            | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.89±0.1ms           | 3.05±0.1ms          | 1.05    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 5.00±0.2ms           | 5.11±0.2ms          | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 9.64±0.5μs           | 9.74±0.5μs          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.5±2μs             | 32.5±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 20.2±2μs             | 19.5±1μs            | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 19.7±1μs             | 20.5±2μs            | 1.04    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 18.3±1μs             | 17.8±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 20.9±2μs             | 19.3±2μs            | 0.92    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.9±1μs             | 20.0±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 22.2±2μs             | 22.1±2μs            | 0.99    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 81.3±4μs             | 79.6±3μs            | 0.98    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 83.4±2ms             | 85.8±1ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 389±10μs             | 386±20μs            | 0.99    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 19.1±1μs             | 19.1±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 21.3±2μs             | 22.3±1μs            | 1.05    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 34.0±3μs             | 31.6±1μs            | 0.93    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 35.6±3μs             | 34.3±3μs            | 0.96    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 524±7ns              | 520±8ns             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 251±2ms              | 249±2ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 12.4±0.2ms           | 14.5±0.2ms          | 1.17    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 14.5±0.4ms           | 16.3±0.3ms          | 1.12    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 138±2ms              | 150±2ms             | 1.09    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 755±4ms              | 759±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 95.2±2ms             | 107±3ms             | 1.12    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 705±3ms              | 704±4ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 606±20μs             | 602±20μs            | 0.99    | import_iris.Iris.time__concatenate                                                                   |
|          | 180±3μs              | 181±3μs             | 1.01    | import_iris.Iris.time__constraints                                                                   |
|          | 107±1μs              | 108±1μs             | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 87.5±0.4μs           | 89.5±1μs            | 1.02    | import_iris.Iris.time__deprecation                                                                   |
|          | 112±1μs              | 111±1μs             | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 847±20μs             | 845±20μs            | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 72.9±0.9μs           | 73.4±0.7μs          | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 475±9μs              | 483±10μs            | 1.02    | import_iris.Iris.time_analysis                                                                       |
|          | 132±2μs              | 136±2μs             | 1.03    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 101±1μs              | 99.7±2μs            | 0.98    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 235±3μs              | 228±3μs             | 0.97    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 182±4μs              | 179±3μs             | 0.99    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 106±0.6μs            | 109±2μs             | 1.02    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 129±0.8μs            | 129±0.9μs           | 1.00    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 297±3μs              | 290±3μs             | 0.98    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 87.1±1μs             | 85.6±2μs            | 0.98    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 214±5μs              | 205±3μs             | 0.96    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 92.9±0.5μs           | 92.2±2μs            | 0.99    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 176±3μs              | 174±2μs             | 0.99    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 313±7μs              | 293±5μs             | 0.94    | import_iris.Iris.time_aux_factory                                                                    |
|          | 82.3±0.6μs           | 81.6±1μs            | 0.99    | import_iris.Iris.time_common                                                                         |
|          | 164±4μs              | 163±2μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 975±20μs             | 962±30μs            | 0.99    | import_iris.Iris.time_common_metadata                                                                |
|          | 132±2μs              | 131±2μs             | 1.00    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.09±0.04ms          | 1.08±0.02ms         | 0.99    | import_iris.Iris.time_common_resolve                                                                 |
|          | 198±4μs              | 193±4μs             | 0.97    | import_iris.Iris.time_config                                                                         |
|          | 108±1μs              | 108±1μs             | 1.00    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 367±10μs             | 357±9μs             | 0.97    | import_iris.Iris.time_coord_systems                                                                  |
|          | 710±20μs             | 695±20μs            | 0.98    | import_iris.Iris.time_coords                                                                         |
|          | 665±20μs             | 670±10μs            | 1.01    | import_iris.Iris.time_cube                                                                           |
|          | 212±2μs              | 216±2μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 74.0±0.7μs           | 73.6±0.8μs          | 0.99    | import_iris.Iris.time_experimental                                                                   |
|          | 198±3μs              | 197±3μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 244±3μs              | 240±5μs             | 0.98    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.94±0.3ms           | 2.81±0.1ms          | 0.95    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.9±0.5μs           | 75.7±0.9μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 111±1μs              | 112±1μs             | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 364±10μs             | 349±10μs            | 0.96    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 6.23±0.3ms           | 6.28±0.2ms          | 1.01    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 70.4±0.9μs           | 70.2±1μs            | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 243±5μs              | 240±3μs             | 0.98    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 115±6μs              | 113±1μs             | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 117±1μs              | 117±1μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 194±3μs              | 194±2μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 745±30μs             | 721±20μs            | 0.97    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 164±2μs              | 163±2μs             | 1.00    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 123±0.7μs            | 122±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 454±7μs              | 454±4μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 208±2μs              | 209±2μs             | 1.01    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 80.1±0.5μs           | 80.7±0.4μs          | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 157±2μs              | 154±1μs             | 0.98    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 140±1μs              | 139±3μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 72.2±0.5μs           | 72.2±1μs            | 1.00    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 80.5±1μs             | 79.1±0.9μs          | 0.98    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 901±8μs              | 884±6μs             | 0.98    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 132±1μs              | 131±1μs             | 0.99    | import_iris.Iris.time_io                                                                             |
|          | 173±3μs              | 172±2μs             | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 201±2μs              | 199±2μs             | 0.99    | import_iris.Iris.time_iris                                                                           |
|          | 125±2μs              | 123±1μs             | 0.99    | import_iris.Iris.time_iterate                                                                        |
|          | 8.56±0.07ms          | 8.52±0.04ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 308±2μs              | 312±6μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 96.7±1μs             | 95.4±0.7μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 2.32±0.1ms           | 2.18±0.2ms          | 0.94    | import_iris.Iris.time_std_names                                                                      |
|          | 1.76±0.02ms          | 1.75±0.02ms         | 1.00    | import_iris.Iris.time_symbols                                                                        |
|          | 26.1±2ms             | 25.3±0.9ms          | 0.97    | import_iris.Iris.time_tests                                                                          |
|          | 226±4μs              | 227±3μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 5.31±0.2ms           | 5.23±0.09ms         | 0.98    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 104±0.7μs            | 104±0.4μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 3.02±0.1ms           | 2.81±0.07ms         | 0.93    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.02±0.01ms          | 1.02±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 157±2μs              | 157±2μs             | 1.00    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 96.6±1μs             | 95.7±1μs            | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 296±3μs              | 295±4μs             | 1.00    | import_iris.Iris.time_util                                                                           |
|          | 83.8±0.8μs           | 82.6±1μs            | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 7.99±0.2ms           | 8.43±0.1ms          | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 25.0±0.3ms           | 25.2±0.4ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.81±0.2ms           | 9.41±0.3ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 8.22±0.1ms           | 8.50±0.2ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 21.7±0.4ms           | 22.2±0.2ms          | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.82±0.1ms           | 9.40±0.2ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.28±0.01s           | 1.36±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 20.6±0.1ms           | 21.3±0.3ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.44±0.01s           | 1.54±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.29±0.01s           | 1.36±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 20.8±0.3ms           | 21.4±0.2ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.44±0.01s           | 1.53±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.83±0.05ms          | 4.07±0.09ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 20.5±0.4ms           | 20.6±0.2ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 4.08±0.06ms          | 4.29±0.06ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.86±0.1ms           | 4.12±0.1ms          | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 20.4±0.2ms           | 20.4±0.3ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 4.14±0.1ms           | 4.34±0.07ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 35.1±2ms             | 36.6±2ms            | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 20.5±0.6ms           | 20.9±0.4ms          | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.6±3ms             | 13.1±2ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 26.3±2ms             | 26.7±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.0±2ms             | 71.7±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 26.8±2ms             | 27.0±0.6ms          | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 406±6ms              | 462±5ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 3.10±0.08ms          | 3.25±0.08ms         | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 412±4ms              | 472±3ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 415±5ms              | 471±3ms             | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 3.33±0.1ms           | 3.42±0.1ms          | 1.03    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 421±2ms              | 475±4ms             | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.55±0.1ms           | 1.74±0.08ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 3.25±0.1ms           | 3.32±0.1ms          | 1.02    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.52±0.09ms          | 1.73±0.1ms          | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.54±0.09ms          | 1.77±0.1ms          | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 3.26±0.1ms           | 3.39±0.1ms          | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.57±0.1ms           | 1.73±0.1ms          | 1.10    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 338±3ms              | 338±3ms             | 1.00    | load.ManyVars.time_many_var_load                                                                     |
|          | 8.22±0.2ms           | 8.81±0.2ms          | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 9.12±0.1ms           | 9.50±0.2ms          | 1.04    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.30±0.01s           | 1.38±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.47±0.01s           | 1.56±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.91±0.08ms          | 4.16±0.06ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 4.29±0.1ms           | 4.39±0.07ms         | 1.02    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 8.09±0.1ms           | 8.52±0.1ms          | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.50±0.1ms           | 5.18±0.1ms          | 1.15    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.28±0s              | 1.36±0.01s          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.79±0.07ms          | 4.06±0.05ms         | 1.07    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.50±0.1ms           | 3.77±0.09ms         | 1.08    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 135±2ms              | 143±0.9ms           | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 24.1±0.4ms           | 23.9±0.3ms          | 0.99    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 152±2ms              | 159±0.9ms           | 1.05    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 28.9±0.4ms           | 29.6±0.4ms          | 1.03    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 23.7±0.4ms           | 23.9±0.4ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 30.7±0.6ms           | 32.6±0.6ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 18.5±0.4ms           | 18.7±0.4ms          | 1.01    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 39.0±0.4ms           | 41.9±0.5ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 14.7±0.3ms           | 15.1±0.3ms          | 1.02    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 22.3±0.6ms           | 23.3±0.2ms          | 1.05    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 18.5±0.5ms           | 19.1±0.6ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 21.0±0.5ms           | 21.6±0.4ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 14.8±0.3ms           | 15.4±0.3ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 17.4±0.4ms           | 18.0±0.2ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 19.8±0.4ms           | 19.9±0.4ms          | 1.01    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 47.2±0.8ms           | 51.2±0.7ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 19.5±0.4ms           | 20.1±0.3ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 22.8±0.6ms           | 23.7±0.5ms          | 1.04    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 3.08±0.1ms           | 3.16±0.09ms         | 1.03    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.95±0.1ms           | 6.05±0.1ms          | 1.02    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 43.4±0.7ms           | 42.9±0.6ms          | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 832±6ms              | 822±6ms             | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±2ns              | 102±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 947±20ns             | 916±5ns             | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±0.7ns            | 102±0.8ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 924±20ns             | 930±7ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.4ns            | 104±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.05±0.03μs          | 1.02±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±0.7ns            | 103±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.11±0.02μs          | 1.09±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±0.7ns            | 103±0.5ns           | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.04±0.02μs          | 1.01±0μs            | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.7ns            | 102±0.8ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.17±0.03μs          | 1.17±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 987±10ns             | 993±10ns            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.79±0.1μs           | 6.88±0.1μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.5±0.6μs           | 65.1±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 990±20ns             | 993±10ns            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.76±0.08μs          | 6.78±0.2μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.8±0.7μs           | 64.7±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.03±0.02μs          | 1.04±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.25±0.1μs           | 7.19±0.04μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 69.4±0.8μs           | 69.6±0.5μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.08±0.03μs          | 1.08±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.71±0.1μs           | 7.70±0.08μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.8±0.6μs           | 73.6±1μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.04±0.01μs          | 1.04±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.27±0.08μs          | 7.24±0.1μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.6±0.5μs           | 68.6±1μs            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.12±0.02μs          | 1.12±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.12±0.1μs           | 8.07±0.07μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.0±0.5μs           | 77.6±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±10ns             | 108±0.5ns           | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 106±0.7ns            | 107±0.5ns           | 1.01    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 962±10ns             | 953±5ns             | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 109±3ns              | 108±0.7ns           | 0.99    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 108±3ns              | 108±0.8ns           | 1.00    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±2ns              | 108±0.8ns           | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 690±10ns             | 695±7ns             | 1.01    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 116±1ns              | 115±0.8ns           | 0.99    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.54±0.03μs          | 3.47±0.03μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.39±0.05μs          | 4.34±0.05μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.35±0.04μs          | 4.27±0.03μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 552±9ns              | 534±3ns             | 0.97    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 420±4ns              | 419±2ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 442±10ns             | 436±3ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 374±3ms              | 376±3ms             | 1.01    | plot.AuxSort.time_aux_sort                                                                           |
|          | 81.2±3ms             | 82.2±2ms            | 1.01    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 98.6±1ms             | 99.0±0.7ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 52.2±2ms             | 53.2±1ms            | 1.02    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 4.37±0.08ms          | 4.92±0.2ms          | 1.13    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 94.6±1ms             | 102±1ms             | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 56.9±2ms             | 56.3±0.3ms          | 0.99    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 601±3ms              | 613±5ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 103±9ns              | 103±2ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 78.8±1ms             | 84.5±1ms            | 1.07    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 103±8ns              | 102±1ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 532±3ms              | 535±2ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 37.5±1ms             | 43.5±1ms            | 1.16    | stats.PearsonR.time_lazy                                                                             |
|          | 20.1±0.4ms           | 20.0±0.4ms          | 1.00    | stats.PearsonR.time_real                                                                             |
|          | 25.2±0.3ms           | 24.6±1ms            | 0.98    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 62.3±0.4ms           | 61.6±0.6ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [0252bc87]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.57±0.03ms          | 1.93±0.02ms         |    1.23 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.49±0.03ms          | 4.21±0.1ms          |    1.21 | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.74±0.06ms          | 3.36±0.08ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 264±2μs              | 363±5μs             |    1.38 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±3μs              | 415±7μs             |    1.37 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 303±10μs             | 416±20μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 352±20μs             | 466±20μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 300±2ms              | 369±2ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8308057097

github-actions[bot] avatar Mar 16 '24 14:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: ebcf4b6a

Performance shifts
| Change   | Before [9c431a01]    | After [ebcf4b6a]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.02ms          | 1.86±0.04ms         |    1.23 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.68±0.04ms          | 3.22±0.04ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±4μs              | 353±6μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 300±3μs              | 402±2μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 291±10μs             | 405±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±8μs              | 448±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 285±3ms              | 351±3ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [ebcf4b6a]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.40±0.03μs          | 4.34±0.07μs         | 0.99    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.94±0.06μs          | 4.90±0.08μs         | 0.99    | coords.AncillaryVariable.time_create                                                                 |
|          | 429±10ns             | 415±4ns             | 0.97    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.99±0.02μs          | 8.81±0.09μs         | 0.98    | coords.AuxCoord.time_create                                                                          |
|          | 414±4ns              | 408±10ns            | 0.99    | coords.AuxCoord.time_points                                                                          |
|          | 232±20μs             | 246±20μs            | 1.06    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.8±0.6μs           | 13.4±0.5μs          | 1.05    | coords.AuxCoordLazy.time_create                                                                      |
|          | 228±20μs             | 245±20μs            | 1.07    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.41±0.09μs          | 5.47±0.07μs         | 1.01    | coords.CellMeasure.time_create                                                                       |
|          | 1.09±0.02μs          | 1.12±0.03μs         | 1.03    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±1μs              | 111±2μs             | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 32.0±0.5μs           | 32.1±0.5μs          | 1.00    | coords.DimCoord.time_regular                                                                         |
|          | 398±4ms              | 391±2ms             | 0.98    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.3±0.6μs           | 59.0±0.4μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.6±0.3μs           | 11.2±0.07μs         | 0.97    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.3±0.9μs           | 67.0±0.6μs          | 1.00    | cube.AuxCoord.time_add                                                                               |
|          | 9.69±0.2μs           | 9.33±0.05μs         | 0.96    | cube.AuxCoord.time_create                                                                            |
|          | 6.07±0.03μs          | 6.00±0.08μs         | 0.99    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.52±0.05μs          | 4.54±0.05μs         | 1.00    | cube.AuxCoord.time_return_coords                                                                     |
|          | 39.5±0.4μs           | 40.3±0.4μs          | 1.02    | cube.AuxFactory.time_add                                                                             |
|          | 12.3±0.2μs           | 12.2±0.3μs          | 0.99    | cube.AuxFactory.time_create                                                                          |
|          | 59.1±0.4μs           | 59.4±0.4μs          | 1.01    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.4μs           | 11.6±0.2μs          | 1.00    | cube.CellMeasure.time_create                                                                         |
|          | 52.4±0.7μs           | 52.2±0.5μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.24±0.06μs          | 7.16±0.02μs         | 0.99    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 133±0.5ms            | 132±0.4ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.86±0.1μs           | 6.65±0.06μs         | 0.97    | cube.Cube.time_basic                                                                                 |
|          | 57.8±0.4ns           | 58.5±2ns            | 1.01    | cube.Cube.time_rename                                                                                |
|          | 61.9±0.3μs           | 62.8±0.8μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 345±3ms              | 346±3ms             | 1.00    | cube.Merge.time_merge                                                                                |
|          | 27.8±1μs             | 28.1±2μs            | 1.01    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.7±1μs             | 30.3±2μs            | 0.99    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 24.5±0.9μs           | 24.4±0.8μs          | 0.99    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.5±0.6μs           | 19.9±0.4μs          | 1.02    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.4±0.5μs           | 19.4±0.3μs          | 1.00    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.1±0.3μs           | 18.8±0.2μs          | 0.99    | cube.MeshCoord.time_create(6)                                                                        |
|          | 48.7±5μs             | 47.7±5μs            | 0.98    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 61.6±3μs             | 59.1±3μs            | 0.96    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 42.5±3μs             | 40.7±3μs            | 0.96    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.06±0.2ms           | 2.54±0.2ms          | ~1.23   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 603±4ns              | 611±8ns             | 1.01    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 601±7ns              | 611±7ns             | 1.02    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 21.6±2ms             | 23.2±2ms            | 1.07    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.24±0.03ms          | 2.64±0.04ms         | 1.18    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 23.8±3ms             | 27.5±3ms            | 1.16    | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.36±0.04ms          | 3.96±0.02ms         | 1.18    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.50±0.08ms          | 4.07±0.08ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 245±7μs              | 255±6μs             | 1.04    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 238±10μs             | 252±7μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.0±0.5ms           | 20.5±0.4ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.53±0.03ms          | 2.94±0.03ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.2±0.4ms           | 23.0±0.5ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.62±0.04ms          | 4.23±0.03ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.7±0.1μs           | 12.7±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.90±0.09μs          | 4.91±0.03μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.82±0.07μs          | 4.83±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.14±0.05μs          | 5.01±0.03μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.01±0.04μs          | 5.01±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.93±0.06μs          | 5.87±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.80±0.05μs          | 5.88±0.07μs         | 1.01    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.5±0.5μs           | 45.3±0.3μs          | 0.98    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 73.7±2ms             | 77.7±2ms            | 1.05    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 275±4μs              | 275±8μs             | 1.00    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.99±0.07μs          | 4.88±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.93±0.1μs           | 4.90±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.41±0.1μs           | 7.20±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.33±0.06μs          | 7.27±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.3±0.08μs          | 10.5±0.1μs          | 1.02    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 126±2ms              | 128±3ms             | 1.01    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.40±0.07μs          | 5.32±0.03μs         | 0.99    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.25±0.03ms          | 3.64±0.01ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.25±0.03ms          | 3.66±0.02ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 201±3μs              | 197±2μs             | 0.98    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.55±0.02μs          | 3.67±0.04μs         | 1.03    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.17±0.03μs          | 4.24±0.1μs          | 1.02    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.94±0.02μs          | 2.93±0.02μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.85±0.07ms          | 7.37±0.07ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 126±2ms              | 127±2ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.5±0.4μs           | 11.7±0.5μs          | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.21±0.05ms          | 3.61±0.03ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.28±0.04ms          | 3.71±0.08ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 234±8μs              | 235±3μs             | 1.01    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.34±0.06ms          | 2.46±0.07ms         | 1.05    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.59±0.06ms          | 4.66±0.1ms          | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.72±0.3μs           | 7.64±0.3μs          | 0.99    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.8±1μs             | 32.8±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 20.2±1μs             | 19.4±1μs            | 0.96    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.1±0.9μs           | 15.4±0.9μs          | 1.02    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.9±0.7μs           | 16.8±0.7μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.2±0.4μs           | 15.9±0.3μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.4±0.6μs           | 19.3±0.7μs          | 0.99    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.5±0.6μs           | 18.8±0.4μs          | 1.02    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 77.8±2μs             | 78.2±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 74.2±1ms             | 77.5±2ms            | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 336±10μs             | 341±10μs            | 1.01    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.2±0.7μs           | 18.1±0.7μs          | 0.99    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.8±0.4μs           | 16.9±0.5μs          | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.9±0.7μs           | 31.9±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.0±1μs             | 29.9±1μs            | 1.03    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 490±2ns              | 523±8ns             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 250±1ms              | 249±1ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.7±0.2ms           | 13.5±0.1ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.5±0.4ms           | 15.5±0.4ms          | 1.14    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 125±1ms              | 133±2ms             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 732±2ms              | 739±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 87.9±1ms             | 93.8±1ms            | 1.07    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 691±3ms              | 699±7ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 570±5μs              | 568±6μs             | 1.00    | import_iris.Iris.time__concatenate                                                                   |
|          | 163±1μs              | 163±1μs             | 1.00    | import_iris.Iris.time__constraints                                                                   |
|          | 102±2μs              | 101±1μs             | 0.99    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.9±0.6μs           | 85.0±1μs            | 1.00    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±3μs              | 110±0.9μs           | 1.00    | import_iris.Iris.time__lazy_data                                                                     |
|          | 803±20μs             | 800±10μs            | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 71.6±0.5μs           | 72.3±0.6μs          | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 427±4μs              | 431±4μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 127±2μs              | 131±3μs             | 1.03    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.1±1μs             | 99.1±1μs            | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 216±2μs              | 215±1μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 167±2μs              | 168±2μs             | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±0.5μs            | 101±0.7μs           | 1.01    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 127±0.9μs            | 126±2μs             | 1.00    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 282±3μs              | 284±3μs             | 1.01    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.4±0.6μs           | 86.0±1μs            | 1.02    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 198±3μs              | 197±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 89.4±0.9μs           | 92.4±0.9μs          | 1.03    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 166±4μs              | 168±1μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 264±4μs              | 267±5μs             | 1.01    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.7±0.4μs           | 80.8±0.4μs          | 1.01    | import_iris.Iris.time_common                                                                         |
|          | 153±2μs              | 151±1μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 874±7μs              | 885±3μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 123±3μs              | 123±0.5μs           | 1.00    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.02±0.01ms          | 1.03±0.01ms         | 1.01    | import_iris.Iris.time_common_resolve                                                                 |
|          | 184±2μs              | 187±2μs             | 1.01    | import_iris.Iris.time_config                                                                         |
|          | 105±1μs              | 107±1μs             | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 328±5μs              | 321±2μs             | 0.98    | import_iris.Iris.time_coord_systems                                                                  |
|          | 630±7μs              | 629±3μs             | 1.00    | import_iris.Iris.time_coords                                                                         |
|          | 583±8μs              | 587±4μs             | 1.01    | import_iris.Iris.time_cube                                                                           |
|          | 204±2μs              | 207±1μs             | 1.01    | import_iris.Iris.time_exceptions                                                                     |
|          | 73.2±0.3μs           | 72.1±1μs            | 0.99    | import_iris.Iris.time_experimental                                                                   |
|          | 196±2μs              | 196±2μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 224±2μs              | 225±0.9μs           | 1.00    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.43±0.02ms          | 2.38±0.02ms         | 0.98    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.1±0.5μs           | 74.4±0.6μs          | 1.00    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.4μs            | 106±0.7μs           | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 315±4μs              | 316±2μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.35±0.04ms          | 5.28±0.03ms         | 0.99    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.8±0.4μs           | 69.7±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 234±2μs              | 235±2μs             | 1.01    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±0.8μs            | 111±0.9μs           | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±1μs              | 113±0.7μs           | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 187±2μs              | 190±2μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 673±7μs              | 675±5μs             | 1.00    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 158±1μs              | 160±4μs             | 1.01    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 121±0.7μs            | 121±2μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 446±6μs              | 439±3μs             | 0.98    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 194±3μs              | 193±1μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.0±0.5μs           | 79.7±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 150±1μs              | 150±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 129±0.8μs            | 131±0.6μs           | 1.02    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.5±0.5μs           | 71.9±0.5μs          | 1.02    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.9±1μs             | 78.4±1μs            | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 872±10μs             | 855±3μs             | 0.98    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±0.4μs            | 129±2μs             | 1.02    | import_iris.Iris.time_io                                                                             |
|          | 158±1μs              | 159±2μs             | 1.01    | import_iris.Iris.time_io_format_picker                                                               |
|          | 194±2μs              | 193±1μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 119±0.7μs            | 118±1μs             | 0.99    | import_iris.Iris.time_iterate                                                                        |
|          | 8.17±0.1ms           | 8.08±0.04ms         | 0.99    | import_iris.Iris.time_palette                                                                        |
|          | 302±4μs              | 304±7μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 95.3±1μs             | 94.3±1μs            | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.87±0.01ms         | 0.96    | import_iris.Iris.time_std_names                                                                      |
|          | 1.69±0.02ms          | 1.72±0.01ms         | 1.02    | import_iris.Iris.time_symbols                                                                        |
|          | 302±2ms              | 284±3ms             | 0.94    | import_iris.Iris.time_tests                                                                          |
|          | 220±4μs              | 218±3μs             | 0.99    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.80±0.03ms          | 4.81±0.06ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.6μs            | 102±0.8μs           | 0.99    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.66±0.01ms          | 2.63±0.01ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1000±3μs             | 1.01±0ms            | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 152±1μs              | 153±3μs             | 1.01    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.7±2μs             | 90.7±1μs            | 0.98    | import_iris.Iris.time_time                                                                           |
|          | 286±1μs              | 288±5μs             | 1.01    | import_iris.Iris.time_util                                                                           |
|          | 83.4±0.7μs           | 81.9±0.8μs          | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.40±0.07ms          | 7.77±0.05ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.6±0.3ms           | 22.4±0.6ms          | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.09±0.04ms          | 8.52±0.05ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.41±0.09ms          | 7.74±0.08ms         | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.0±0.2ms           | 19.8±0.07ms         | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.11±0.05ms          | 8.54±0.07ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.25±0.02s           | 1.31±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.3±0.3ms           | 19.2±0.2ms          | 0.99    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.40±0.01s           | 1.47±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.22±0.02s           | 1.33±0.02s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.0±0.1ms           | 19.2±0.08ms         | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.02s           | 1.48±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.53±0.02ms          | 3.75±0.05ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.5±0.1ms           | 18.5±0.09ms         | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.82±0.01ms          | 4.04±0.03ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.54±0.06ms          | 3.76±0.03ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.6±0.2ms           | 18.6±0.1ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.82±0.05ms          | 4.04±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 32.4±2ms             | 34.2±4ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.9±0.4ms           | 20.2±0.4ms          | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.3±2ms             | 13.5±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.6±2ms             | 25.9±0.4ms          | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.0±1ms             | 71.7±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.9±2ms             | 25.7±1ms            | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 377±2ms              | 434±4ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.83±0.08ms          | 2.88±0.1ms          | 1.02    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 384±2ms              | 442±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 383±1ms              | 440±1ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.85±0.1ms           | 2.97±0.2ms          | 1.04    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 391±3ms              | 449±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.39±0.06ms          | 1.54±0.06ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.87±0.07ms          | 2.80±0.1ms          | 0.98    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.41±0.09ms          | 1.56±0.09ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.37±0.08ms          | 1.55±0.04ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.94±0.06ms          | 2.99±0.09ms         | 1.02    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.41±0.1ms           | 1.56±0.08ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 335±2ms              | 333±5ms             | 0.99    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.46±0.1ms           | 7.94±0.04ms         | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.30±0.1ms           | 8.73±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.26±0.01s           | 1.34±0.02s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.03s           | 1.50±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.63±0.06ms          | 3.83±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.85±0.03ms          | 4.22±0.02ms         | 1.09    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.42±0.1ms           | 7.91±0.1ms          | 1.07    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.16±0.05ms          | 4.54±0.03ms         | 1.09    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.22±0.02s           | 1.31±0.02s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.59±0.08ms          | 3.75±0.02ms         | 1.04    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.25±0.07ms          | 3.44±0.04ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 129±2ms              | 138±3ms             | 1.07    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.7±0.04ms          | 21.9±0.3ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 144±2ms              | 155±3ms             | 1.08    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.5±0.2ms           | 27.6±0.2ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.4±0.2ms           | 21.7±0.4ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.4±0.1ms           | 30.0±0.5ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.3±0.3ms           | 17.1±0.2ms          | 1.05    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.6±0.6ms           | 39.1±0.7ms          | 1.10    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.1±0.2ms           | 13.4±0.2ms          | 1.03    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.0±0.3ms           | 21.2±0.4ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.3ms           | 16.8±0.4ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.7±0.4ms           | 19.8±0.6ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.1±0.1ms           | 13.4±0.2ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.0±0.4ms           | 16.3±0.3ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.5±0.4ms           | 18.0±0.5ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 43.8±0.6ms           | 46.4±0.4ms          | 1.06    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.6±0.4ms           | 17.6±0.2ms          | 1.00    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.6±0.4ms           | 21.5±0.4ms          | 1.04    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.71±0.1ms           | 2.73±0.08ms         | 1.01    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.26±0.8ms           | 5.42±0.1ms          | 1.03    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 39.0±1ms             | 39.0±2ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 826±8ms              | 824±20ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.4ns            | 103±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 908±10ns             | 914±9ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±1ns              | 106±4ns             | 1.05    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 914±6ns              | 917±8ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 101±0.5ns            | 104±2ns             | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.02±0.03μs          | 1.02±0.02μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.7ns            | 102±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0.01μs          | 1.09±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±2ns              | 103±2ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.00±0.01μs          | 1.01±0μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±0.7ns            | 104±3ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.14±0.01μs          | 1.16±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 998±8ns              | 994±6ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.76±0.01μs          | 6.75±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 64.2±0.6μs           | 63.6±0.2μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 996±8ns              | 976±7ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.74±0.08μs          | 6.68±0.08μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.3±0.5μs           | 64.2±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.05±0.02μs          | 1.03±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.25±0.06μs          | 7.23±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 69.4±0.8μs           | 68.9±0.3μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.11±0.01μs          | 1.07±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.61±0.07μs          | 7.66±0.03μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.3±0.3μs           | 72.9±0.4μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.04±0.01μs          | 1.03±0μs            | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.29±0.1μs           | 7.27±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.8±0.7μs           | 69.0±0.3μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.13±0.02μs          | 1.11±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.02±0.05μs          | 8.02±0.07μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.0±0.4μs           | 76.6±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 106±1ns              | 107±2ns             | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 106±1ns              | 107±2ns             | 1.01    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 962±9ns              | 958±20ns            | 1.00    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 106±0.3ns            | 108±3ns             | 1.02    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 106±0.9ns            | 112±4ns             | 1.05    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 106±0.3ns            | 108±2ns             | 1.01    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 673±10ns             | 693±10ns            | 1.03    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 113±0.5ns            | 114±1ns             | 1.01    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.55±0.02μs          | 3.51±0.04μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.48±0.08μs          | 4.38±0.06μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.42±0.05μs          | 4.31±0.05μs         | 0.97    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 581±6ns              | 542±7ns             | 0.93    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 419±3ns              | 424±8ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 437±4ns              | 438±3ns             | 1.00    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 372±2ms              | 371±4ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 79.7±3ms             | 81.5±0.9ms          | 1.02    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 97.4±0.9ms           | 98.0±1ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 51.4±2ms             | 53.1±2ms            | 1.03    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.74±0.04ms          | 4.04±0.07ms         | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 86.7±0.9ms           | 93.4±0.8ms          | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.2±1ms             | 55.2±0.9ms          | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 592±3ms              | 600±5ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 104±0.9ns            | 101±4ns             | 0.97    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 72.4±0.9ms           | 78.1±0.8ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 105±4ns              | 101±1ns             | 0.96    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 525±6ms              | 531±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.3±2ms             | 40.9±0.7ms          | 1.13    | stats.PearsonR.time_lazy                                                                             |
|          | 19.0±0.2ms           | 18.9±0.3ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 23.4±0.4ms           | 22.5±0.9ms          | 0.96    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.4±0.7ms           | 59.8±0.5ms          | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [ebcf4b6a]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.02ms          | 1.86±0.04ms         |    1.23 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.68±0.04ms          | 3.22±0.04ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±4μs              | 353±6μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 300±3μs              | 402±2μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 291±10μs             | 405±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±8μs              | 448±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 285±3ms              | 351±3ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8325391440

github-actions[bot] avatar Mar 18 '24 11:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 74d0f528

Performance shifts
| Change   | Before [9c431a01]    | After [74d0f528]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.51±0.02ms          | 1.87±0.02ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.62±0.03ms          | 3.25±0.04ms         |    1.24 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±4μs              | 354±3μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 299±4μs              | 401±5μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±9μs              | 397±8μs             |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 334±10μs             | 444±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 282±4ms              | 349±5ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [9c431a01]    | After [74d0f528]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.35±0.04μs          | 4.29±0.04μs         | 0.99    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.88±0.03μs          | 4.90±0.08μs         | 1.00    | coords.AncillaryVariable.time_create                                                                 |
|          | 429±2ns              | 422±10ns            | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.97±0.08μs          | 8.81±0.08μs         | 0.98    | coords.AuxCoord.time_create                                                                          |
|          | 409±5ns              | 409±10ns            | 1.00    | coords.AuxCoord.time_points                                                                          |
|          | 230±20μs             | 250±20μs            | 1.09    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.9±0.5μs           | 13.4±0.7μs          | 1.04    | coords.AuxCoordLazy.time_create                                                                      |
|          | 228±20μs             | 251±20μs            | 1.10    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.31±0.04μs          | 5.37±0.04μs         | 1.01    | coords.CellMeasure.time_create                                                                       |
|          | 1.08±0.01μs          | 1.11±0.01μs         | 1.03    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±1μs              | 110±1μs             | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 30.9±0.6μs           | 31.9±0.4μs          | 1.03    | coords.DimCoord.time_regular                                                                         |
|          | 375±3ms              | 376±5ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.1±2μs             | 58.1±0.6μs          | 0.97    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.4±0.3μs           | 11.3±0.3μs          | 0.99    | cube.AncillaryVariable.time_create                                                                   |
|          | 66.9±0.3μs           | 66.6±0.4μs          | 1.00    | cube.AuxCoord.time_add                                                                               |
|          | 9.80±0.1μs           | 9.34±0.1μs          | 0.95    | cube.AuxCoord.time_create                                                                            |
|          | 5.96±0.07μs          | 5.93±0.04μs         | 0.99    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.49±0.07μs          | 4.43±0.05μs         | 0.99    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.0±0.5μs           | 39.7±0.4μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.5±0.3μs           | 12.2±0.1μs          | 0.97    | cube.AuxFactory.time_create                                                                          |
|          | 58.8±1μs             | 58.8±0.5μs          | 1.00    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.2μs           | 11.2±0.1μs          | 0.97    | cube.CellMeasure.time_create                                                                         |
|          | 52.4±0.4μs           | 51.1±0.3μs          | 0.98    | cube.CellMethod.time_add                                                                             |
|          | 7.39±0.03μs          | 7.21±0.08μs         | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.5ms            | 130±0.2ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.82±0.03μs          | 6.62±0.09μs         | 0.97    | cube.Cube.time_basic                                                                                 |
|          | 57.9±0.4ns           | 57.5±0.5ns          | 0.99    | cube.Cube.time_rename                                                                                |
|          | 61.3±0.9μs           | 61.7±0.6μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 330±4ms              | 330±0.7ms           | 1.00    | cube.Merge.time_merge                                                                                |
|          | 26.7±1μs             | 27.6±1μs            | 1.03    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.0±1μs             | 30.8±1μs            | 1.03    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 24.9±0.8μs           | 24.9±0.9μs          | 1.00    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.6±0.3μs           | 19.7±0.4μs          | 1.00    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.6±0.2μs           | 19.6±0.5μs          | 1.00    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.7±0.3μs           | 19.1±0.3μs          | 1.02    | cube.MeshCoord.time_create(6)                                                                        |
|          | 44.3±7μs             | 42.4±6μs            | 0.96    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 57.9±3μs             | 58.3±3μs            | 1.01    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 40.9±3μs             | 39.8±2μs            | 0.97    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.03±0.2ms           | 2.51±0.06ms         | ~1.24   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 610±10ns             | 610±6ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 604±7ns              | 606±9ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 19.8±2ms             | 23.0±2ms            | 1.16    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.26±0.02ms          | 2.70±0.01ms         | 1.20    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.4±3ms             | 27.4±3ms            | ~1.23   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.33±0.03ms          | 3.92±0.03ms         | 1.18    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.40±0.09ms          | 3.96±0.08ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 238±7μs              | 254±7μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 233±4μs              | 250±5μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.7±0.4ms           | 19.6±0.4ms          | 0.99    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.49±0.04ms          | 2.94±0.04ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.1±0.3ms           | 22.2±0.4ms          | 1.01    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.65±0.06ms          | 4.27±0.06ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.7±0.09μs          | 12.7±0.09μs         | 1.00    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.82±0.03μs          | 4.84±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.87±0.05μs          | 4.78±0.03μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.16±0.09μs          | 4.93±0.04μs         | 0.95    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.12±0.06μs          | 4.93±0.06μs         | 0.96    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.87±0.06μs          | 5.83±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.94±0.07μs          | 5.81±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.6±0.5μs           | 45.0±0.6μs          | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 70.4±1ms             | 72.0±2ms            | 1.02    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 276±3μs              | 271±4μs             | 0.98    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.99±0.06μs          | 4.86±0.04μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.03±0.07μs          | 4.84±0.06μs         | 0.96    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.35±0.07μs          | 7.27±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.36±0.05μs          | 7.27±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 9.87±0.06μs          | 10.4±0.07μs         | 1.05    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 116±2ms              | 117±2ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.39±0.03μs          | 5.33±0.05μs         | 0.99    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.16±0.02ms          | 3.62±0.03ms         | 1.15    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.20±0.03ms          | 3.65±0.06ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 198±2μs              | 202±3μs             | 1.02    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.56±0.04μs          | 3.59±0.03μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.12±0.04μs          | 4.09±0.04μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.95±0.06μs          | 2.90±0.03μs         | 0.98    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.79±0.06ms          | 7.31±0.06ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 116±1ms              | 117±0.9ms           | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.4±0.5μs           | 11.5±0.4μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.24±0.05ms          | 3.65±0.04ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.28±0.04ms          | 3.71±0.04ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 235±8μs              | 235±7μs             | 1.00    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.34±0.06ms          | 2.46±0.08ms         | 1.05    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.34±0.05ms          | 4.42±0.06ms         | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.73±0.3μs           | 7.75±0.4μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.0±1μs             | 32.0±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 18.6±0.9μs           | 18.1±0.9μs          | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.2±0.6μs           | 15.2±0.6μs          | 1.00    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.8±0.7μs           | 16.7±0.6μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.1±0.8μs           | 16.0±0.3μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.1±0.7μs           | 18.9±0.4μs          | 0.99    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.3±0.6μs           | 18.4±0.4μs          | 1.01    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.3±2μs             | 76.5±3μs            | 0.98    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 70.2±1ms             | 73.2±2ms            | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 344±10μs             | 342±10μs            | 0.99    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.0±0.8μs           | 18.4±0.8μs          | 1.02    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.6±0.4μs           | 17.0±0.5μs          | 1.03    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.4±0.9μs           | 31.5±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.0±0.6μs           | 29.3±0.7μs          | 1.01    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 496±3ns              | 505±5ns             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 249±2ms              | 248±2ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.4±0.1ms           | 13.5±0.1ms          | 1.19    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.3±0.8ms           | 15.3±0.3ms          | 1.15    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 124±0.8ms            | 131±1ms             | 1.06    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 719±4ms              | 733±6ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 85.7±0.8ms           | 93.8±0.8ms          | 1.09    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 677±5ms              | 679±4ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 571±7μs              | 577±8μs             | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 162±2μs              | 164±1μs             | 1.01    | import_iris.Iris.time__constraints                                                                   |
|          | 100±2μs              | 101±0.6μs           | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.0±1μs             | 85.9±0.9μs          | 1.02    | import_iris.Iris.time__deprecation                                                                   |
|          | 108±0.5μs            | 109±0.5μs           | 1.01    | import_iris.Iris.time__lazy_data                                                                     |
|          | 806±10μs             | 794±4μs             | 0.98    | import_iris.Iris.time__merge                                                                         |
|          | 70.9±0.6μs           | 72.4±0.4μs          | 1.02    | import_iris.Iris.time__representation                                                                |
|          | 425±5μs              | 439±6μs             | 1.03    | import_iris.Iris.time_analysis                                                                       |
|          | 126±2μs              | 130±2μs             | 1.04    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 97.5±2μs             | 98.5±0.7μs          | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 217±2μs              | 215±0.8μs           | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 167±2μs              | 170±2μs             | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 99.8±1μs             | 101±0.6μs           | 1.01    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 125±1μs              | 128±1μs             | 1.02    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 283±2μs              | 288±1μs             | 1.02    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.5±0.7μs           | 84.7±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 197±2μs              | 200±1μs             | 1.02    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 89.8±0.5μs           | 91.0±0.4μs          | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 166±2μs              | 167±1μs             | 1.00    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 264±3μs              | 266±2μs             | 1.01    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.2±0.9μs           | 80.7±0.6μs          | 1.01    | import_iris.Iris.time_common                                                                         |
|          | 150±2μs              | 153±1μs             | 1.02    | import_iris.Iris.time_common_lenient                                                                 |
|          | 872±7μs              | 888±10μs            | 1.02    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±2μs              | 125±2μs             | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.02±0.01ms          | 1.03±0ms            | 1.01    | import_iris.Iris.time_common_resolve                                                                 |
|          | 185±6μs              | 186±2μs             | 1.01    | import_iris.Iris.time_config                                                                         |
|          | 105±1μs              | 106±0.4μs           | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 315±4μs              | 321±2μs             | 1.02    | import_iris.Iris.time_coord_systems                                                                  |
|          | 631±9μs              | 630±3μs             | 1.00    | import_iris.Iris.time_coords                                                                         |
|          | 579±20μs             | 590±4μs             | 1.02    | import_iris.Iris.time_cube                                                                           |
|          | 202±2μs              | 207±1μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.0±0.7μs           | 73.2±0.9μs          | 1.02    | import_iris.Iris.time_experimental                                                                   |
|          | 193±1μs              | 193±1μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 223±3μs              | 223±2μs             | 1.00    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.41±0.03ms          | 2.40±0.04ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 72.7±0.4μs           | 73.7±0.3μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 104±1μs              | 106±0.6μs           | 1.02    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 314±4μs              | 316±1μs             | 1.01    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.33±0.04ms          | 5.25±0.06ms         | 0.99    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.8±0.4μs           | 68.8±0.5μs          | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 236±2μs              | 234±2μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 110±0.9μs           | 0.97    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±2μs              | 111±0.7μs           | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 189±2μs              | 188±2μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 670±7μs              | 674±3μs             | 1.01    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 159±1μs              | 157±2μs             | 0.99    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 120±1μs              | 120±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 439±2μs              | 437±2μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 196±2μs              | 195±2μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.3±0.3μs           | 79.3±0.3μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±2μs              | 150±1μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 129±0.7μs            | 131±1μs             | 1.02    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.6±0.3μs           | 71.0±0.5μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.0±0.9μs           | 77.5±0.4μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 872±4μs              | 868±4μs             | 1.00    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±0.6μs            | 127±0.9μs           | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 159±2μs              | 159±1μs             | 1.00    | import_iris.Iris.time_io_format_picker                                                               |
|          | 195±4μs              | 194±2μs             | 0.99    | import_iris.Iris.time_iris                                                                           |
|          | 119±1μs              | 117±0.4μs           | 0.99    | import_iris.Iris.time_iterate                                                                        |
|          | 8.10±0.08ms          | 8.10±0.03ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 297±6μs              | 302±1μs             | 1.02    | import_iris.Iris.time_plot                                                                           |
|          | 94.6±1μs             | 92.9±0.5μs          | 0.98    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.93±0.01ms          | 1.89±0.01ms         | 0.98    | import_iris.Iris.time_std_names                                                                      |
|          | 1.69±0.01ms          | 1.71±0.01ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 42.2±4ms             | 42.8±1ms            | 1.01    | import_iris.Iris.time_tests                                                                          |
|          | 221±3μs              | 217±2μs             | 0.98    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.77±0.03ms          | 4.81±0.03ms         | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 104±2μs              | 104±0.7μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.65±0.01ms          | 2.65±0.01ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.00±0ms             | 1.01±0ms            | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 151±2μs              | 155±1μs             | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 91.6±2μs             | 91.1±1μs            | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 284±3μs              | 284±3μs             | 1.00    | import_iris.Iris.time_util                                                                           |
|          | 83.1±0.5μs           | 81.5±0.5μs          | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.39±0.04ms          | 7.82±0.04ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.0±0.2ms           | 22.9±0.2ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.08±0.1ms           | 8.57±0.08ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.44±0.08ms          | 7.77±0.03ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.1±0.2ms           | 20.1±0.1ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.03±0.1ms           | 8.72±0.1ms          | 1.09    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.24±0.01s           | 1.31±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 18.9±0.09ms          | 19.2±0.1ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.38±0.01s           | 1.46±0s             | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.22±0.01s           | 1.31±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 18.9±0.08ms          | 19.1±0.1ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.37±0.01s           | 1.46±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.53±0.03ms          | 3.77±0.03ms         | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.5±0.1ms           | 18.5±0.1ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.84±0.02ms          | 4.02±0.03ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.58±0.03ms          | 3.76±0.02ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.5±0.1ms           | 18.6±0.3ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.81±0.04ms          | 4.00±0.01ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 32.0±2ms             | 32.5±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 18.2±0.5ms           | 18.9±0.6ms          | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.4±2ms             | 13.7±2ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.0±1ms             | 25.8±1ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.1±1ms             | 70.7±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.2±2ms             | 25.4±0.9ms          | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 372±2ms              | 433±2ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.66±0.08ms          | 2.75±0.1ms          | 1.03    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 378±1ms              | 438±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 378±2ms              | 441±2ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.66±0.1ms           | 2.78±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 384±3ms              | 442±2ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.39±0.07ms          | 1.54±0.07ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.60±0.07ms          | 2.75±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.34±0.06ms          | 1.54±0.05ms         | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.34±0.09ms          | 1.54±0.07ms         | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.75±0.07ms          | 2.78±0.06ms         | 1.01    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.39±0.07ms          | 1.56±0.08ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 331±2ms              | 334±3ms             | 1.01    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.57±0.08ms          | 7.91±0.04ms         | 1.04    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.29±0.06ms          | 8.76±0.03ms         | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.25±0.01s           | 1.31±0.01s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.40±0.01s           | 1.49±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.62±0.02ms          | 3.81±0.02ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.88±0.02ms          | 4.10±0.01ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.39±0.05ms          | 7.80±0.06ms         | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.11±0.04ms          | 4.53±0.02ms         | 1.10    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.22±0.01s           | 1.29±0.01s          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.55±0.02ms          | 3.75±0.01ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.20±0.04ms          | 3.43±0.05ms         | 1.07    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 131±2ms              | 136±1ms             | 1.04    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.8±0.3ms           | 22.0±0.2ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 143±1ms              | 152±2ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.2±0.4ms           | 27.5±0.4ms          | 1.05    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.4±0.2ms           | 21.6±0.2ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.3±0.2ms           | 29.5±0.2ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.2±0.3ms           | 16.9±0.2ms          | 1.04    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.3±0.5ms           | 38.5±0.5ms          | 1.09    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.4±0.4ms           | 13.6±0.2ms          | 1.02    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.1±0.6ms           | 21.1±0.4ms          | 1.05    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.3ms           | 16.9±0.4ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.8±0.2ms           | 19.9±0.6ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.1±0.2ms           | 13.6±0.3ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.5±0.3ms           | 16.4±0.7ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.1±0.2ms           | 18.0±0.6ms          | 1.05    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 42.4±0.4ms           | 47.0±0.7ms          | 1.11    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.5±0.4ms           | 17.7±0.2ms          | 1.01    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.3±0.3ms           | 21.6±0.6ms          | 1.06    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.49±0.05ms          | 2.57±0.03ms         | 1.03    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.16±0.06ms          | 5.35±0.1ms          | 1.04    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 36.5±0.7ms           | 37.3±0.6ms          | 1.02    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 786±4ms              | 800±4ms             | 1.02    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 103±0.4ns            | 103±2ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 901±6ns              | 910±9ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±2ns              | 103±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 898±7ns              | 906±9ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±1ns              | 105±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.01μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 103±0.6ns            | 103±0.8ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.07±0.01μs          | 1.08±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±0.6ns            | 103±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.03±0.02μs          | 994±10ns            | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 103±0.6ns            | 105±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.13±0.01μs          | 1.15±0.02μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1000±10ns            | 989±10ns            | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.69±0.01μs          | 6.70±0.04μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.1±0.4μs           | 64.4±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.01±0.02μs          | 973±5ns             | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.69±0.09μs          | 6.70±0.08μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.2±0.1μs           | 64.5±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.04±0.01μs          | 1.02±0μs            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.12±0.09μs          | 7.30±0.09μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.0±0.2μs           | 68.8±0.3μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.09±0.01μs          | 1.06±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.55±0.05μs          | 7.60±0.04μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.3±0.5μs           | 72.8±0.6μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.01μs          | 1.02±0.01μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.18±0.1μs           | 7.16±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.0±1μs             | 69.3±0.7μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.13±0.02μs          | 1.09±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.03±0.07μs          | 8.00±0.06μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.1±0.3μs           | 76.4±1μs            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±0.9ns            | 108±2ns             | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 108±0.5ns            | 109±0.8ns           | 1.01    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 968±6ns              | 958±20ns            | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 108±4ns              | 111±3ns             | 1.03    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 107±0.8ns            | 108±1ns             | 1.00    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±0.7ns            | 108±1ns             | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 701±10ns             | 691±10ns            | 0.99    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 115±3ns              | 118±2ns             | 1.02    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.51±0.03μs          | 3.44±0.03μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.43±0.01μs          | 4.31±0.05μs         | 0.97    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.28±0.03μs          | 4.23±0.03μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 569±4ns              | 539±5ns             | 0.95    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 414±3ns              | 417±6ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 440±4ns              | 433±3ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 364±3ms              | 366±1ms             | 1.01    | plot.AuxSort.time_aux_sort                                                                           |
|          | 76.1±3ms             | 74.9±3ms            | 0.98    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.5±0.9ms           | 96.7±0.7ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 47.9±2ms             | 48.4±1ms            | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.70±0.02ms          | 4.11±0.05ms         | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 85.8±0.7ms           | 92.3±0.7ms          | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.8±1ms             | 53.9±0.5ms          | 1.00    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 579±3ms              | 588±5ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 101±0.6ns            | 101±0.2ns           | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 71.1±0.4ms           | 76.9±0.6ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±1ns              | 101±0.5ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 511±3ms              | 515±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.2±1ms             | 40.8±1ms            | 1.13    | stats.PearsonR.time_lazy                                                                             |
|          | 18.9±0.3ms           | 18.6±0.3ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 23.2±0.4ms           | 23.0±0.9ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 58.3±0.5ms           | 58.8±0.3ms          | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [9c431a01]    | After [74d0f528]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.51±0.02ms          | 1.87±0.02ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.62±0.03ms          | 3.25±0.04ms         |    1.24 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 249±4μs              | 354±3μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 299±4μs              | 401±5μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±9μs              | 397±8μs             |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 334±10μs             | 444±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 282±4ms              | 349±5ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8328312970

github-actions[bot] avatar Mar 18 '24 15:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: d45d46a9

Performance shifts
| Change   | Before [cbb08457]    | After [d45d46a9]    |   Ratio | Benchmark (Parameter)             |
|----------|----------------------|---------------------|---------|-----------------------------------|
| -        | 51.9±5μs             | 42.1±3μs            |    0.81 | cube.MeshCoord.time_remove(10000) |
| Change   | Before [cbb08457]    | After [d45d46a9]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.02ms          | 1.85±0.02ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 252±2μs              | 357±10μs            |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±4μs              | 407±3μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±5μs              | 405±10μs            |    1.4  | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 339±10μs             | 446±8μs             |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 286±3ms              | 352±3ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have improved:

| Change   | Before [cbb08457]    | After [d45d46a9]    |   Ratio | Benchmark (Parameter)             |
|----------|----------------------|---------------------|---------|-----------------------------------|
| -        | 51.9±5μs             | 42.1±3μs            |    0.81 | cube.MeshCoord.time_remove(10000) |

Benchmarks that have stayed the same:

| Change   | Before [cbb08457]    | After [d45d46a9]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.35±0.04μs          | 4.33±0.1μs          | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.90±0.02μs          | 4.98±0.1μs          | 1.02    | coords.AncillaryVariable.time_create                                                                 |
|          | 424±3ns              | 419±7ns             | 0.99    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.96±0.07μs          | 8.86±0.1μs          | 0.99    | coords.AuxCoord.time_create                                                                          |
|          | 404±4ns              | 403±7ns             | 1.00    | coords.AuxCoord.time_points                                                                          |
|          | 229±20μs             | 252±20μs            | 1.10    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.6±0.7μs           | 13.3±0.6μs          | 1.05    | coords.AuxCoordLazy.time_create                                                                      |
|          | 223±20μs             | 249±20μs            | 1.11    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.35±0.04μs          | 5.33±0.06μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.11±0.03μs          | 1.13±0.03μs         | 1.02    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±2μs              | 110±0.8μs           | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 32.0±0.4μs           | 32.1±0.4μs          | 1.00    | coords.DimCoord.time_regular                                                                         |
|          | 383±3ms              | 380±3ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.6±0.4μs           | 58.6±0.4μs          | 0.98    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.2±0.2μs           | 11.4±0.2μs          | 1.01    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.5±0.9μs           | 67.8±0.4μs          | 1.01    | cube.AuxCoord.time_add                                                                               |
|          | 9.56±0.06μs          | 9.51±0.2μs          | 1.00    | cube.AuxCoord.time_create                                                                            |
|          | 5.98±0.08μs          | 5.96±0.03μs         | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.49±0.08μs          | 4.50±0.06μs         | 1.00    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.8±0.3μs           | 40.2±0.3μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.0±0.4μs           | 12.3±0.2μs          | 1.03    | cube.AuxFactory.time_create                                                                          |
|          | 59.0±0.9μs           | 59.3±0.4μs          | 1.00    | cube.CellMeasure.time_add                                                                            |
|          | 11.3±0.3μs           | 11.5±0.2μs          | 1.02    | cube.CellMeasure.time_create                                                                         |
|          | 52.3±0.3μs           | 52.0±0.4μs          | 0.99    | cube.CellMethod.time_add                                                                             |
|          | 7.27±0.03μs          | 7.31±0.1μs          | 1.01    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.3ms            | 131±0.6ms           | 1.01    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.81±0.03μs          | 6.64±0.05μs         | 0.97    | cube.Cube.time_basic                                                                                 |
|          | 57.9±0.4ns           | 57.9±0.2ns          | 1.00    | cube.Cube.time_rename                                                                                |
|          | 61.4±0.2μs           | 61.9±1μs            | 1.01    | cube.Equality.time_equality                                                                          |
|          | 331±3ms              | 332±2ms             | 1.00    | cube.Merge.time_merge                                                                                |
|          | 26.8±0.9μs           | 26.9±1μs            | 1.00    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 29.9±2μs             | 29.7±1μs            | 0.99    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.0±0.8μs           | 24.7±0.9μs          | 0.99    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.6±0.3μs           | 19.4±0.2μs          | 0.99    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.4±0.5μs           | 19.4±0.2μs          | 1.00    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.8±0.2μs           | 18.5±0.2μs          | 0.98    | cube.MeshCoord.time_create(6)                                                                        |
|          | 60.4±4μs             | 60.5±3μs            | 1.00    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 43.2±4μs             | 40.6±3μs            | 0.94    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.03±0.2ms           | 2.41±0.2ms          | 1.19    | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 620±6ns              | 605±5ns             | 0.98    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 622±4ns              | 595±4ns             | 0.96    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.6±1ms             | 23.3±2ms            | 1.13    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.28±0.02ms          | 2.65±0.02ms         | 1.16    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.4±3ms             | 27.9±3ms            | ~1.24   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.37±0.06ms          | 3.96±0.03ms         | 1.18    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.45±0.07ms          | 3.95±0.09ms         | 1.14    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 2.68±0.03ms          | 3.21±0.05ms         | 1.20    | experimental.ugrid.ConnectivityLazy.time_create(6)                                                   |
|          | 237±5μs              | 255±5μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 234±4μs              | 251±5μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.2±0.3ms           | 20.1±0.8ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.48±0.04ms          | 2.95±0.04ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 21.6±0.4ms           | 23.5±0.6ms          | 1.09    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.61±0.05ms          | 4.28±0.04ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.07μs          | 12.7±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.93±0.02μs          | 4.77±0.05μs         | 0.97    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.94±0.03μs          | 4.81±0.04μs         | 0.97    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.16±0.08μs          | 4.96±0.08μs         | 0.96    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.12±0.1μs           | 4.96±0.1μs          | 0.97    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.89±0.1μs           | 5.79±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.85±0.07μs          | 5.82±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.5±0.8μs           | 46.6±0.8μs          | 1.00    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 71.9±2ms             | 72.3±2ms            | 1.01    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 277±4μs              | 273±5μs             | 0.98    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.04±0.1μs           | 4.87±0.08μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.98±0.1μs           | 4.93±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.42±0.08μs          | 7.31±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.50±0.1μs           | 7.25±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 9.91±0.09μs          | 10.5±0.09μs         | 1.06    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 118±1ms              | 118±2ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.32±0.04μs          | 5.47±0.07μs         | 1.03    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.24±0.03ms          | 3.67±0.05ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.26±0.04ms          | 3.65±0.02ms         | 1.12    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 202±3μs              | 202±2μs             | 1.00    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.58±0.06μs          | 3.59±0.04μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.14±0.05μs          | 4.16±0.03μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.92±0.02μs          | 2.91±0.03μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.81±0.06ms          | 7.31±0.07ms         | 1.07    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 118±2ms              | 118±2ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.6±0.4μs           | 11.8±0.5μs          | 1.02    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.25±0.03ms          | 3.68±0.05ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.29±0.04ms          | 3.68±0.05ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 240±10μs             | 240±10μs            | 1.00    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.38±0.06ms          | 2.46±0.07ms         | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.41±0.08ms          | 4.45±0.09ms         | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.98±0.4μs           | 7.98±0.4μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.9±1μs             | 32.6±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.3±0.7μs           | 18.6±0.8μs          | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.7±0.9μs           | 15.3±0.5μs          | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.6±0.5μs           | 16.7±0.6μs          | 1.01    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.1±0.4μs           | 16.0±0.5μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.2±0.6μs           | 18.9±0.6μs          | 0.99    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.8±0.6μs           | 18.8±0.4μs          | 1.00    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.1±2μs             | 76.6±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 71.1±1ms             | 73.6±2ms            | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 342±9μs              | 342±20μs            | 1.00    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 17.8±0.4μs           | 18.1±0.6μs          | 1.02    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.9±0.4μs           | 16.6±0.5μs          | 0.98    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.9±1μs             | 31.0±0.9μs          | 0.97    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.1±0.7μs           | 29.8±0.9μs          | 1.03    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 512±8ns              | 496±5ns             | 0.97    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 248±2ms              | 247±2ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.5±0.1ms           | 13.5±0.1ms          | 1.18    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.7±1ms             | 15.2±0.3ms          | 1.11    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 124±1ms              | 132±0.7ms           | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 728±3ms              | 730±5ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 85.7±0.4ms           | 94.5±0.6ms          | 1.10    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 679±3ms              | 685±3ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 567±5μs              | 575±10μs            | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 163±2μs              | 164±0.9μs           | 1.01    | import_iris.Iris.time__constraints                                                                   |
|          | 101±0.7μs            | 102±1μs             | 1.02    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.9±0.7μs           | 84.6±0.8μs          | 1.00    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.9μs            | 108±2μs             | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 790±10μs             | 794±7μs             | 1.01    | import_iris.Iris.time__merge                                                                         |
|          | 71.8±0.5μs           | 71.7±0.7μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 432±5μs              | 431±3μs             | 1.00    | import_iris.Iris.time_analysis                                                                       |
|          | 127±1μs              | 132±1μs             | 1.04    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 97.6±1μs             | 98.8±2μs            | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 218±1μs              | 216±2μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 168±0.9μs            | 177±5μs             | 1.05    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±0.6μs            | 101±1μs             | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 125±1μs              | 128±0.6μs           | 1.02    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 285±5μs              | 284±2μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.8±0.3μs           | 85.1±1μs            | 1.02    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 202±5μs              | 196±3μs             | 0.97    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.0±0.3μs           | 90.1±0.9μs          | 1.00    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 165±1μs              | 169±4μs             | 1.02    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 266±4μs              | 265±2μs             | 0.99    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.6±0.5μs           | 81.0±0.3μs          | 1.02    | import_iris.Iris.time_common                                                                         |
|          | 150±1μs              | 152±2μs             | 1.01    | import_iris.Iris.time_common_lenient                                                                 |
|          | 872±6μs              | 881±5μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±0.9μs            | 124±1μs             | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.02±0.01ms          | 1.03±0ms            | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 186±1μs              | 185±3μs             | 0.99    | import_iris.Iris.time_config                                                                         |
|          | 105±0.5μs            | 108±3μs             | 1.03    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 319±2μs              | 322±6μs             | 1.01    | import_iris.Iris.time_coord_systems                                                                  |
|          | 642±10μs             | 631±3μs             | 0.98    | import_iris.Iris.time_coords                                                                         |
|          | 580±6μs              | 591±4μs             | 1.02    | import_iris.Iris.time_cube                                                                           |
|          | 203±2μs              | 206±2μs             | 1.01    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.3±0.5μs           | 73.2±1μs            | 1.01    | import_iris.Iris.time_experimental                                                                   |
|          | 199±5μs              | 193±1μs             | 0.97    | import_iris.Iris.time_fileformats                                                                    |
|          | 227±3μs              | 225±2μs             | 0.99    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.43±0.02ms          | 2.41±0.03ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.5±0.3μs           | 74.3±1μs            | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 107±0.5μs            | 107±0.6μs           | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 313±3μs              | 315±1μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.26±0.03ms          | 5.31±0.04ms         | 1.01    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.4±0.08μs          | 69.8±1μs            | 1.02    | import_iris.Iris.time_fileformats_name                                                               |
|          | 241±5μs              | 235±3μs             | 0.98    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 111±1μs             | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±0.9μs            | 114±1μs             | 1.02    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 189±2μs              | 188±2μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 669±4μs              | 688±8μs             | 1.03    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 159±1μs              | 161±2μs             | 1.01    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±2μs              | 122±2μs             | 0.99    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 445±2μs              | 442±3μs             | 0.99    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 196±2μs              | 195±2μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.0±0.9μs           | 79.8±0.5μs          | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 150±1μs              | 149±1μs             | 0.99    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 131±0.9μs            | 132±1μs             | 1.01    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.8±0.6μs           | 71.5±0.5μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.9±0.2μs           | 78.4±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 886±10μs             | 861±3μs             | 0.97    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±0.9μs            | 128±1μs             | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 160±3μs              | 159±2μs             | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 196±2μs              | 193±2μs             | 0.98    | import_iris.Iris.time_iris                                                                           |
|          | 121±1μs              | 119±1μs             | 0.99    | import_iris.Iris.time_iterate                                                                        |
|          | 8.14±0.06ms          | 8.25±0.1ms          | 1.01    | import_iris.Iris.time_palette                                                                        |
|          | 304±6μs              | 302±2μs             | 0.99    | import_iris.Iris.time_plot                                                                           |
|          | 94.3±1μs             | 93.2±1μs            | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.02ms          | 1.89±0.03ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.01ms          | 1.72±0.02ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 94.3±2ms             | 93.4±1ms            | 0.99    | import_iris.Iris.time_tests                                                                          |
|          | 219±2μs              | 219±2μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.79±0.02ms          | 4.85±0.04ms         | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±1μs              | 103±0.7μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.68±0.02ms          | 2.65±0.02ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0ms             | 1.01±0.01ms         | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 152±0.6μs            | 155±0.8μs           | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 91.8±1μs             | 91.3±0.9μs          | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 296±7μs              | 283±3μs             | 0.96    | import_iris.Iris.time_util                                                                           |
|          | 82.7±1μs             | 80.9±0.6μs          | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.45±0.07ms          | 7.84±0.08ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.3±0.4ms           | 23.0±0.1ms          | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.18±0.08ms          | 8.66±0.2ms          | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.37±0.2ms           | 7.86±0.03ms         | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.0±0.1ms           | 20.3±0.1ms          | 1.02    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.32±0.1ms           | 8.58±0.04ms         | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.25±0.01s           | 1.34±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.0±0.05ms          | 19.5±0.2ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0.01s           | 1.49±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.24±0.02s           | 1.33±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.2±0.1ms           | 19.5±0.2ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.39±0.02s           | 1.50±0.01s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.64±0.02ms          | 3.82±0.05ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 19.2±0.3ms           | 18.8±0.1ms          | 0.98    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.84±0.02ms          | 4.06±0.04ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.58±0.05ms          | 3.78±0.01ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.6±0.1ms           | 18.8±0.2ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.83±0.02ms          | 4.06±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 31.9±2ms             | 32.6±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.1±0.6ms           | 19.3±0.1ms          | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 12.8±2ms             | 13.3±3ms            | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.6±2ms             | 25.6±1ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.3±1ms             | 70.6±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.2±2ms             | 25.7±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 374±2ms              | 436±4ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.72±0.1ms           | 2.75±0.08ms         | 1.01    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 382±2ms              | 443±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 381±2ms              | 440±2ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.79±0.1ms           | 2.80±0.1ms          | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 387±3ms              | 447±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.37±0.09ms          | 1.54±0.09ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.71±0.2ms           | 2.78±0.06ms         | 1.03    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.42±0.07ms          | 1.53±0.08ms         | 1.08    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.39±0.08ms          | 1.55±0.07ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.77±0.09ms          | 2.84±0.1ms          | 1.02    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.41±0.07ms          | 1.56±0.07ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 332±3ms              | 334±3ms             | 1.01    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.60±0.06ms          | 8.01±0.05ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.44±0.2ms           | 8.82±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.26±0.01s           | 1.33±0.02s          | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.40±0.01s           | 1.51±0.02s          | 1.08    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.67±0.03ms          | 3.87±0.05ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.92±0.02ms          | 4.11±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.48±0.04ms          | 7.91±0.06ms         | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.18±0.02ms          | 4.58±0.04ms         | 1.10    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.23±0.02s           | 1.32±0.02s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.59±0.04ms          | 3.79±0.02ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.35±0.06ms          | 3.43±0.04ms         | 1.02    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 129±3ms              | 138±0.7ms           | 1.07    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.9±0.2ms           | 22.2±0.1ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 143±2ms              | 154±1ms             | 1.07    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.3±0.5ms           | 28.2±0.5ms          | 1.07    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.6±0.1ms           | 21.9±0.2ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.7±0.5ms           | 30.0±0.2ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.3±0.3ms           | 16.9±0.2ms          | 1.04    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.8±0.6ms           | 38.6±0.6ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.2±0.2ms           | 13.6±0.2ms          | 1.04    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 19.9±0.3ms           | 21.0±0.4ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.2ms           | 16.9±0.3ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.8±0.2ms           | 19.3±0.2ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.1±0.4ms           | 13.5±0.2ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.6±0.2ms           | 15.9±0.2ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.6±0.3ms           | 18.0±0.3ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 43.1±1ms             | 46.5±0.8ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.3±0.2ms           | 17.9±0.3ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.4±0.4ms           | 21.3±0.4ms          | 1.04    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.48±0.03ms          | 2.58±0.06ms         | 1.04    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.17±0.05ms          | 5.26±0.9ms          | 1.02    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 37.3±0.5ms           | 36.7±0.4ms          | 0.98    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 800±5ms              | 799±4ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.3ns            | 104±1ns             | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 905±5ns              | 919±7ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±2ns              | 102±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 907±20ns             | 916±10ns            | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±1ns              | 103±1ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 994±10ns             | 1.02±0μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±1ns              | 105±2ns             | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.06±0.01μs          | 1.09±0.01μs         | 1.04    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±1ns              | 103±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 991±6ns              | 1.02±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±1ns              | 104±2ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.12±0.01μs          | 1.16±0.02μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.05±0.02μs          | 1.00±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.85±0.1μs           | 6.90±0.09μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.8±1μs             | 67.2±2μs            | 1.05    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.02±0.01μs          | 992±8ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.79±0.1μs           | 6.94±0.2μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 64.1±1μs             | 66.2±2μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.02μs          | 1.05±0.02μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.24±0.1μs           | 7.34±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 68.1±1μs             | 72.6±2μs            | 1.07    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.11±0.01μs          | 1.10±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.70±0.09μs          | 7.78±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.9±2μs             | 73.7±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.05±0.03μs          | 1.06±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.28±0.2μs           | 7.27±0.07μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.8±1μs             | 70.2±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.16±0.01μs          | 1.13±0.02μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.20±0.2μs           | 8.35±0.2μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 78.1±1μs             | 80.4±2μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±0.5ns            | 108±1ns             | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 106±0.3ns            | 107±0.6ns           | 1.01    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 966±10ns             | 957±9ns             | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 106±0.3ns            | 107±0.6ns           | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 107±1ns              | 107±0.7ns           | 1.00    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 107±0.2ns            | 107±0.6ns           | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 689±8ns              | 690±10ns            | 1.00    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 115±0.4ns            | 115±2ns             | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.44±0.03μs          | 3.49±0.01μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.33±0.08μs          | 4.34±0.04μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.24±0.02μs          | 4.28±0.04μs         | 1.01    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 555±10ns             | 544±4ns             | 0.98    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 412±2ns              | 415±4ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 444±9ns              | 432±2ns             | 0.97    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 364±2ms              | 365±2ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 77.6±5ms             | 77.5±5ms            | 1.00    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.5±0.7ms           | 96.9±0.7ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 48.7±2ms             | 48.6±2ms            | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.75±0.05ms          | 4.10±0.03ms         | 1.09    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 86.9±0.9ms           | 93.5±0.7ms          | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.3±0.5ms           | 54.6±1ms            | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 583±3ms              | 591±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±0.8ns            | 101±0.7ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 71.8±0.7ms           | 77.9±0.6ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 104±1ns              | 102±1ns             | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 512±4ms              | 521±3ms             | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 35.7±1ms             | 40.9±1ms            | 1.15    | stats.PearsonR.time_lazy                                                                             |
|          | 18.9±0.3ms           | 18.7±0.1ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 23.3±0.9ms           | 22.9±0.5ms          | 0.98    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.4±0.3ms           | 59.7±0.4ms          | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [cbb08457]    | After [d45d46a9]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.02ms          | 1.85±0.02ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 252±2μs              | 357±10μs            |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±4μs              | 407±3μs             |    1.34 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±5μs              | 405±10μs            |    1.4  | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 339±10μs             | 446±8μs             |    1.32 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 286±3ms              | 352±3ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8342191015

github-actions[bot] avatar Mar 19 '24 12:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: c70e0e69

Performance shifts
| Change   | Before [cbb08457]    | After [c70e0e69]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.51±0.02ms          | 1.83±0.01ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.61±0.04ms          | 3.23±0.07ms         |    1.24 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±5μs              | 363±5μs             |    1.45 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 298±2μs              | 406±7μs             |    1.36 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 299±10μs             | 403±8μs             |    1.35 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 342±9μs              | 465±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 288±2ms              | 356±5ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [cbb08457]    | After [c70e0e69]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.36±0.08μs          | 4.34±0.05μs         | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.94±0.1μs           | 4.92±0.06μs         | 1.00    | coords.AncillaryVariable.time_create                                                                 |
|          | 430±3ns              | 422±3ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.83±0.09μs          | 8.81±0.1μs          | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 412±6ns              | 407±5ns             | 0.99    | coords.AuxCoord.time_points                                                                          |
|          | 232±20μs             | 253±20μs            | 1.09    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.1±0.5μs           | 13.0±0.7μs          | 0.99    | coords.AuxCoordLazy.time_create                                                                      |
|          | 224±20μs             | 248±20μs            | 1.10    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.36±0.06μs          | 5.39±0.09μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.12±0.04μs          | 1.10±0.02μs         | 0.99    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±0.9μs            | 110±0.8μs           | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 31.1±0.6μs           | 31.7±1μs            | 1.02    | coords.DimCoord.time_regular                                                                         |
|          | 381±4ms              | 378±2ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.8±1μs             | 59.3±0.8μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.5±0.1μs           | 11.6±0.3μs          | 1.01    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.1±0.7μs           | 68.9±0.5μs          | 1.03    | cube.AuxCoord.time_add                                                                               |
|          | 9.69±0.2μs           | 9.50±0.08μs         | 0.98    | cube.AuxCoord.time_create                                                                            |
|          | 6.03±0.2μs           | 6.01±0.04μs         | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.50±0.1μs           | 4.51±0.07μs         | 1.00    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.5±0.5μs           | 40.7±0.3μs          | 1.01    | cube.AuxFactory.time_add                                                                             |
|          | 12.3±0.2μs           | 12.5±0.2μs          | 1.02    | cube.AuxFactory.time_create                                                                          |
|          | 60.2±0.4μs           | 59.3±0.6μs          | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.5±0.1μs           | 11.9±0.2μs          | 1.03    | cube.CellMeasure.time_create                                                                         |
|          | 53.1±0.9μs           | 52.3±0.5μs          | 0.98    | cube.CellMethod.time_add                                                                             |
|          | 7.30±0.06μs          | 7.17±0.05μs         | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.4ms            | 130±0.3ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.76±0.1μs           | 6.74±0.02μs         | 1.00    | cube.Cube.time_basic                                                                                 |
|          | 58.0±0.9ns           | 57.9±0.9ns          | 1.00    | cube.Cube.time_rename                                                                                |
|          | 62.5±1μs             | 62.7±0.8μs          | 1.00    | cube.Equality.time_equality                                                                          |
|          | 339±2ms              | 335±6ms             | 0.99    | cube.Merge.time_merge                                                                                |
|          | 30.1±2μs             | 29.2±2μs            | 0.97    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.1±2μs             | 31.1±2μs            | 1.00    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 29.8±3μs             | 26.7±1μs            | 0.89    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.3±0.4μs           | 19.2±0.2μs          | 1.00    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.5±0.4μs           | 19.3±0.3μs          | 0.99    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.0±0.2μs           | 19.2±0.4μs          | 1.01    | cube.MeshCoord.time_create(6)                                                                        |
|          | 58.4±3μs             | 57.8±4μs            | 0.99    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 63.7±4μs             | 62.5±4μs            | 0.98    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 61.4±5μs             | 57.9±4μs            | 0.94    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.05±0.3ms           | 2.82±0.3ms          | ~1.38   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 608±10ns             | 602±2ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 617±10ns             | 606±10ns            | 0.98    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 23.4±2ms             | 23.5±2ms            | 1.00    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.27±0.02ms          | 2.66±0.05ms         | 1.17    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 23.4±3ms             | 28.6±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.40±0.03ms          | 3.94±0.05ms         | 1.16    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.79±0.2ms           | 4.30±0.2ms          | 1.14    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 244±10μs             | 256±10μs            | 1.05    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 238±7μs              | 249±10μs            | 1.05    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.1±0.4ms           | 20.6±0.6ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.51±0.07ms          | 2.97±0.05ms         | 1.18    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 23.0±0.6ms           | 23.4±0.7ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.64±0.07ms          | 4.24±0.1ms          | 1.17    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.7±0.09μs          | 12.8±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.93±0.06μs          | 4.91±0.07μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.92±0.05μs          | 4.80±0.05μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.11±0.08μs          | 4.96±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.13±0.08μs          | 5.01±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.91±0.07μs          | 5.80±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.82±0.07μs          | 5.85±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.2±0.4μs           | 46.0±0.7μs          | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 79.8±3ms             | 82.1±4ms            | 1.03    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 275±2μs              | 275±1μs             | 1.00    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.00±0.06μs          | 4.86±0.07μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.94±0.05μs          | 4.86±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.48±0.07μs          | 7.29±0.07μs         | 0.97    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.48±0.08μs          | 7.34±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.4±0.1μs           | 10.6±0.2μs          | 1.01    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 126±2ms              | 124±1ms             | 0.99    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.30±0.03μs          | 5.39±0.03μs         | 1.02    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.28±0.05ms          | 3.73±0.06ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.26±0.08ms          | 3.69±0.02ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 204±2μs              | 200±2μs             | 0.98    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.61±0.04μs          | 3.67±0.05μs         | 1.02    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.17±0.07μs          | 4.19±0.02μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.90±0.03μs          | 2.94±0.03μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 7.18±0.3ms           | 7.69±0.2ms          | 1.07    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 125±2ms              | 124±2ms             | 0.99    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 13.0±0.4μs           | 12.8±0.7μs          | 0.98    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.33±0.08ms          | 3.70±0.06ms         | 1.11    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.29±0.09ms          | 3.72±0.06ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 242±8μs              | 241±10μs            | 1.00    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.73±0.1ms           | 2.69±0.2ms          | 0.98    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.84±0.2ms           | 4.80±0.1ms          | 0.99    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 9.23±0.5μs           | 9.04±0.6μs          | 0.98    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.8±2μs             | 32.1±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.9±0.9μs           | 19.7±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 19.7±2μs             | 19.0±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 17.0±0.6μs           | 16.8±2μs            | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 17.8±1μs             | 17.5±0.6μs          | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 20.3±2μs             | 19.1±1μs            | 0.94    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 21.0±1μs             | 20.7±2μs            | 0.99    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.2±4μs             | 77.3±3μs            | 0.98    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 80.4±3ms             | 82.8±3ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 366±9μs              | 368±20μs            | 1.01    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.3±0.7μs           | 18.2±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 19.8±2μs             | 18.8±1μs            | 0.95    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 33.0±2μs             | 31.0±0.8μs          | 0.94    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 33.2±2μs             | 32.1±2μs            | 0.97    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 510±8ns              | 527±4ns             | 1.03    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 249±2ms              | 248±2ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 12.1±0.3ms           | 14.0±0.2ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 14.0±0.5ms           | 15.6±0.2ms          | 1.12    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 130±3ms              | 136±2ms             | 1.05    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 742±6ms              | 749±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 88.5±1ms             | 98.6±1ms            | 1.11    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 690±3ms              | 701±3ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 582±8μs              | 587±10μs            | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 170±2μs              | 171±4μs             | 1.00    | import_iris.Iris.time__constraints                                                                   |
|          | 102±2μs              | 101±2μs             | 0.98    | import_iris.Iris.time__data_manager                                                                  |
|          | 87.8±2μs             | 86.6±1μs            | 0.99    | import_iris.Iris.time__deprecation                                                                   |
|          | 111±0.9μs            | 109±1μs             | 0.98    | import_iris.Iris.time__lazy_data                                                                     |
|          | 822±20μs             | 804±10μs            | 0.98    | import_iris.Iris.time__merge                                                                         |
|          | 72.7±0.5μs           | 72.1±0.8μs          | 0.99    | import_iris.Iris.time__representation                                                                |
|          | 453±20μs             | 451±5μs             | 1.00    | import_iris.Iris.time_analysis                                                                       |
|          | 131±3μs              | 132±3μs             | 1.01    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.9±0.9μs           | 99.6±0.8μs          | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 228±6μs              | 225±4μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 176±6μs              | 173±6μs             | 0.98    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 103±2μs              | 104±3μs             | 1.01    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 127±2μs              | 128±2μs             | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 292±4μs              | 296±5μs             | 1.01    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.6±1μs             | 85.5±2μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 203±7μs              | 197±2μs             | 0.97    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 91.2±1μs             | 91.9±1μs            | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 171±4μs              | 171±4μs             | 1.00    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 294±20μs             | 283±9μs             | 0.96    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.6±0.7μs           | 80.4±0.3μs          | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 156±5μs              | 153±2μs             | 0.98    | import_iris.Iris.time_common_lenient                                                                 |
|          | 912±10μs             | 898±10μs            | 0.98    | import_iris.Iris.time_common_metadata                                                                |
|          | 127±2μs              | 126±2μs             | 0.99    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.06±0.02ms          | 1.04±0.01ms         | 0.98    | import_iris.Iris.time_common_resolve                                                                 |
|          | 191±2μs              | 187±3μs             | 0.98    | import_iris.Iris.time_config                                                                         |
|          | 107±0.9μs            | 108±2μs             | 1.01    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 343±20μs             | 340±6μs             | 0.99    | import_iris.Iris.time_coord_systems                                                                  |
|          | 699±30μs             | 646±10μs            | 0.92    | import_iris.Iris.time_coords                                                                         |
|          | 651±20μs             | 605±9μs             | 0.93    | import_iris.Iris.time_cube                                                                           |
|          | 206±3μs              | 208±1μs             | 1.01    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.8±0.5μs           | 73.1±1μs            | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 198±3μs              | 193±2μs             | 0.98    | import_iris.Iris.time_fileformats                                                                    |
|          | 236±4μs              | 227±5μs             | 0.96    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.56±0.1ms           | 2.48±0.05ms         | 0.97    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.5±0.8μs           | 74.2±0.5μs          | 1.00    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 107±1μs              | 108±2μs             | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 342±20μs             | 328±5μs             | 0.96    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.66±0.2ms           | 5.80±0.2ms          | 1.03    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.4±0.4μs           | 69.5±0.9μs          | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 241±3μs              | 234±2μs             | 0.97    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 114±6μs              | 109±0.9μs           | 0.96    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 115±2μs              | 114±2μs             | 0.99    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 196±3μs              | 190±2μs             | 0.97    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 739±30μs             | 694±10μs            | 0.94    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 161±2μs              | 162±2μs             | 1.00    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 123±2μs              | 123±2μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 445±8μs              | 444±5μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 201±2μs              | 200±3μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 80.7±0.6μs           | 80.4±0.4μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 154±1μs              | 153±3μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 138±3μs              | 134±4μs             | 0.97    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 72.3±0.7μs           | 71.4±0.9μs          | 0.99    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.8±0.6μs           | 77.8±0.5μs          | 0.99    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 886±10μs             | 877±20μs            | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 129±1μs              | 129±0.6μs           | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 170±6μs              | 163±2μs             | 0.96    | import_iris.Iris.time_io_format_picker                                                               |
|          | 198±5μs              | 197±2μs             | 0.99    | import_iris.Iris.time_iris                                                                           |
|          | 121±2μs              | 119±1μs             | 0.99    | import_iris.Iris.time_iterate                                                                        |
|          | 8.30±0.1ms           | 8.29±0.2ms          | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 308±1μs              | 303±3μs             | 0.98    | import_iris.Iris.time_plot                                                                           |
|          | 95.3±1μs             | 94.6±0.6μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 2.10±0.07ms          | 1.93±0.02ms         | 0.92    | import_iris.Iris.time_std_names                                                                      |
|          | 1.71±0.01ms          | 1.75±0.03ms         | 1.02    | import_iris.Iris.time_symbols                                                                        |
|          | 96.9±0.8ms           | 96.7±1ms            | 1.00    | import_iris.Iris.time_tests                                                                          |
|          | 223±3μs              | 220±4μs             | 0.99    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 5.08±0.1ms           | 4.90±0.09ms         | 0.97    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 104±0.6μs            | 105±1μs             | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.82±0.1ms           | 2.72±0.05ms         | 0.96    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0ms             | 1.01±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 153±3μs              | 156±2μs             | 1.03    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 95.0±2μs             | 94.3±1μs            | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 297±4μs              | 290±2μs             | 0.98    | import_iris.Iris.time_util                                                                           |
|          | 85.2±1μs             | 84.9±1μs            | 1.00    | iterate.IZip.time_izip                                                                               |
|          | 7.63±0.2ms           | 7.86±0.06ms         | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.6±0.6ms           | 24.6±0.3ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.13±0.2ms           | 8.75±0.08ms         | 1.08    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.49±0.1ms           | 7.86±0.07ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.5±0.4ms           | 21.0±0.2ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.24±0.1ms           | 8.68±0.1ms          | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.27±0.02s           | 1.33±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 20.2±0.5ms           | 19.7±0.4ms          | 0.98    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.41±0.02s           | 1.50±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.26±0.02s           | 1.33±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.9±0.3ms           | 20.1±0.3ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.40±0.02s           | 1.50±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.66±0.08ms          | 3.77±0.04ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 19.1±0.8ms           | 19.5±0.5ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.85±0.05ms          | 4.06±0.01ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.63±0.05ms          | 3.82±0.07ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 19.0±0.4ms           | 19.5±0.4ms          | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.86±0.08ms          | 4.10±0.06ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 33.4±2ms             | 35.3±2ms            | 1.06    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.8±0.4ms           | 19.7±0.5ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.3±2ms             | 13.6±4ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.7±2ms             | 26.4±2ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 73.0±1ms             | 71.2±2ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.9±3ms             | 26.3±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 392±4ms              | 448±4ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 3.04±0.1ms           | 3.03±0.1ms          | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 398±5ms              | 456±3ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 401±5ms              | 455±2ms             | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 3.05±0.1ms           | 3.14±0.08ms         | 1.03    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 397±5ms              | 458±5ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.40±0.09ms          | 1.65±0.09ms         | 1.18    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 3.00±0.09ms          | 3.09±0.06ms         | 1.03    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.39±0.1ms           | 1.60±0.1ms          | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.41±0.08ms          | 1.61±0.09ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 3.21±0.2ms           | 3.18±0.1ms          | 0.99    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.49±0.09ms          | 1.63±0.07ms         | 1.09    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 331±4ms              | 329±3ms             | 0.99    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.64±0.08ms          | 8.06±0.1ms          | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.35±0.1ms           | 8.92±0.2ms          | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.27±0.01s           | 1.34±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.43±0.01s           | 1.52±0.02s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.72±0.07ms          | 3.84±0.03ms         | 1.03    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.92±0.04ms          | 4.14±0.08ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.42±0.07ms          | 7.86±0.3ms          | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.17±0.03ms          | 4.67±0.2ms          | 1.12    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.24±0.01s           | 1.34±0.01s          | 1.08    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.59±0.02ms          | 3.88±0.07ms         | 1.08    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.30±0.04ms          | 3.49±0.1ms          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 132±1ms              | 142±0.9ms           | 1.08    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.6±0.6ms           | 23.0±1ms            | 1.02    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 148±3ms              | 158±2ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 27.2±0.4ms           | 27.7±0.5ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 23.0±0.3ms           | 23.1±0.3ms          | 1.00    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 29.0±0.5ms           | 30.6±0.5ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 17.8±0.3ms           | 18.1±0.5ms          | 1.01    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 37.6±0.5ms           | 40.3±0.8ms          | 1.07    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 14.2±0.3ms           | 14.4±0.3ms          | 1.02    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 22.1±0.3ms           | 21.8±0.4ms          | 0.99    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 17.6±0.6ms           | 17.7±0.5ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 20.9±0.6ms           | 20.6±0.3ms          | 0.99    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 14.8±0.5ms           | 14.2±0.5ms          | 0.96    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 17.3±0.3ms           | 17.2±0.5ms          | 1.00    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 18.7±0.6ms           | 19.2±0.7ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 45.1±0.8ms           | 48.7±0.9ms          | 1.08    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 19.0±0.3ms           | 18.8±0.5ms          | 0.99    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 22.5±0.4ms           | 22.6±0.6ms          | 1.00    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.89±0.1ms           | 3.01±0.1ms          | 1.04    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.87±0.2ms           | 5.99±0.2ms          | 1.02    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 42.0±1ms             | 42.1±1ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 825±10ms             | 829±5ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±0.4ns            | 104±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 927±20ns             | 930±20ns            | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±0.9ns            | 101±2ns             | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 941±20ns             | 919±9ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 103±0.9ns            | 101±0.8ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.02±0.02μs          | 1.03±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±0.7ns            | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.10±0.02μs          | 1.10±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±1ns              | 103±2ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.03±0.01μs          | 1.01±0.02μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 105±1ns              | 102±1ns             | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.15±0.02μs          | 1.18±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.02μs          | 1.01±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.71±0.04μs          | 6.83±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.2±0.9μs           | 64.4±0.4μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.01±0.02μs          | 987±20ns            | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.80±0.05μs          | 6.71±0.06μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.2±0.5μs           | 63.9±0.4μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.07±0.01μs          | 1.02±0.01μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.11±0.1μs           | 7.33±0.09μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 66.9±2μs             | 69.3±1μs            | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.10±0.02μs          | 1.08±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.66±0.09μs          | 7.63±0.06μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 72.0±1μs             | 72.3±0.6μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.07±0.01μs          | 1.03±0.02μs         | 0.96    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.17±0.08μs          | 7.26±0.09μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.0±2μs             | 68.5±0.6μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.14±0.01μs          | 1.12±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.03±0.07μs          | 8.05±0.1μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.1±1μs             | 75.4±0.4μs          | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 109±0.8ns            | 107±2ns             | 0.99    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 108±2ns              | 107±0.8ns           | 0.99    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 986±10ns             | 960±8ns             | 0.97    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 109±1ns              | 107±2ns             | 0.98    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 108±1ns              | 107±0.6ns           | 0.99    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±2ns              | 108±1ns             | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 705±10ns             | 705±7ns             | 1.00    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 115±0.9ns            | 116±2ns             | 1.01    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.46±0.01μs          | 3.54±0.04μs         | 1.02    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.43±0.09μs          | 4.33±0.03μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.34±0.07μs          | 4.30±0.06μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 561±20ns             | 538±4ns             | 0.96    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 427±9ns              | 418±4ns             | 0.98    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 437±6ns              | 436±2ns             | 1.00    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 372±3ms              | 370±2ms             | 0.99    | plot.AuxSort.time_aux_sort                                                                           |
|          | 81.0±2ms             | 78.3±4ms            | 0.97    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 97.9±1ms             | 96.9±0.6ms          | 0.99    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 50.1±2ms             | 50.9±2ms            | 1.02    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.87±0.1ms           | 4.29±0.09ms         | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 90.2±0.9ms           | 95.6±1ms            | 1.06    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 55.2±1ms             | 55.3±0.6ms          | 1.00    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 597±4ms              | 598±5ms             | 1.00    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 101±1ns              | 100±0.4ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 75.9±1ms             | 80.8±1ms            | 1.06    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 101±1ns              | 101±1ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 524±4ms              | 529±2ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.2±1ms             | 41.4±1ms            | 1.14    | stats.PearsonR.time_lazy                                                                             |
|          | 19.4±0.3ms           | 19.5±0.2ms          | 1.00    | stats.PearsonR.time_real                                                                             |
|          | 23.6±0.6ms           | 22.7±1ms            | 0.96    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.0±0.7ms           | 60.2±0.5ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [cbb08457]    | After [c70e0e69]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.51±0.02ms          | 1.83±0.01ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.61±0.04ms          | 3.23±0.07ms         |    1.24 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±5μs              | 363±5μs             |    1.45 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 298±2μs              | 406±7μs             |    1.36 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 299±10μs             | 403±8μs             |    1.35 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 342±9μs              | 465±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 288±2ms              | 356±5ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8342183996

github-actions[bot] avatar Mar 19 '24 12:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 4804bc0d

Performance shifts
| Change   | Before [cbb08457]    | After [4804bc0d]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.50±0.02ms          | 1.83±0.02ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.31±0.06ms          | 3.97±0.03ms         |    1.2  | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.64±0.04ms          | 3.20±0.03ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 252±2μs              | 359±4μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±5μs              | 409±9μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±6μs              | 401±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±9μs              | 447±20μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 288±6ms              | 354±4ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [cbb08457]    | After [4804bc0d]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.35±0.02μs          | 4.32±0.07μs         | 0.99    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 5.01±0.06μs          | 4.80±0.02μs         | 0.96    | coords.AncillaryVariable.time_create                                                                 |
|          | 424±3ns              | 420±2ns             | 0.99    | coords.AuxCoord.time_bounds                                                                          |
|          | 9.09±0.06μs          | 8.77±0.08μs         | 0.96    | coords.AuxCoord.time_create                                                                          |
|          | 405±4ns              | 402±2ns             | 0.99    | coords.AuxCoord.time_points                                                                          |
|          | 232±20μs             | 252±20μs            | 1.08    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.0±0.8μs           | 13.3±0.6μs          | 1.02    | coords.AuxCoordLazy.time_create                                                                      |
|          | 227±20μs             | 250±20μs            | 1.10    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.38±0.03μs          | 5.25±0.08μs         | 0.98    | coords.CellMeasure.time_create                                                                       |
|          | 1.08±0.01μs          | 1.10±0.01μs         | 1.03    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 109±1μs              | 113±1μs             | 1.03    | coords.DimCoord.time_create                                                                          |
|          | 31.3±0.3μs           | 31.8±0.6μs          | 1.02    | coords.DimCoord.time_regular                                                                         |
|          | 376±5ms              | 380±2ms             | 1.01    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.0±0.5μs           | 58.3±0.4μs          | 0.97    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.4±0.2μs           | 11.5±0.2μs          | 1.01    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.0±0.7μs           | 67.3±0.4μs          | 1.00    | cube.AuxCoord.time_add                                                                               |
|          | 9.58±0.1μs           | 9.50±0.1μs          | 0.99    | cube.AuxCoord.time_create                                                                            |
|          | 6.02±0.04μs          | 6.00±0.04μs         | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.42±0.03μs          | 4.51±0.08μs         | 1.02    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.3±0.3μs           | 40.4±0.5μs          | 1.00    | cube.AuxFactory.time_add                                                                             |
|          | 12.8±0.3μs           | 12.2±0.3μs          | 0.95    | cube.AuxFactory.time_create                                                                          |
|          | 59.2±0.3μs           | 59.0±1μs            | 1.00    | cube.CellMeasure.time_add                                                                            |
|          | 11.5±0.1μs           | 11.5±0.4μs          | 1.01    | cube.CellMeasure.time_create                                                                         |
|          | 52.6±0.5μs           | 51.7±0.3μs          | 0.98    | cube.CellMethod.time_add                                                                             |
|          | 7.33±0.06μs          | 7.18±0.07μs         | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.3ms            | 131±0.6ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.82±0.07μs          | 6.65±0.05μs         | 0.97    | cube.Cube.time_basic                                                                                 |
|          | 57.8±0.5ns           | 58.2±0.3ns          | 1.01    | cube.Cube.time_rename                                                                                |
|          | 61.7±0.7μs           | 62.2±0.4μs          | 1.01    | cube.Equality.time_equality                                                                          |
|          | 331±1ms              | 334±2ms             | 1.01    | cube.Merge.time_merge                                                                                |
|          | 27.9±2μs             | 26.4±1μs            | 0.95    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.2±1μs             | 29.6±1μs            | 0.98    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 24.7±1μs             | 24.8±2μs            | 1.00    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.8±0.3μs           | 19.1±0.3μs          | 0.97    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.5±0.4μs           | 19.1±0.3μs          | 0.98    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.9±0.3μs           | 18.9±0.2μs          | 1.00    | cube.MeshCoord.time_create(6)                                                                        |
|          | 44.8±5μs             | 42.8±4μs            | 0.95    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 59.9±3μs             | 60.2±5μs            | 1.01    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 41.7±3μs             | 40.2±3μs            | 0.96    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.01±0.2ms           | 2.51±0.09ms         | ~1.25   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 605±7ns              | 602±3ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 607±6ns              | 603±5ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.6±2ms             | 23.5±2ms            | 1.14    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.27±0.01ms          | 2.66±0.01ms         | 1.17    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 23.2±3ms             | 27.2±3ms            | 1.17    | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.45±0.1ms           | 4.03±0.08ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 240±6μs              | 254±8μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 235±7μs              | 247±6μs             | 1.05    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.2±0.6ms           | 20.2±0.4ms          | 1.00    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.54±0.05ms          | 2.89±0.05ms         | 1.14    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.1±0.2ms           | 22.7±0.4ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.64±0.03ms          | 4.27±0.1ms          | 1.17    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.1μs           | 12.6±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.88±0.04μs          | 4.80±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.80±0.03μs          | 4.76±0.03μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.09±0.03μs          | 4.95±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.08±0.1μs           | 5.06±0.07μs         | 1.00    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.84±0.1μs           | 5.80±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.84±0.06μs          | 5.82±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.7±0.5μs           | 45.1±0.5μs          | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 72.1±3ms             | 74.7±3ms            | 1.04    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 279±3μs              | 278±3μs             | 0.99    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.00±0.07μs          | 4.88±0.05μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.94±0.07μs          | 4.91±0.03μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.32±0.1μs           | 7.24±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.25±0.1μs           | 7.17±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.1±0.1μs           | 10.5±0.1μs          | 1.03    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 120±2ms              | 120±1ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.41±0.07μs          | 5.28±0.1μs          | 0.98    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.25±0.06ms          | 3.68±0.04ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.27±0.03ms          | 3.73±0.06ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 205±3μs              | 200±4μs             | 0.98    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.61±0.04μs          | 3.58±0.03μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.15±0.04μs          | 4.16±0.06μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.96±0.03μs          | 2.92±0.04μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.81±0.08ms          | 7.37±0.07ms         | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 119±3ms              | 120±1ms             | 1.01    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.8±0.7μs           | 11.6±0.5μs          | 0.98    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.29±0.05ms          | 3.65±0.08ms         | 1.11    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.30±0.04ms          | 3.66±0.06ms         | 1.11    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 236±9μs              | 238±9μs             | 1.01    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.35±0.08ms          | 2.45±0.07ms         | 1.04    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.48±0.07ms          | 4.56±0.07ms         | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.83±0.4μs           | 7.71±0.5μs          | 0.98    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.1±1μs             | 31.4±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.0±0.8μs           | 19.0±0.8μs          | 1.00    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.1±1μs             | 15.5±1μs            | 1.02    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.8±0.5μs           | 16.7±0.5μs          | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.2±0.6μs           | 15.8±0.3μs          | 0.98    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.7±0.7μs           | 19.0±0.6μs          | 0.96    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.3±0.6μs           | 18.7±0.5μs          | 1.02    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 80.1±2μs             | 76.7±2μs            | 0.96    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 72.4±2ms             | 75.0±1ms            | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 345±20μs             | 334±7μs             | 0.97    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 17.9±0.7μs           | 18.3±0.7μs          | 1.02    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.6±0.4μs           | 16.7±0.6μs          | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.6±0.9μs           | 31.1±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 28.9±0.7μs           | 29.2±0.9μs          | 1.01    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 484±5ns              | 512±5ns             | 1.06    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 248±2ms              | 249±3ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.5±0.3ms           | 13.6±0.3ms          | 1.18    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 14.1±1ms             | 15.3±0.3ms          | 1.08    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 123±0.5ms            | 132±3ms             | 1.07    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 724±4ms              | 733±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 85.7±1ms             | 95.2±2ms            | 1.11    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 681±5ms              | 690±6ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 566±6μs              | 571±3μs             | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 163±2μs              | 164±2μs             | 1.00    | import_iris.Iris.time__constraints                                                                   |
|          | 101±1μs              | 101±1μs             | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.4±0.9μs           | 86.0±0.9μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±1μs              | 109±0.9μs           | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 786±10μs             | 793±10μs            | 1.01    | import_iris.Iris.time__merge                                                                         |
|          | 70.9±0.7μs           | 71.6±0.4μs          | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 426±5μs              | 433±9μs             | 1.02    | import_iris.Iris.time_analysis                                                                       |
|          | 128±1μs              | 133±1μs             | 1.04    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 97.7±0.7μs           | 98.2±1μs            | 1.00    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 220±2μs              | 218±3μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 169±2μs              | 168±2μs             | 0.99    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±1μs              | 101±0.9μs           | 0.99    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 126±0.8μs            | 130±2μs             | 1.03    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 283±3μs              | 288±4μs             | 1.01    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.0±0.9μs           | 84.3±2μs            | 1.00    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 198±2μs              | 197±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 91.3±1μs             | 90.8±1μs            | 0.99    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 163±2μs              | 168±2μs             | 1.03    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 266±5μs              | 269±2μs             | 1.01    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.8±0.3μs           | 80.2±1μs            | 1.01    | import_iris.Iris.time_common                                                                         |
|          | 151±2μs              | 152±4μs             | 1.01    | import_iris.Iris.time_common_lenient                                                                 |
|          | 879±10μs             | 885±3μs             | 1.01    | import_iris.Iris.time_common_metadata                                                                |
|          | 123±1μs              | 124±1μs             | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.01ms          | 1.04±0.02ms         | 1.01    | import_iris.Iris.time_common_resolve                                                                 |
|          | 187±3μs              | 188±3μs             | 1.01    | import_iris.Iris.time_config                                                                         |
|          | 105±0.6μs            | 107±0.8μs           | 1.03    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 314±4μs              | 323±3μs             | 1.03    | import_iris.Iris.time_coord_systems                                                                  |
|          | 628±7μs              | 636±3μs             | 1.01    | import_iris.Iris.time_coords                                                                         |
|          | 583±9μs              | 591±5μs             | 1.01    | import_iris.Iris.time_cube                                                                           |
|          | 203±1μs              | 206±1μs             | 1.01    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.5±0.6μs           | 73.2±0.9μs          | 1.01    | import_iris.Iris.time_experimental                                                                   |
|          | 194±3μs              | 194±1μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 228±4μs              | 228±4μs             | 1.00    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.41±0.03ms          | 2.39±0.02ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.8±1μs             | 74.1±0.6μs          | 1.00    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±1μs              | 107±0.9μs           | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 317±6μs              | 318±3μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.34±0.05ms          | 5.31±0.04ms         | 1.00    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 67.5±0.8μs           | 68.0±0.9μs          | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 238±4μs              | 236±3μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±0.9μs            | 110±1μs             | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 111±0.7μs            | 113±2μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 185±3μs              | 191±4μs             | 1.03    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 683±10μs             | 676±7μs             | 0.99    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 159±1μs              | 162±3μs             | 1.02    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 120±2μs              | 121±0.9μs           | 1.01    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 439±4μs              | 439±4μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 197±3μs              | 195±2μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 78.3±0.4μs           | 79.2±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 150±2μs              | 150±1μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 130±1μs              | 133±3μs             | 1.02    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.3±0.6μs           | 71.5±1μs            | 1.02    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.3±0.8μs           | 77.8±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 868±6μs              | 866±5μs             | 1.00    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 127±0.7μs            | 129±2μs             | 1.02    | import_iris.Iris.time_io                                                                             |
|          | 158±2μs              | 161±4μs             | 1.02    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±1μs              | 195±2μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 117±1μs              | 121±2μs             | 1.03    | import_iris.Iris.time_iterate                                                                        |
|          | 8.17±0.05ms          | 8.17±0.07ms         | 1.00    | import_iris.Iris.time_palette                                                                        |
|          | 301±2μs              | 314±8μs             | 1.04    | import_iris.Iris.time_plot                                                                           |
|          | 93.3±1μs             | 93.0±1μs            | 1.00    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.89±0.01ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.70±0.02ms          | 1.75±0.01ms         | 1.03    | import_iris.Iris.time_symbols                                                                        |
|          | 95.8±0.8ms           | 95.0±1ms            | 0.99    | import_iris.Iris.time_tests                                                                          |
|          | 220±2μs              | 221±3μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.83±0.03ms          | 4.86±0.1ms          | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±1μs              | 105±1μs             | 1.02    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.65±0.02ms          | 2.65±0.01ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.02±0.04ms         | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 153±3μs              | 155±1μs             | 1.01    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 92.8±2μs             | 91.2±0.8μs          | 0.98    | import_iris.Iris.time_time                                                                           |
|          | 285±3μs              | 286±3μs             | 1.00    | import_iris.Iris.time_util                                                                           |
|          | 82.7±0.8μs           | 83.4±1μs            | 1.01    | iterate.IZip.time_izip                                                                               |
|          | 7.34±0.04ms          | 7.74±0.06ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.8±0.4ms           | 23.0±0.2ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.05±0.08ms          | 8.48±0.09ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.53±0.07ms          | 7.76±0.07ms         | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.1±0.1ms           | 20.1±0.3ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.12±0.1ms           | 8.63±0.03ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.23±0.02s           | 1.32±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.1±0.1ms           | 19.4±0.1ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.41±0.01s           | 1.47±0.02s          | 1.04    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.23±0.01s           | 1.32±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.0±0.2ms           | 19.3±0.3ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.01s           | 1.48±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.62±0.04ms          | 3.74±0.06ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.5±0.1ms           | 18.6±0.1ms          | 1.01    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.86±0.06ms          | 4.08±0.02ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.58±0.02ms          | 3.74±0.03ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.5±0.1ms           | 18.9±0.3ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.82±0.06ms          | 4.03±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 32.6±3ms             | 33.1±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 18.9±0.3ms           | 19.5±0.3ms          | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.8±1ms             | 13.7±1ms            | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.4±0.8ms           | 25.5±0.6ms          | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.6±1ms             | 71.1±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.5±1ms             | 27.8±2ms            | 1.09    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 375±3ms              | 435±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.69±0.07ms          | 2.82±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 384±3ms              | 441±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 381±3ms              | 440±2ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.73±0.1ms           | 2.91±0.1ms          | 1.07    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 388±4ms              | 445±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.34±0.09ms          | 1.49±0.05ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.64±0.08ms          | 2.75±0.1ms          | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.36±0.09ms          | 1.54±0.09ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.37±0.06ms          | 1.55±0.09ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.68±0.09ms          | 2.84±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.38±0.06ms          | 1.55±0.06ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 335±6ms              | 333±5ms             | 1.00    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.41±0.07ms          | 7.95±0.03ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.20±0.06ms          | 8.81±0.1ms          | 1.08    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.23±0.01s           | 1.32±0.02s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.40±0.01s           | 1.50±0.01s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.59±0.03ms          | 3.83±0.04ms         | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.91±0.04ms          | 4.11±0.08ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.30±0.1ms           | 7.88±0.1ms          | 1.08    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.17±0.05ms          | 4.62±0.04ms         | 1.11    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.23±0.01s           | 1.31±0.01s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.63±0.06ms          | 3.73±0.02ms         | 1.03    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.22±0.03ms          | 3.42±0.03ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 128±2ms              | 136±2ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.8±0.2ms           | 22.0±0.2ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 142±4ms              | 153±2ms             | 1.08    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.6±0.4ms           | 27.6±0.5ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.9±0.3ms           | 21.7±0.2ms          | 0.99    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.2±0.3ms           | 30.1±0.4ms          | 1.07    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.3ms           | 17.0±0.4ms          | 1.04    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.7±0.6ms           | 38.5±0.5ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.2±0.3ms           | 13.4±0.2ms          | 1.02    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.0±0.5ms           | 21.4±0.5ms          | 1.07    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.3ms           | 16.8±0.2ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.7±0.4ms           | 19.8±0.4ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.2±0.3ms           | 13.5±0.3ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.5±0.2ms           | 16.2±0.2ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.7±0.3ms           | 18.1±0.5ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 42.8±0.7ms           | 46.6±0.7ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.4±0.3ms           | 17.8±0.2ms          | 1.02    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.3±0.3ms           | 21.7±0.6ms          | 1.07    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.51±0.07ms          | 2.67±0.1ms          | 1.06    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.18±0.07ms          | 5.35±0.1ms          | 1.03    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 37.9±0.7ms           | 38.8±1ms            | 1.03    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 810±6ms              | 814±7ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 102±1ns              | 101±0.5ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 913±9ns              | 931±10ns            | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±2ns              | 101±0.4ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 913±8ns              | 923±20ns            | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.6ns            | 102±0.7ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.00±0μs             | 1.01±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.3ns            | 101±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.07±0.01μs          | 1.09±0.02μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±1ns              | 101±0.5ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.00±0.01μs          | 1.01±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 102±0.9ns            | 101±0.2ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.13±0.01μs          | 1.16±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.02±0.01μs          | 1.00±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.80±0.01μs          | 6.75±0.07μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.2±0.2μs           | 63.9±0.7μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.03±0.01μs          | 973±30ns            | 0.95    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.72±0.01μs          | 6.70±0.09μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 62.8±0.2μs           | 64.3±0.7μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.08±0.01μs          | 1.02±0.02μs         | 0.95    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.23±0.1μs           | 7.24±0.1μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.6±0.6μs           | 68.5±0.8μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.12±0μs             | 1.07±0.02μs         | 0.95    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.64±0.04μs          | 7.64±0.09μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.5±0.1μs           | 72.1±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.08±0.01μs          | 1.05±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.34±0.09μs          | 7.09±0.1μs          | 0.97    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.0±0.5μs           | 68.2±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.16±0.01μs          | 1.10±0.02μs         | 0.95    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.04±0.05μs          | 8.06±0.2μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.5±0.3μs           | 77.3±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 106±0.3ns            | 107±0.7ns           | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 106±0.5ns            | 108±0.9ns           | 1.02    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 964±10ns             | 951±7ns             | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 106±0.3ns            | 107±1ns             | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 107±0.3ns            | 108±1ns             | 1.01    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 107±1ns              | 107±2ns             | 1.01    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 721±20ns             | 691±10ns            | 0.96    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 123±9ns              | 118±0.7ns           | 0.96    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.49±0.02μs          | 3.46±0.04μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.41±0.02μs          | 4.34±0.02μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.35±0.05μs          | 4.25±0.04μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 570±20ns             | 545±2ns             | 0.96    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 420±10ns             | 419±3ns             | 1.00    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 444±10ns             | 429±4ns             | 0.97    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 366±1ms              | 369±4ms             | 1.01    | plot.AuxSort.time_aux_sort                                                                           |
|          | 76.4±3ms             | 78.1±1ms            | 1.02    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.1±1ms             | 96.9±0.6ms          | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 49.0±2ms             | 50.2±3ms            | 1.02    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.70±0.01ms          | 4.09±0.04ms         | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 86.8±0.7ms           | 93.5±2ms            | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.7±1ms             | 54.1±0.6ms          | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 585±2ms              | 598±6ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 103±0.6ns            | 102±0.9ns           | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 72.1±1ms             | 77.6±0.8ms          | 1.08    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±0.7ns            | 102±0.7ns           | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 516±3ms              | 523±2ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.4±1ms             | 41.3±1ms            | 1.14    | stats.PearsonR.time_lazy                                                                             |
|          | 18.9±0.2ms           | 19.0±0.3ms          | 1.01    | stats.PearsonR.time_real                                                                             |
|          | 22.9±0.6ms           | 23.8±0.6ms          | 1.04    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.5±0.5ms           | 59.2±0.5ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [cbb08457]    | After [4804bc0d]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.50±0.02ms          | 1.83±0.02ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 3.31±0.06ms          | 3.97±0.03ms         |    1.2  | experimental.ugrid.Connectivity.time_validate_indices(6)   |
| +        | 2.64±0.04ms          | 3.20±0.03ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 252±2μs              | 359±4μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 303±5μs              | 409±9μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±6μs              | 401±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 337±9μs              | 447±20μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 288±6ms              | 354±4ms             |    1.23 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8342242227

github-actions[bot] avatar Mar 19 '24 12:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: f792808e

Performance shifts
| Change   | Before [cbb08457]    | After [f792808e]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 2.01±0.2ms           | 2.51±0.1ms          |    1.25 | experimental.ugrid.Connectivity.time_create(1000000)       |
| +        | 1.52±0.02ms          | 1.85±0.01ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.65±0.05ms          | 3.19±0.04ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 251±6μs              | 359±2μs             |    1.43 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 297±6μs              | 402±3μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 294±8μs              | 401±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 336±10μs             | 449±10μs            |    1.34 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 282±2ms              | 345±4ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [cbb08457]    | After [f792808e]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.35±0.05μs          | 4.34±0.06μs         | 1.00    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.98±0.03μs          | 4.90±0.03μs         | 0.98    | coords.AncillaryVariable.time_create                                                                 |
|          | 430±9ns              | 426±2ns             | 0.99    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.91±0.06μs          | 8.89±0.1μs          | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 409±3ns              | 406±4ns             | 0.99    | coords.AuxCoord.time_points                                                                          |
|          | 229±20μs             | 251±20μs            | 1.10    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.2±0.6μs           | 13.4±0.6μs          | 1.02    | coords.AuxCoordLazy.time_create                                                                      |
|          | 226±20μs             | 250±20μs            | 1.11    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.43±0.03μs          | 5.43±0.04μs         | 1.00    | coords.CellMeasure.time_create                                                                       |
|          | 1.14±0.01μs          | 1.08±0μs            | 0.95    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 111±2μs              | 111±2μs             | 1.00    | coords.DimCoord.time_create                                                                          |
|          | 31.0±0.9μs           | 31.8±0.8μs          | 1.03    | coords.DimCoord.time_regular                                                                         |
|          | 374±1ms              | 376±5ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 60.2±0.7μs           | 59.8±0.5μs          | 0.99    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.8±0.2μs           | 11.3±0.1μs          | 0.96    | cube.AncillaryVariable.time_create                                                                   |
|          | 66.9±0.4μs           | 67.9±0.6μs          | 1.02    | cube.AuxCoord.time_add                                                                               |
|          | 9.48±0.08μs          | 9.59±0.2μs          | 1.01    | cube.AuxCoord.time_create                                                                            |
|          | 6.05±0.07μs          | 6.08±0.1μs          | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.53±0.07μs          | 4.56±0.1μs          | 1.01    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.2±0.4μs           | 39.9±0.5μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.7±0.3μs           | 12.5±0.2μs          | 0.99    | cube.AuxFactory.time_create                                                                          |
|          | 60.1±0.7μs           | 59.5±0.5μs          | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.6±0.4μs           | 11.8±0.2μs          | 1.02    | cube.CellMeasure.time_create                                                                         |
|          | 52.2±0.3μs           | 52.6±0.7μs          | 1.01    | cube.CellMethod.time_add                                                                             |
|          | 7.27±0.04μs          | 7.22±0.08μs         | 0.99    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.2ms            | 130±0.5ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.71±0.05μs          | 6.74±0.05μs         | 1.00    | cube.Cube.time_basic                                                                                 |
|          | 58.0±0.4ns           | 57.7±0.4ns          | 0.99    | cube.Cube.time_rename                                                                                |
|          | 62.8±0.9μs           | 62.5±1μs            | 1.00    | cube.Equality.time_equality                                                                          |
|          | 332±3ms              | 330±2ms             | 0.99    | cube.Merge.time_merge                                                                                |
|          | 27.0±1μs             | 26.4±2μs            | 0.98    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.9±2μs             | 29.9±1μs            | 0.97    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.0±1μs             | 25.1±1μs            | 1.01    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.3±0.3μs           | 20.1±0.3μs          | 1.04    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.6±0.3μs           | 19.6±0.5μs          | 1.00    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.8±0.3μs           | 19.2±0.4μs          | 1.02    | cube.MeshCoord.time_create(6)                                                                        |
|          | 41.9±5μs             | 41.0±4μs            | 0.98    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 60.6±3μs             | 60.8±4μs            | 1.00    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 41.6±2μs             | 41.9±3μs            | 1.01    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 616±9ns              | 611±10ns            | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 620±10ns             | 609±8ns             | 0.98    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 21.1±2ms             | 23.5±2ms            | 1.11    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.23±0.03ms          | 2.67±0.02ms         | 1.20    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.6±2ms             | 27.7±3ms            | ~1.23   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.31±0.06ms          | 3.96±0.02ms         | 1.20    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.38±0.06ms          | 3.97±0.1ms          | 1.18    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 239±7μs              | 256±8μs             | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 236±7μs              | 250±6μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.1±0.5ms           | 20.2±0.5ms          | 1.06    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.52±0.06ms          | 2.90±0.06ms         | 1.15    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.1±0.8ms           | 23.2±0.4ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.61±0.08ms          | 4.26±0.1ms          | 1.18    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.6±0.07μs          | 12.7±0.2μs          | 1.00    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.88±0.02μs          | 4.86±0.05μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.80±0.03μs          | 4.84±0.09μs         | 1.01    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.16±0.04μs          | 5.13±0.3μs          | 0.99    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.07±0.04μs          | 5.18±0.2μs          | 1.02    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.96±0.05μs          | 5.93±0.2μs          | 1.00    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.94±0.08μs          | 5.88±0.2μs          | 0.99    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 45.8±0.9μs           | 47.1±0.8μs          | 1.03    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 70.4±2ms             | 73.1±2ms            | 1.04    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 275±4μs              | 276±4μs             | 1.00    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.02±0.06μs          | 5.06±0.3μs          | 1.01    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.02±0.08μs          | 4.99±0.2μs          | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.39±0.08μs          | 7.42±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.39±0.09μs          | 7.43±0.2μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.1±0.08μs          | 10.6±0.2μs          | 1.05    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 116±1ms              | 120±3ms             | 1.03    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.39±0.06μs          | 5.39±0.1μs          | 1.00    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.19±0.03ms          | 3.66±0.05ms         | 1.15    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.19±0.06ms          | 3.74±0.05ms         | 1.17    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 198±6μs              | 204±2μs             | 1.03    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.63±0.04μs          | 3.63±0.08μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.18±0.04μs          | 4.15±0.08μs         | 0.99    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.96±0.03μs          | 2.97±0.07μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.75±0.06ms          | 7.31±0.1ms          | 1.08    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 117±2ms              | 119±2ms             | 1.02    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 11.6±0.3μs           | 11.6±0.5μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.25±0.05ms          | 3.63±0.04ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.31±0.06ms          | 3.70±0.04ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 238±10μs             | 236±3μs             | 1.00    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.34±0.06ms          | 2.49±0.08ms         | 1.06    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.45±0.1ms           | 4.55±0.1ms          | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.69±0.4μs           | 7.67±0.4μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 33.6±1μs             | 31.7±1μs            | 0.95    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.4±0.8μs           | 18.8±0.9μs          | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 14.9±0.5μs           | 15.1±0.7μs          | 1.01    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.7±0.6μs           | 17.4±1μs            | 1.04    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 15.9±0.3μs           | 16.1±0.3μs          | 1.01    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.2±0.7μs           | 19.1±0.6μs          | 1.00    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.5±0.5μs           | 19.0±0.4μs          | 1.03    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.5±3μs             | 78.6±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 71.4±3ms             | 73.5±2ms            | 1.03    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 347±10μs             | 341±10μs            | 0.98    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.4±0.9μs           | 18.3±0.6μs          | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.9±0.8μs           | 16.9±0.5μs          | 1.00    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.6±1μs             | 31.0±1μs            | 0.98    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.3±1μs             | 29.8±0.7μs          | 1.02    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 496±7ns              | 491±20ns            | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 248±1ms              | 248±1ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.6±0.2ms           | 13.6±0.4ms          | 1.17    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.4±0.7ms           | 15.2±0.2ms          | 1.13    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 124±2ms              | 134±3ms             | 1.08    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 720±3ms              | 736±9ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 84.5±0.8ms           | 95.3±1ms            | 1.13    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 677±4ms              | 688±7ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 570±10μs             | 576±5μs             | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 161±1μs              | 167±2μs             | 1.04    | import_iris.Iris.time__constraints                                                                   |
|          | 100±0.9μs            | 101±2μs             | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 84.6±0.3μs           | 85.8±0.6μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.6μs            | 110±3μs             | 1.01    | import_iris.Iris.time__lazy_data                                                                     |
|          | 800±10μs             | 796±10μs            | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 71.3±0.7μs           | 72.1±1μs            | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 428±4μs              | 434±5μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 127±2μs              | 132±1μs             | 1.04    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 98.2±0.7μs           | 98.8±1μs            | 1.01    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 216±2μs              | 215±3μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 170±4μs              | 170±3μs             | 1.00    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 100±0.6μs            | 100±1μs             | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 125±0.7μs            | 130±2μs             | 1.04    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 283±3μs              | 282±3μs             | 0.99    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.2±0.3μs           | 86.2±2μs            | 1.02    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 200±2μs              | 198±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.1±0.5μs           | 91.1±0.8μs          | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 165±2μs              | 167±2μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 263±4μs              | 265±3μs             | 1.01    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.4±0.7μs           | 80.2±2μs            | 1.00    | import_iris.Iris.time_common                                                                         |
|          | 151±0.5μs            | 152±2μs             | 1.00    | import_iris.Iris.time_common_lenient                                                                 |
|          | 874±10μs             | 889±6μs             | 1.02    | import_iris.Iris.time_common_metadata                                                                |
|          | 122±2μs              | 125±2μs             | 1.02    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.02±0.01ms          | 1.02±0.01ms         | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 185±2μs              | 191±4μs             | 1.03    | import_iris.Iris.time_config                                                                         |
|          | 105±1μs              | 108±0.8μs           | 1.03    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 320±4μs              | 325±7μs             | 1.02    | import_iris.Iris.time_coord_systems                                                                  |
|          | 627±6μs              | 634±5μs             | 1.01    | import_iris.Iris.time_coords                                                                         |
|          | 584±9μs              | 589±7μs             | 1.01    | import_iris.Iris.time_cube                                                                           |
|          | 203±2μs              | 208±2μs             | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.4±0.8μs           | 73.3±0.7μs          | 1.01    | import_iris.Iris.time_experimental                                                                   |
|          | 196±2μs              | 196±3μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 227±3μs              | 223±4μs             | 0.98    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.43±0.01ms          | 2.45±0.06ms         | 1.01    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.4±0.4μs           | 74.5±1μs            | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.6μs            | 107±0.7μs           | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 315±2μs              | 315±3μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.29±0.08ms          | 5.32±0.05ms         | 1.01    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.2±0.8μs           | 70.0±1μs            | 1.01    | import_iris.Iris.time_fileformats_name                                                               |
|          | 233±2μs              | 234±3μs             | 1.00    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 110±1μs             | 0.97    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 113±1μs              | 112±1μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 185±1μs              | 191±0.7μs           | 1.03    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 663±5μs              | 676±10μs            | 1.02    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 158±2μs              | 163±2μs             | 1.03    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 120±0.7μs            | 123±2μs             | 1.02    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 436±4μs              | 440±5μs             | 1.01    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 192±1μs              | 194±3μs             | 1.01    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.0±0.4μs           | 80.9±0.7μs          | 1.02    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 150±3μs              | 151±1μs             | 1.01    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 129±1μs              | 133±2μs             | 1.03    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.2±0.7μs           | 72.2±0.9μs          | 1.03    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 77.6±1μs             | 78.7±0.7μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 873±6μs              | 878±6μs             | 1.01    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±1μs              | 128±2μs             | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 158±2μs              | 159±2μs             | 1.00    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±2μs              | 195±2μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 118±1μs              | 118±1μs             | 1.00    | import_iris.Iris.time_iterate                                                                        |
|          | 8.09±0.07ms          | 8.18±0.07ms         | 1.01    | import_iris.Iris.time_palette                                                                        |
|          | 297±3μs              | 302±4μs             | 1.02    | import_iris.Iris.time_plot                                                                           |
|          | 93.6±1μs             | 94.9±1μs            | 1.01    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.94±0.01ms          | 1.89±0ms            | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.70±0.02ms          | 1.74±0.02ms         | 1.02    | import_iris.Iris.time_symbols                                                                        |
|          | 94.2±0.6ms           | 93.8±1ms            | 1.00    | import_iris.Iris.time_tests                                                                          |
|          | 219±2μs              | 222±2μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.77±0.04ms          | 4.79±0.03ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.9μs            | 103±1μs             | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.66±0.03ms          | 2.66±0.04ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.01±0ms            | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 154±2μs              | 157±1μs             | 1.01    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 91.3±2μs             | 92.5±1μs            | 1.01    | import_iris.Iris.time_time                                                                           |
|          | 283±3μs              | 284±4μs             | 1.00    | import_iris.Iris.time_util                                                                           |
|          | 82.5±2μs             | 82.5±0.6μs          | 1.00    | iterate.IZip.time_izip                                                                               |
|          | 7.38±0.05ms          | 7.87±0.06ms         | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.1±0.8ms           | 23.5±0.8ms          | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.15±0.07ms          | 8.57±0.06ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.37±0.1ms           | 7.79±0.03ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 19.7±0.1ms           | 20.4±0.1ms          | 1.04    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.09±0.05ms          | 8.59±0.1ms          | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.22±0.01s           | 1.32±0.03s          | 1.09    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.1±0.2ms           | 19.7±0.3ms          | 1.03    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.38±0.01s           | 1.48±0.03s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.21±0.01s           | 1.32±0.01s          | 1.09    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.1±0.2ms           | 19.5±0.1ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.36±0.02s           | 1.48±0.01s          | 1.09    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.57±0.02ms          | 3.78±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.4±0.2ms           | 19.0±0.3ms          | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.83±0.01ms          | 4.05±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.59±0.06ms          | 3.79±0.02ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.3±0.1ms           | 19.0±0.2ms          | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.83±0.04ms          | 4.06±0.03ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 33.5±2ms             | 32.8±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 18.3±0.5ms           | 19.1±0.3ms          | 1.04    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.2±2ms             | 13.5±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.2±3ms             | 25.4±1ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.2±1ms             | 70.9±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 24.1±3ms             | 25.6±0.7ms          | 1.06    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 370±4ms              | 434±4ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.65±0.08ms          | 2.81±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 378±4ms              | 438±5ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 378±4ms              | 441±3ms             | 1.17    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.65±0.08ms          | 2.94±0.1ms          | 1.11    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 383±3ms              | 444±4ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.39±0.05ms          | 1.56±0.05ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.61±0.09ms          | 2.88±0.2ms          | 1.10    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.38±0.08ms          | 1.54±0.1ms          | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.35±0.05ms          | 1.50±0.06ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.77±0.05ms          | 2.91±0.07ms         | 1.05    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.43±0.07ms          | 1.61±0.07ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 329±3ms              | 337±3ms             | 1.02    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.47±0.1ms           | 8.01±0.05ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.21±0.05ms          | 8.85±0.07ms         | 1.08    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.23±0.02s           | 1.31±0.02s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.39±0.02s           | 1.51±0.02s          | 1.08    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.60±0.02ms          | 3.83±0.02ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.90±0.03ms          | 4.10±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.44±0.04ms          | 7.85±0.1ms          | 1.06    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.19±0.01ms          | 4.59±0.03ms         | 1.10    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.21±0.01s           | 1.29±0.02s          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.57±0.1ms           | 3.72±0.04ms         | 1.04    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.21±0.02ms          | 3.46±0.04ms         | 1.08    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 127±0.7ms            | 136±3ms             | 1.07    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.7±0.2ms           | 22.5±0.3ms          | 1.04    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 143±2ms              | 154±3ms             | 1.08    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.1±0.2ms           | 28.0±0.4ms          | 1.07    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.4±0.06ms          | 21.9±0.3ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.3±0.4ms           | 30.1±0.5ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.2±0.1ms           | 17.0±0.4ms          | 1.05    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 35.1±0.4ms           | 38.7±0.8ms          | 1.10    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.1±0.3ms           | 13.6±0.3ms          | 1.04    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.0±0.3ms           | 21.3±0.9ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.4ms           | 17.1±0.4ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.7±0.3ms           | 19.3±0.8ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.0±0.3ms           | 13.8±0.3ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.7±0.3ms           | 16.2±0.5ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.2±0.4ms           | 17.8±0.4ms          | 1.03    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 42.6±0.4ms           | 46.8±1ms            | 1.10    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.3±0.3ms           | 17.8±0.3ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.2±0.4ms           | 21.3±0.6ms          | 1.06    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.44±0.05ms          | 2.64±0.1ms          | 1.08    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.11±0.1ms           | 5.29±0.1ms          | 1.04    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 36.6±0.9ms           | 36.6±3ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 804±5ms              | 808±10ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.4ns            | 101±5ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 926±4ns              | 932±7ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±0.6ns            | 102±5ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 918±10ns             | 926±8ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.5ns            | 104±5ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.02±0.01μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 102±1ns              | 103±4ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0.01μs          | 1.11±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 101±0.5ns            | 102±4ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.03±0.01μs          | 1.03±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.8ns            | 102±2ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.15±0.01μs          | 1.18±0.01μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 997±10ns             | 993±40ns            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.74±0.05μs          | 6.78±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 63.2±0.6μs           | 63.7±0.9μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 988±9ns              | 1.00±0.02μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.74±0.07μs          | 6.81±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 63.1±0.6μs           | 65.1±2μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.06±0.02μs          | 1.07±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.27±0.02μs          | 7.43±0.4μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 68.7±0.7μs           | 69.7±2μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.11±0.01μs          | 1.12±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.66±0.1μs           | 7.82±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.9±0.6μs           | 75.4±1μs            | 1.05    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.06±0.01μs          | 1.04±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.28±0.08μs          | 7.38±0.2μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 68.0±0.6μs           | 69.3±3μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.15±0.01μs          | 1.14±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.09±0.06μs          | 8.36±0.1μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 77.0±0.7μs           | 78.6±1μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±1ns              | 108±2ns             | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 107±0.7ns            | 109±1ns             | 1.02    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 974±8ns              | 970±20ns            | 1.00    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 107±0.6ns            | 108±2ns             | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 110±2ns              | 109±2ns             | 0.99    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 109±0.6ns            | 109±1ns             | 1.00    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 705±20ns             | 692±10ns            | 0.98    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 116±2ns              | 117±1ns             | 1.01    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.54±0.03μs          | 3.49±0.04μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.39±0.04μs          | 4.32±0.04μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.39±0.04μs          | 4.26±0.03μs         | 0.97    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 564±10ns             | 538±5ns             | 0.95    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 418±3ns              | 420±2ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 441±3ns              | 438±6ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 364±1ms              | 365±2ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 77.2±2ms             | 77.3±6ms            | 1.00    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.3±0.7ms           | 96.5±0.5ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 48.3±2ms             | 49.9±3ms            | 1.03    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.76±0.04ms          | 4.04±0.04ms         | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 85.4±0.6ms           | 92.1±2ms            | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 53.2±0.9ms           | 54.8±1ms            | 1.03    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 580±3ms              | 588±6ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±0.8ns            | 102±2ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 70.7±0.6ms           | 77.6±2ms            | 1.10    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 102±0.8ns            | 103±3ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 512±4ms              | 519±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.9±1ms             | 41.8±2ms            | 1.13    | stats.PearsonR.time_lazy                                                                             |
|          | 18.8±0.2ms           | 19.0±0.5ms          | 1.01    | stats.PearsonR.time_real                                                                             |
|          | 22.4±0.9ms           | 22.5±1ms            | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 58.5±0.5ms           | 59.2±1ms            | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [cbb08457]    | After [f792808e]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 2.01±0.2ms           | 2.51±0.1ms          |    1.25 | experimental.ugrid.Connectivity.time_create(1000000)       |
| +        | 1.52±0.02ms          | 1.85±0.01ms         |    1.21 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.65±0.05ms          | 3.19±0.04ms         |    1.2  | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 251±6μs              | 359±2μs             |    1.43 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 297±6μs              | 402±3μs             |    1.35 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 294±8μs              | 401±10μs            |    1.36 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 336±10μs             | 449±10μs            |    1.34 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 282±2ms              | 345±4ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8342501600

github-actions[bot] avatar Mar 19 '24 12:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 2fdd4011

Performance shifts
| Change   | Before [821cbb87]    | After [2fdd4011]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.51±0.01ms          | 1.87±0.03ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.24±0.02ms          | 2.71±0.02ms         |    1.21 | experimental.ugrid.Connectivity.time_location_lengths(6)   |
| +        | 2.66±0.04ms          | 3.23±0.06ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±3μs              | 356±3μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 295±3μs              | 407±6μs             |    1.38 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 291±5μs              | 400±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 336±8μs              | 447±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 286±5ms              | 353±4ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [821cbb87]    | After [2fdd4011]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.36±0.05μs          | 4.40±0.04μs         | 1.01    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.85±0.04μs          | 4.99±0.04μs         | 1.03    | coords.AncillaryVariable.time_create                                                                 |
|          | 433±5ns              | 417±6ns             | 0.96    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.74±0.09μs          | 8.95±0.05μs         | 1.02    | coords.AuxCoord.time_create                                                                          |
|          | 423±4ns              | 404±3ns             | 0.95    | coords.AuxCoord.time_points                                                                          |
|          | 230±20μs             | 250±20μs            | 1.09    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.1±0.6μs           | 13.3±0.5μs          | 1.10    | coords.AuxCoordLazy.time_create                                                                      |
|          | 227±20μs             | 251±20μs            | 1.11    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.27±0.06μs          | 5.42±0.03μs         | 1.03    | coords.CellMeasure.time_create                                                                       |
|          | 1.13±0.02μs          | 1.11±0μs            | 0.98    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±2μs              | 111±1μs             | 1.00    | coords.DimCoord.time_create                                                                          |
|          | 32.0±0.7μs           | 31.9±0.8μs          | 1.00    | coords.DimCoord.time_regular                                                                         |
|          | 383±4ms              | 384±3ms             | 1.00    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.0±1μs             | 58.8±1μs            | 1.00    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.4±0.2μs           | 11.5±0.4μs          | 1.01    | cube.AncillaryVariable.time_create                                                                   |
|          | 66.8±0.7μs           | 67.7±0.6μs          | 1.01    | cube.AuxCoord.time_add                                                                               |
|          | 9.60±0.08μs          | 9.69±0.2μs          | 1.01    | cube.AuxCoord.time_create                                                                            |
|          | 6.01±0.09μs          | 5.99±0.08μs         | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.49±0.03μs          | 4.46±0.03μs         | 0.99    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.9±0.5μs           | 40.4±0.3μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.5±0.3μs           | 12.3±0.3μs          | 0.99    | cube.AuxFactory.time_create                                                                          |
|          | 59.3±0.5μs           | 59.0±1μs            | 0.99    | cube.CellMeasure.time_add                                                                            |
|          | 11.4±0.2μs           | 11.7±0.2μs          | 1.02    | cube.CellMeasure.time_create                                                                         |
|          | 52.3±0.6μs           | 52.1±0.4μs          | 1.00    | cube.CellMethod.time_add                                                                             |
|          | 7.23±0.02μs          | 7.29±0.1μs          | 1.01    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.4ms            | 130±0.2ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.75±0.07μs          | 6.75±0.09μs         | 1.00    | cube.Cube.time_basic                                                                                 |
|          | 58.2±0.6ns           | 57.7±0.4ns          | 0.99    | cube.Cube.time_rename                                                                                |
|          | 62.4±0.7μs           | 61.8±0.8μs          | 0.99    | cube.Equality.time_equality                                                                          |
|          | 340±2ms              | 337±1ms             | 0.99    | cube.Merge.time_merge                                                                                |
|          | 27.8±1μs             | 28.4±2μs            | 1.02    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.1±2μs             | 30.9±1μs            | 0.99    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.5±2μs             | 24.9±1μs            | 0.98    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.7±0.4μs           | 19.7±0.5μs          | 1.00    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.4±0.3μs           | 19.7±0.3μs          | 1.01    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 19.0±0.2μs           | 19.3±0.3μs          | 1.01    | cube.MeshCoord.time_create(6)                                                                        |
|          | 52.2±4μs             | 55.4±5μs            | 1.06    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 60.1±3μs             | 62.2±4μs            | 1.03    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 43.5±4μs             | 44.3±5μs            | 1.02    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.03±0.3ms           | 2.55±0.2ms          | ~1.26   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 607±5ns              | 603±5ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 612±6ns              | 611±4ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.3±2ms             | 23.7±2ms            | 1.17    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 22.9±3ms             | 27.9±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.42±0.02ms          | 4.01±0.05ms         | 1.17    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.58±0.1ms           | 4.24±0.1ms          | 1.19    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 242±5μs              | 257±8μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 239±8μs              | 252±9μs             | 1.05    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.5±0.3ms           | 20.4±0.7ms          | 1.04    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.53±0.04ms          | 2.92±0.04ms         | 1.15    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.2±0.4ms           | 23.4±0.6ms          | 1.05    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.68±0.04ms          | 4.28±0.06ms         | 1.16    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 13.1±0.2μs           | 12.7±0.05μs         | 0.97    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.94±0.06μs          | 4.82±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.85±0.1μs           | 4.85±0.03μs         | 1.00    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.15±0.09μs          | 5.00±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.13±0.04μs          | 5.04±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.89±0.06μs          | 5.87±0.03μs         | 1.00    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.88±0.06μs          | 5.85±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 47.0±0.5μs           | 45.6±1μs            | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 73.9±1ms             | 79.7±2ms            | 1.08    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 274±3μs              | 273±4μs             | 1.00    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.05±0.04μs          | 4.93±0.08μs         | 0.98    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.01±0.06μs          | 4.97±0.05μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.43±0.07μs          | 7.27±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.37±0.06μs          | 7.20±0.1μs          | 0.98    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.2±0.05μs          | 10.6±0.1μs          | 1.04    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 123±2ms              | 122±2ms             | 0.99    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.34±0.05μs          | 5.35±0.05μs         | 1.00    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.24±0.05ms          | 3.69±0.03ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.26±0.03ms          | 3.72±0.02ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 202±2μs              | 205±4μs             | 1.01    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.59±0.04μs          | 3.61±0.03μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.16±0.04μs          | 4.20±0.06μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.93±0.03μs          | 2.94±0.02μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.93±0.1ms           | 7.54±0.1ms          | 1.09    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 123±1ms              | 122±2ms             | 0.99    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.0±0.6μs           | 12.0±0.7μs          | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.25±0.04ms          | 3.73±0.07ms         | 1.15    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.26±0.06ms          | 3.72±0.06ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 238±4μs              | 236±5μs             | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.43±0.07ms          | 2.52±0.08ms         | 1.04    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.52±0.08ms          | 4.60±0.1ms          | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 7.95±0.4μs           | 8.16±0.5μs          | 1.03    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.6±1μs             | 32.6±1μs            | 1.00    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.3±1μs             | 19.2±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.3±0.9μs           | 15.9±1μs            | 1.04    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.7±0.5μs           | 16.7±0.5μs          | 1.00    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.4±0.4μs           | 15.9±0.5μs          | 0.97    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.8±0.7μs           | 19.3±0.8μs          | 0.97    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.6±0.6μs           | 19.0±0.6μs          | 1.02    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.7±2μs             | 79.3±3μs            | 1.01    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 74.6±2ms             | 77.6±2ms            | 1.04    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 344±10μs             | 336±10μs            | 0.98    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.3±0.8μs           | 18.1±0.5μs          | 0.99    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.1±0.6μs           | 17.1±0.7μs          | 1.01    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.7±0.9μs           | 31.7±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.8±0.9μs           | 30.0±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 517±9ns              | 496±7ns             | 0.96    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 249±2ms              | 250±2ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.6±0.07ms          | 13.4±0.2ms          | 1.15    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.6±0.4ms           | 15.2±0.1ms          | 1.12    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 125±1ms              | 135±3ms             | 1.08    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 731±5ms              | 741±5ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 86.2±0.9ms           | 95.1±1ms            | 1.10    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 688±1ms              | 695±4ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 562±6μs              | 569±8μs             | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 163±3μs              | 168±3μs             | 1.03    | import_iris.Iris.time__constraints                                                                   |
|          | 101±0.6μs            | 101±0.7μs           | 1.01    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.0±0.5μs           | 85.6±0.7μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.9μs            | 109±1μs             | 0.99    | import_iris.Iris.time__lazy_data                                                                     |
|          | 786±7μs              | 795±3μs             | 1.01    | import_iris.Iris.time__merge                                                                         |
|          | 71.8±0.9μs           | 71.9±0.7μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 432±5μs              | 435±3μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 129±1μs              | 132±1μs             | 1.02    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 100±1μs              | 98.9±0.5μs          | 0.99    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 218±2μs              | 216±2μs             | 0.99    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 171±2μs              | 174±1μs             | 1.02    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±0.9μs            | 101±1μs             | 0.99    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 129±1μs              | 128±0.8μs           | 0.99    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 283±1μs              | 282±3μs             | 1.00    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.9±0.5μs           | 85.4±1μs            | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 201±5μs              | 199±1μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.2±0.5μs           | 90.9±0.4μs          | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 168±3μs              | 168±1μs             | 1.00    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 274±7μs              | 266±2μs             | 0.97    | import_iris.Iris.time_aux_factory                                                                    |
|          | 80.6±0.4μs           | 80.1±0.4μs          | 0.99    | import_iris.Iris.time_common                                                                         |
|          | 153±1μs              | 153±2μs             | 1.00    | import_iris.Iris.time_common_lenient                                                                 |
|          | 867±8μs              | 888±5μs             | 1.02    | import_iris.Iris.time_common_metadata                                                                |
|          | 125±0.8μs            | 124±1μs             | 0.99    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.03±0.01ms          | 1.03±0ms            | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 186±1μs              | 187±1μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 107±0.3μs            | 107±1μs             | 1.00    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 323±5μs              | 325±4μs             | 1.00    | import_iris.Iris.time_coord_systems                                                                  |
|          | 636±10μs             | 637±8μs             | 1.00    | import_iris.Iris.time_coords                                                                         |
|          | 597±10μs             | 592±5μs             | 0.99    | import_iris.Iris.time_cube                                                                           |
|          | 203±3μs              | 207±0.9μs           | 1.02    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.1±0.8μs           | 73.1±0.3μs          | 1.01    | import_iris.Iris.time_experimental                                                                   |
|          | 195±1μs              | 192±1μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 226±1μs              | 225±2μs             | 0.99    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.42±0.01ms          | 2.40±0.01ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 74.0±0.9μs           | 74.7±0.8μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 107±0.6μs            | 107±0.5μs           | 0.99    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 317±3μs              | 317±3μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.32±0.05ms          | 5.38±0.08ms         | 1.01    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 69.3±0.4μs           | 69.4±0.3μs          | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 236±4μs              | 235±2μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±1μs              | 111±0.9μs           | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 113±0.8μs            | 114±0.9μs           | 1.01    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 192±3μs              | 189±3μs             | 0.98    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 678±9μs              | 683±7μs             | 1.01    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 161±1μs              | 162±3μs             | 1.01    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 124±1μs              | 122±0.9μs           | 0.99    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 443±3μs              | 441±4μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 195±5μs              | 196±5μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 80.2±0.9μs           | 80.0±0.5μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 152±1μs              | 152±0.9μs           | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 131±0.5μs            | 132±2μs             | 1.01    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 71.1±0.5μs           | 72.0±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.1±1μs             | 77.9±1μs            | 1.00    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 876±7μs              | 872±8μs             | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 128±1μs              | 130±1μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 161±3μs              | 160±1μs             | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 194±2μs              | 196±2μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 119±0.6μs            | 119±1μs             | 1.01    | import_iris.Iris.time_iterate                                                                        |
|          | 8.17±0.04ms          | 8.22±0.07ms         | 1.01    | import_iris.Iris.time_palette                                                                        |
|          | 302±1μs              | 300±4μs             | 0.99    | import_iris.Iris.time_plot                                                                           |
|          | 95.3±0.6μs           | 93.3±0.8μs          | 0.98    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.95±0.02ms          | 1.89±0.01ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.70±0ms             | 1.73±0.04ms         | 1.02    | import_iris.Iris.time_symbols                                                                        |
|          | 23.4±1ms             | 24.3±3ms            | 1.04    | import_iris.Iris.time_tests                                                                          |
|          | 220±3μs              | 219±3μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.80±0.03ms          | 4.85±0.1ms          | 1.01    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.9μs            | 104±0.7μs           | 1.01    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.65±0.01ms          | 2.65±0.02ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.01±0.01ms         | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 152±1μs              | 154±1μs             | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 93.0±2μs             | 91.2±0.6μs          | 0.98    | import_iris.Iris.time_time                                                                           |
|          | 288±3μs              | 298±3μs             | 1.04    | import_iris.Iris.time_util                                                                           |
|          | 84.1±1μs             | 82.5±1μs            | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.38±0.04ms          | 7.82±0.05ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.8±0.3ms           | 23.5±0.3ms          | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.02±0.2ms           | 8.49±0.06ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.44±0.1ms           | 7.83±0.09ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.2±0.2ms           | 20.2±0.2ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.11±0.08ms          | 8.60±0.09ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.26±0.01s           | 1.32±0.01s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.2±0.1ms           | 19.5±0.3ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0.01s           | 1.48±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.25±0.01s           | 1.33±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.3±0.1ms           | 19.5±0.3ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.01s           | 1.47±0s             | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.61±0.01ms          | 3.77±0.03ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.7±0.1ms           | 18.7±0.3ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.85±0.05ms          | 4.01±0.03ms         | 1.04    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.60±0.02ms          | 3.72±0.04ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.7±0.1ms           | 18.7±0.2ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.86±0.05ms          | 3.99±0.04ms         | 1.03    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 34.5±4ms             | 33.9±3ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.3±0.4ms           | 19.8±0.4ms          | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.2±2ms             | 13.2±1ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.4±2ms             | 25.9±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.7±1ms             | 71.3±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 26.2±2ms             | 26.0±1ms            | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 385±4ms              | 443±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.76±0.09ms          | 2.92±0.08ms         | 1.06    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 393±2ms              | 450±2ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 391±3ms              | 451±4ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.75±0.1ms           | 3.00±0.1ms          | 1.09    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 395±3ms              | 454±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.34±0.09ms          | 1.55±0.07ms         | 1.16    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.74±0.09ms          | 2.91±0.1ms          | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.36±0.06ms          | 1.56±0.09ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.38±0.07ms          | 1.57±0.08ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.87±0.2ms           | 2.89±0.2ms          | 1.01    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.39±0.08ms          | 1.56±0.05ms         | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 334±4ms              | 332±5ms             | 0.99    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.54±0.08ms          | 8.00±0.1ms          | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.29±0.1ms           | 8.71±0.04ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.25±0.01s           | 1.33±0.01s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.01s           | 1.49±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.68±0.03ms          | 3.83±0.05ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.96±0.04ms          | 4.05±0.04ms         | 1.02    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.48±0.05ms          | 7.83±0.04ms         | 1.05    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.17±0.03ms          | 4.55±0.03ms         | 1.09    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.23±0.01s           | 1.31±0.01s          | 1.07    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.59±0.04ms          | 3.74±0.02ms         | 1.04    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.26±0.02ms          | 3.43±0.04ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 131±2ms              | 139±1ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.1±0.2ms           | 22.5±0.4ms          | 1.02    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 145±3ms              | 153±2ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.7±0.5ms           | 27.5±0.2ms          | 1.03    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.7±0.3ms           | 21.6±0.4ms          | 1.00    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.5±0.3ms           | 30.2±0.5ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.3ms           | 17.6±0.5ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.1±0.5ms           | 39.3±0.8ms          | 1.09    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.1±0.2ms           | 13.8±0.5ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.0±0.4ms           | 22.3±0.5ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.4±0.3ms           | 17.1±0.5ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.2±0.3ms           | 20.3±0.6ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.3±0.2ms           | 13.7±0.4ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.1±0.3ms           | 16.6±0.6ms          | 1.03    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.5±0.3ms           | 18.1±0.3ms          | 1.04    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 43.3±0.6ms           | 47.2±0.4ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.7±0.4ms           | 18.2±0.3ms          | 1.03    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 20.9±0.4ms           | 21.9±0.4ms          | 1.05    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.56±0.1ms           | 2.79±0.2ms          | 1.09    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.45±0.09ms          | 5.74±0.1ms          | 1.05    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 39.0±0.9ms           | 39.1±1ms            | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 810±7ms              | 821±5ms             | 1.01    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 104±4ns              | 101±0.2ns           | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 902±9ns              | 926±10ns            | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±0.5ns            | 101±0.5ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 901±9ns              | 926±10ns            | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 105±1ns              | 101±0.4ns           | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 985±20ns             | 1.03±0.01μs         | 1.04    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 103±2ns              | 102±0.7ns           | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.06±0.01μs          | 1.09±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±0.9ns            | 101±0.3ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 988±6ns              | 1.01±0μs            | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 104±2ns              | 101±0.4ns           | 0.98    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.13±0.02μs          | 1.16±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 975±4ns              | 983±4ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.67±0.06μs          | 6.75±0.05μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 62.6±0.1μs           | 64.2±0.6μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 980±4ns              | 976±6ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.72±0.03μs          | 6.65±0.04μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 62.7±0.3μs           | 64.4±0.6μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.03±0.01μs          | 1.04±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.14±0.02μs          | 7.18±0.06μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 67.1±0.3μs           | 69.2±0.3μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.08±0.01μs          | 1.07±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.48±0.1μs           | 7.62±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 70.7±0.7μs           | 72.6±0.3μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.03±0.01μs          | 1.03±0μs            | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.13±0.04μs          | 7.18±0.04μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 67.4±0.4μs           | 69.4±0.8μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.11±0.01μs          | 1.12±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.89±0.09μs          | 8.05±0.08μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.3±0.8μs           | 77.1±0.8μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 109±1ns              | 107±1ns             | 0.98    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 108±1ns              | 107±0.8ns           | 0.98    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 954±9ns              | 965±10ns            | 1.01    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 110±4ns              | 106±0.6ns           | 0.97    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 109±0.9ns            | 108±0.9ns           | 0.99    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 110±1ns              | 109±2ns             | 0.99    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 700±8ns              | 692±10ns            | 0.99    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 115±3ns              | 115±2ns             | 1.00    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.52±0.02μs          | 3.49±0.03μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.43±0.04μs          | 4.38±0.04μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.32±0.05μs          | 4.33±0.03μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 564±20ns             | 546±4ns             | 0.97    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 415±4ns              | 423±3ns             | 1.02    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 443±6ns              | 437±4ns             | 0.99    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 370±2ms              | 369±1ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 80.2±4ms             | 79.6±2ms            | 0.99    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 97.0±0.6ms           | 97.3±0.6ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 50.8±3ms             | 50.0±2ms            | 0.98    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.78±0.04ms          | 4.13±0.06ms         | 1.09    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 88.3±0.8ms           | 95.3±0.7ms          | 1.08    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.2±0.9ms           | 55.7±0.8ms          | 1.03    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 590±4ms              | 597±3ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 103±0.8ns            | 101±2ns             | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 73.8±1ms             | 79.1±0.6ms          | 1.07    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 103±0.9ns            | 101±0.4ns           | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 520±3ms              | 528±3ms             | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 36.1±0.7ms           | 41.6±1ms            | 1.15    | stats.PearsonR.time_lazy                                                                             |
|          | 19.1±0.4ms           | 19.0±0.2ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 24.6±0.5ms           | 23.9±0.9ms          | 0.97    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.2±0.3ms           | 59.8±0.2ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [821cbb87]    | After [2fdd4011]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.51±0.01ms          | 1.87±0.03ms         |    1.24 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.24±0.02ms          | 2.71±0.02ms         |    1.21 | experimental.ugrid.Connectivity.time_location_lengths(6)   |
| +        | 2.66±0.04ms          | 3.23±0.06ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 250±3μs              | 356±3μs             |    1.42 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 295±3μs              | 407±6μs             |    1.38 | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 291±5μs              | 400±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 336±8μs              | 447±10μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 286±5ms              | 353±4ms             |    1.24 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8344440229

github-actions[bot] avatar Mar 19 '24 14:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: fcf789a7

Performance shifts
| Change   | Before [821cbb87]    | After [fcf789a7]    |   Ratio | Benchmark (Parameter)                                        |
|----------|----------------------|---------------------|---------|--------------------------------------------------------------|
| +        | 1.48±0.01ms          | 1.85±0.03ms         |    1.25 | experimental.ugrid.Connectivity.time_create(6)               |
| +        | 2.63±0.05ms          | 3.22±0.08ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)           |
| +        | 3.59±0.04ms          | 4.34±0.1ms          |    1.21 | experimental.ugrid.ConnectivityLazy.time_validate_indices(6) |
| +        | 257±4μs              | 352±4μs             |    1.37 | experimental.ugrid.Mesh.time_add_connectivities(6)           |
| +        | 296±3μs              | 402±4μs             |    1.36 | experimental.ugrid.Mesh.time_create(6)                       |
| +        | 292±6μs              | 402±10μs            |    1.38 | experimental.ugrid.MeshLazy.time_add_connectivities(6)       |
| +        | 341±10μs             | 454±20μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                   |
| +        | 287±5ms              | 359±6ms             |    1.25 | load.StructuredFF.time_structured_load((2, 2, 1000), True)   |
Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [821cbb87]    | After [fcf789a7]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.36±0.02μs          | 4.29±0.07μs         | 0.99    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.89±0.04μs          | 5.02±0.08μs         | 1.03    | coords.AncillaryVariable.time_create                                                                 |
|          | 424±4ns              | 419±20ns            | 0.99    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.85±0.06μs          | 9.06±0.3μs          | 1.02    | coords.AuxCoord.time_create                                                                          |
|          | 405±3ns              | 403±2ns             | 1.00    | coords.AuxCoord.time_points                                                                          |
|          | 227±20μs             | 250±20μs            | 1.10    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 13.1±0.5μs           | 13.4±0.7μs          | 1.02    | coords.AuxCoordLazy.time_create                                                                      |
|          | 224±20μs             | 246±20μs            | 1.10    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.25±0.03μs          | 5.40±0.1μs          | 1.03    | coords.CellMeasure.time_create                                                                       |
|          | 1.12±0μs             | 1.10±0μs            | 0.99    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 110±2μs              | 109±6μs             | 0.99    | coords.DimCoord.time_create                                                                          |
|          | 31.9±0.4μs           | 31.8±0.8μs          | 0.99    | coords.DimCoord.time_regular                                                                         |
|          | 384±4ms              | 379±3ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 58.5±1μs             | 59.0±0.6μs          | 1.01    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.2±0.05μs          | 11.3±0.4μs          | 1.01    | cube.AncillaryVariable.time_create                                                                   |
|          | 66.7±1μs             | 67.4±0.9μs          | 1.01    | cube.AuxCoord.time_add                                                                               |
|          | 9.57±0.1μs           | 9.47±0.1μs          | 0.99    | cube.AuxCoord.time_create                                                                            |
|          | 5.93±0.09μs          | 5.98±0.03μs         | 1.01    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.43±0.03μs          | 4.46±0.05μs         | 1.01    | cube.AuxCoord.time_return_coords                                                                     |
|          | 39.9±0.2μs           | 40.3±0.5μs          | 1.01    | cube.AuxFactory.time_add                                                                             |
|          | 12.5±0.09μs          | 12.4±0.2μs          | 1.00    | cube.AuxFactory.time_create                                                                          |
|          | 59.1±0.3μs           | 59.5±0.4μs          | 1.01    | cube.CellMeasure.time_add                                                                            |
|          | 11.5±0.2μs           | 11.9±0.2μs          | 1.03    | cube.CellMeasure.time_create                                                                         |
|          | 51.7±0.3μs           | 52.7±0.5μs          | 1.02    | cube.CellMethod.time_add                                                                             |
|          | 7.24±0.04μs          | 7.21±0.07μs         | 1.00    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 130±0.5ms            | 130±0.2ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.71±0.04μs          | 6.80±0.1μs          | 1.01    | cube.Cube.time_basic                                                                                 |
|          | 58.0±0.5ns           | 58.5±0.7ns          | 1.01    | cube.Cube.time_rename                                                                                |
|          | 60.7±0.4μs           | 62.6±0.5μs          | 1.03    | cube.Equality.time_equality                                                                          |
|          | 335±7ms              | 339±4ms             | 1.01    | cube.Merge.time_merge                                                                                |
|          | 29.1±1μs             | 29.7±2μs            | 1.02    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 31.4±2μs             | 31.4±2μs            | 1.00    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 25.8±2μs             | 27.0±2μs            | 1.04    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.2±0.5μs           | 19.7±0.3μs          | 1.03    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.6±0.3μs           | 19.3±0.2μs          | 0.98    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.8±0.4μs           | 18.9±0.3μs          | 1.00    | cube.MeshCoord.time_create(6)                                                                        |
|          | 57.4±4μs             | 57.4±4μs            | 1.00    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 61.6±3μs             | 61.7±4μs            | 1.00    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 48.4±6μs             | 53.4±5μs            | 1.10    | cube.MeshCoord.time_remove(6)                                                                        |
|          | 2.19±0.3ms           | 2.63±0.3ms          | 1.20    | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 610±5ns              | 602±5ns             | 0.99    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 605±6ns              | 605±6ns             | 1.00    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 20.4±2ms             | 23.3±2ms            | 1.14    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.25±0.02ms          | 2.63±0.03ms         | 1.17    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 23.1±3ms             | 28.2±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.33±0.02ms          | 3.98±0.07ms         | 1.19    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.62±0.1ms           | 4.28±0.3ms          | 1.18    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 241±8μs              | 259±10μs            | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 235±6μs              | 255±9μs             | 1.08    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 20.0±0.3ms           | 20.3±0.4ms          | 1.01    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.53±0.04ms          | 2.97±0.07ms         | 1.17    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 22.6±0.7ms           | 23.3±0.7ms          | 1.03    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 12.6±0.08μs          | 12.7±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.89±0.03μs          | 4.81±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.87±0.02μs          | 4.86±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.11±0.06μs          | 4.98±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.07±0.06μs          | 4.98±0.06μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.89±0.06μs          | 5.89±0.06μs         | 1.00    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.86±0.1μs           | 5.89±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.9±0.8μs           | 45.7±0.5μs          | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 75.2±2ms             | 80.2±3ms            | 1.07    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 271±6μs              | 278±3μs             | 1.03    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 4.99±0.07μs          | 4.86±0.06μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 4.93±0.04μs          | 4.90±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.33±0.09μs          | 7.28±0.1μs          | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.31±0.08μs          | 7.29±0.1μs          | 1.00    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 10.5±0.2μs           | 10.6±0.2μs          | 1.01    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 125±2ms              | 125±3ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.39±0.03μs          | 5.36±0.1μs          | 0.99    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.25±0.05ms          | 3.70±0.03ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.29±0.04ms          | 3.72±0.04ms         | 1.13    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 200±2μs              | 202±4μs             | 1.01    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.63±0.03μs          | 3.67±0.06μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.15±0.06μs          | 4.25±0.07μs         | 1.03    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.94±0.02μs          | 2.95±0.04μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 7.14±0.1ms           | 7.54±0.2ms          | 1.06    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 125±3ms              | 125±3ms             | 1.00    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.2±0.7μs           | 12.6±0.9μs          | 1.03    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.30±0.09ms          | 3.71±0.09ms         | 1.12    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.25±0.05ms          | 3.70±0.09ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 241±10μs             | 237±5μs             | 0.99    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.50±0.06ms          | 2.72±0.1ms          | 1.09    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.54±0.1ms           | 4.82±0.2ms          | 1.06    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.81±0.9μs           | 9.13±0.8μs          | 1.04    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 31.7±1μs             | 31.5±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.2±1μs             | 19.7±1μs            | 1.03    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 17.1±2μs             | 19.1±3μs            | 1.12    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.8±0.5μs           | 17.1±0.9μs          | 1.02    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.4±0.8μs           | 17.1±1μs            | 1.04    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 19.3±1μs             | 19.1±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 18.5±0.9μs           | 20.6±2μs            | 1.11    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 78.7±4μs             | 78.1±2μs            | 0.99    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 74.3±3ms             | 83.8±4ms            | 1.13    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 349±10μs             | 368±10μs            | 1.05    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.0±0.7μs           | 18.3±1μs            | 1.01    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 16.7±1μs             | 18.8±3μs            | 1.12    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.8±1μs             | 32.0±2μs            | 1.01    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.8±2μs             | 32.6±2μs            | 1.09    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 508±6ns              | 504±6ns             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 251±1ms              | 250±2ms             | 0.99    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.6±0.09ms          | 13.7±0.3ms          | 1.18    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.8±0.9ms           | 15.4±0.4ms          | 1.11    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 125±1ms              | 137±3ms             | 1.10    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 735±6ms              | 744±10ms            | 1.01    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 88.2±1ms             | 99.3±3ms            | 1.13    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 694±4ms              | 703±7ms             | 1.01    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 569±9μs              | 577±10μs            | 1.01    | import_iris.Iris.time__concatenate                                                                   |
|          | 165±2μs              | 168±3μs             | 1.02    | import_iris.Iris.time__constraints                                                                   |
|          | 102±1μs              | 102±2μs             | 1.00    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.5±0.4μs           | 87.5±0.9μs          | 1.02    | import_iris.Iris.time__deprecation                                                                   |
|          | 109±0.7μs            | 110±2μs             | 1.01    | import_iris.Iris.time__lazy_data                                                                     |
|          | 789±10μs             | 823±50μs            | 1.04    | import_iris.Iris.time__merge                                                                         |
|          | 71.6±0.5μs           | 72.0±0.5μs          | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 437±7μs              | 450±10μs            | 1.03    | import_iris.Iris.time_analysis                                                                       |
|          | 130±2μs              | 134±3μs             | 1.03    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 99.2±0.9μs           | 99.0±0.7μs          | 1.00    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 220±2μs              | 220±5μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 172±2μs              | 175±3μs             | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 102±0.9μs            | 104±2μs             | 1.02    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 127±1μs              | 129±0.9μs           | 1.01    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 293±4μs              | 289±3μs             | 0.99    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 84.6±0.7μs           | 85.7±0.8μs          | 1.01    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 201±3μs              | 204±3μs             | 1.01    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.9±0.8μs           | 92.0±0.4μs          | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 170±3μs              | 173±2μs             | 1.02    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 277±6μs              | 282±8μs             | 1.02    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.7±0.4μs           | 80.8±0.9μs          | 1.01    | import_iris.Iris.time_common                                                                         |
|          | 152±2μs              | 158±4μs             | 1.04    | import_iris.Iris.time_common_lenient                                                                 |
|          | 888±20μs             | 903±10μs            | 1.02    | import_iris.Iris.time_common_metadata                                                                |
|          | 126±2μs              | 128±3μs             | 1.02    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.02±0.01ms          | 1.03±0.01ms         | 1.01    | import_iris.Iris.time_common_resolve                                                                 |
|          | 185±1μs              | 189±3μs             | 1.02    | import_iris.Iris.time_config                                                                         |
|          | 105±0.6μs            | 108±1μs             | 1.02    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 322±5μs              | 342±10μs            | 1.06    | import_iris.Iris.time_coord_systems                                                                  |
|          | 630±9μs              | 649±20μs            | 1.03    | import_iris.Iris.time_coords                                                                         |
|          | 606±20μs             | 633±30μs            | 1.04    | import_iris.Iris.time_cube                                                                           |
|          | 205±4μs              | 212±2μs             | 1.04    | import_iris.Iris.time_exceptions                                                                     |
|          | 73.0±0.5μs           | 73.2±0.5μs          | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 193±2μs              | 195±2μs             | 1.01    | import_iris.Iris.time_fileformats                                                                    |
|          | 227±3μs              | 234±7μs             | 1.03    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.44±0.06ms          | 2.47±0.08ms         | 1.01    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.2±0.3μs           | 74.3±0.6μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.7μs            | 108±0.8μs           | 1.01    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 325±9μs              | 322±6μs             | 0.99    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.36±0.1ms           | 5.77±0.4ms          | 1.08    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.7±0.8μs           | 69.7±0.6μs          | 1.02    | import_iris.Iris.time_fileformats_name                                                               |
|          | 239±2μs              | 236±4μs             | 0.99    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±0.7μs            | 111±2μs             | 0.98    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±1μs              | 114±2μs             | 1.02    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 187±2μs              | 195±3μs             | 1.04    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 672±10μs             | 687±10μs            | 1.02    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 161±3μs              | 165±4μs             | 1.03    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 122±2μs              | 125±3μs             | 1.02    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 441±4μs              | 449±10μs            | 1.02    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 198±3μs              | 197±4μs             | 0.99    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.2±0.7μs           | 79.6±0.7μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 151±2μs              | 151±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 132±1μs              | 132±2μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.7±0.8μs           | 71.9±0.7μs          | 1.02    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.2±0.7μs           | 78.3±0.4μs          | 1.00    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 875±10μs             | 882±20μs            | 1.01    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 129±1μs              | 130±2μs             | 1.00    | import_iris.Iris.time_io                                                                             |
|          | 160±4μs              | 162±3μs             | 1.01    | import_iris.Iris.time_io_format_picker                                                               |
|          | 195±2μs              | 196±2μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 118±0.9μs            | 120±2μs             | 1.01    | import_iris.Iris.time_iterate                                                                        |
|          | 8.08±0.1ms           | 8.23±0.2ms          | 1.02    | import_iris.Iris.time_palette                                                                        |
|          | 302±1μs              | 308±4μs             | 1.02    | import_iris.Iris.time_plot                                                                           |
|          | 94.0±1μs             | 93.2±0.8μs          | 0.99    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.95±0.01ms          | 1.91±0.02ms         | 0.98    | import_iris.Iris.time_std_names                                                                      |
|          | 1.72±0.04ms          | 1.72±0.01ms         | 1.00    | import_iris.Iris.time_symbols                                                                        |
|          | 300±1ms              | 302±0.7ms           | 1.01    | import_iris.Iris.time_tests                                                                          |
|          | 217±2μs              | 221±1μs             | 1.01    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.78±0.02ms          | 4.98±0.2ms          | 1.04    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.6μs            | 104±0.7μs           | 1.01    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.66±0.01ms          | 2.67±0.08ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.01±0.01ms          | 1.01±0ms            | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 152±1μs              | 155±3μs             | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 93.4±1μs             | 92.5±1μs            | 0.99    | import_iris.Iris.time_time                                                                           |
|          | 286±3μs              | 291±4μs             | 1.02    | import_iris.Iris.time_util                                                                           |
|          | 81.7±0.7μs           | 83.0±2μs            | 1.02    | iterate.IZip.time_izip                                                                               |
|          | 7.38±0.08ms          | 7.96±0.2ms          | 1.08    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 24.0±0.5ms           | 24.2±0.3ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.12±0.09ms          | 8.75±0.2ms          | 1.08    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.41±0.08ms          | 7.90±0.05ms         | 1.07    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.3±0.3ms           | 21.4±0.5ms          | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.03±0.05ms          | 8.66±0.05ms         | 1.08    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.25±0.02s           | 1.33±0.01s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.2±0.2ms           | 19.9±0.5ms          | 1.04    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.39±0.01s           | 1.49±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.24±0.02s           | 1.32±0.01s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 18.9±0.1ms           | 19.8±0.3ms          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.39±0.02s           | 1.50±0.01s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.58±0.03ms          | 3.86±0.04ms         | 1.08    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.6±0.3ms           | 19.9±0.4ms          | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.80±0.06ms          | 4.08±0.08ms         | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.58±0.04ms          | 3.77±0.05ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.6±0.3ms           | 19.4±0.3ms          | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.80±0.06ms          | 4.03±0.03ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 34.8±3ms             | 33.2±1ms            | 0.96    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.4±0.6ms           | 19.7±0.5ms          | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.2±1ms             | 13.8±3ms            | 1.05    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 26.0±2ms             | 26.4±1ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.7±1ms             | 71.4±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.4±0.9ms           | 26.2±2ms            | 1.03    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 380±3ms              | 440±5ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.87±0.09ms          | 2.93±0.05ms         | 1.02    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 385±4ms              | 447±4ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 386±4ms              | 444±5ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.87±0.2ms           | 2.88±0.1ms          | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 390±4ms              | 453±3ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.40±0.08ms          | 1.55±0.07ms         | 1.11    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.73±0.1ms           | 3.06±0.1ms          | 1.12    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.40±0.06ms          | 1.64±0.1ms          | 1.17    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.41±0.06ms          | 1.59±0.06ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 3.07±0.1ms           | 3.24±0.08ms         | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.38±0.07ms          | 1.58±0.1ms          | 1.15    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 332±3ms              | 331±1ms             | 1.00    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.54±0.06ms          | 7.96±0.03ms         | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.24±0.04ms          | 8.75±0.1ms          | 1.06    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.26±0.02s           | 1.33±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0s              | 1.51±0.01s          | 1.07    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.63±0.03ms          | 3.80±0.04ms         | 1.05    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.88±0.03ms          | 4.10±0.03ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.43±0.05ms          | 7.93±0.09ms         | 1.07    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.11±0.03ms          | 4.57±0.02ms         | 1.11    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.23±0.02s           | 1.31±0.01s          | 1.06    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.56±0.02ms          | 3.78±0.02ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.20±0.01ms          | 3.45±0.02ms         | 1.08    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 129±2ms              | 137±0.8ms           | 1.06    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 21.8±0.2ms           | 22.0±0.2ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 145±3ms              | 153±2ms             | 1.06    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.6±0.3ms           | 27.8±0.2ms          | 1.04    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.6±0.1ms           | 21.8±0.1ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.2±0.4ms           | 30.1±0.2ms          | 1.07    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.7±0.3ms           | 18.1±0.9ms          | 1.08    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.0±0.7ms           | 39.9±0.8ms          | 1.11    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.2±0.3ms           | 14.7±0.4ms          | 1.11    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.1±0.7ms           | 22.3±0.8ms          | 1.06    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.5±0.6ms           | 17.5±0.9ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.6±0.6ms           | 21.0±0.8ms          | 1.07    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.6±0.5ms           | 13.7±0.7ms          | 1.01    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.5±0.3ms           | 17.1±0.6ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.8±0.6ms           | 18.3±0.7ms          | 1.03    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 44.3±0.6ms           | 48.3±1ms            | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.7±0.5ms           | 18.6±0.7ms          | 1.05    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.3±0.8ms           | 22.2±0.7ms          | 1.04    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.59±0.2ms           | 2.84±0.2ms          | 1.10    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.40±0.2ms           | 5.67±0.2ms          | 1.05    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 40.2±2ms             | 42.1±1ms            | 1.05    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 823±20ms             | 818±7ms             | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 100±0.4ns            | 103±0.5ns           | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 915±5ns              | 919±30ns            | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 101±0.4ns            | 103±0.9ns           | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 922±10ns             | 912±10ns            | 0.99    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.9ns            | 103±0.6ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.01μs          | 1.01±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±0.5ns            | 102±0.2ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.11±0.02μs          | 1.11±0.02μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 100±0.5ns            | 104±1ns             | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.03μs          | 1.03±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.7ns            | 103±1ns             | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.17±0.01μs          | 1.14±0.02μs         | 0.97    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 990±7ns              | 998±5ns             | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.68±0.08μs          | 6.84±0.1μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 62.2±0.2μs           | 64.8±1μs            | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 990±10ns             | 998±10ns            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.70±0.07μs          | 6.85±0.1μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 62.7±0.5μs           | 64.5±0.9μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.04±0.02μs          | 1.04±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.06±0.08μs          | 7.37±0.1μs          | 1.04    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 66.3±0.3μs           | 70.1±0.7μs          | 1.06    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.09±0.01μs          | 1.08±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.54±0.03μs          | 7.71±0.2μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 71.7±0.9μs           | 74.1±2μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.04±0.01μs          | 1.05±0.01μs         | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.07±0.08μs          | 7.43±0.08μs         | 1.05    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 66.5±0.4μs           | 68.8±0.6μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.12±0.01μs          | 1.14±0.02μs         | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 7.88±0.04μs          | 8.14±0.1μs          | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 75.9±0.9μs           | 78.4±1μs            | 1.03    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±0.7ns            | 108±0.9ns           | 1.01    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 106±0.6ns            | 108±2ns             | 1.02    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 966±9ns              | 953±8ns             | 0.99    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 106±0.4ns            | 109±1ns             | 1.03    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 106±0.7ns            | 109±0.4ns           | 1.02    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 106±0.6ns            | 109±0.8ns           | 1.03    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 726±8ns              | 707±9ns             | 0.97    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 113±0.8ns            | 114±2ns             | 1.01    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.51±0.03μs          | 3.46±0.03μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.38±0.07μs          | 4.36±0.04μs         | 1.00    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.35±0.07μs          | 4.25±0.01μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 548±6ns              | 543±5ns             | 0.99    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 413±7ns              | 419±3ns             | 1.02    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 447±10ns             | 435±4ns             | 0.97    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 369±3ms              | 371±2ms             | 1.01    | plot.AuxSort.time_aux_sort                                                                           |
|          | 78.0±5ms             | 79.9±2ms            | 1.02    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 96.6±0.8ms           | 97.0±0.4ms          | 1.00    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 49.0±2ms             | 53.5±2ms            | 1.09    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.79±0.06ms          | 4.19±0.2ms          | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 89.0±0.8ms           | 95.5±1ms            | 1.07    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.0±1ms             | 56.2±2ms            | 1.04    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 590±5ms              | 600±6ms             | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±1ns              | 100±0.6ns           | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 73.7±2ms             | 80.2±1ms            | 1.09    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 103±1ns              | 100±0.7ns           | 0.98    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 520±4ms              | 528±5ms             | 1.02    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 35.6±0.4ms           | 42.7±1ms            | 1.20    | stats.PearsonR.time_lazy                                                                             |
|          | 19.4±0.4ms           | 19.2±0.4ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 23.2±0.5ms           | 24.4±1ms            | 1.05    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 60.0±1ms             | 60.8±0.6ms          | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [821cbb87]    | After [fcf789a7]    |   Ratio | Benchmark (Parameter)                                        |
|----------|----------------------|---------------------|---------|--------------------------------------------------------------|
| +        | 1.48±0.01ms          | 1.85±0.03ms         |    1.25 | experimental.ugrid.Connectivity.time_create(6)               |
| +        | 2.63±0.05ms          | 3.22±0.08ms         |    1.22 | experimental.ugrid.ConnectivityLazy.time_create(6)           |
| +        | 3.59±0.04ms          | 4.34±0.1ms          |    1.21 | experimental.ugrid.ConnectivityLazy.time_validate_indices(6) |
| +        | 257±4μs              | 352±4μs             |    1.37 | experimental.ugrid.Mesh.time_add_connectivities(6)           |
| +        | 296±3μs              | 402±4μs             |    1.36 | experimental.ugrid.Mesh.time_create(6)                       |
| +        | 292±6μs              | 402±10μs            |    1.38 | experimental.ugrid.MeshLazy.time_add_connectivities(6)       |
| +        | 341±10μs             | 454±20μs            |    1.33 | experimental.ugrid.MeshLazy.time_create(6)                   |
| +        | 287±5ms              | 359±6ms             |    1.25 | load.StructuredFF.time_structured_load((2, 2, 1000), True)   |

Generated by GHA run 8346157501

github-actions[bot] avatar Mar 19 '24 16:03 github-actions[bot]

:stopwatch: Performance Benchmark Report: 943a364d

Performance shifts
| Change   | Before [821cbb87]    | After [943a364d]    |   Ratio | Benchmark (Parameter)         |
|----------|----------------------|---------------------|---------|-------------------------------|
| -        | 52.4±9μs             | 42.2±10μs           |    0.81 | cube.MeshCoord.time_remove(6) |
| Change   | Before [821cbb87]    | After [943a364d]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.01ms          | 1.86±0.01ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.65±0.04ms          | 3.22±0.05ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 251±3μs              | 362±3μs             |    1.44 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 293±4μs              | 412±5μs             |    1.4  | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±5μs              | 402±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 334±8μs              | 457±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 289±4ms              | 352±4ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |
Full benchmark results

Benchmarks that have improved:

| Change   | Before [821cbb87]    | After [943a364d]    |   Ratio | Benchmark (Parameter)         |
|----------|----------------------|---------------------|---------|-------------------------------|
| -        | 52.4±9μs             | 42.2±10μs           |    0.81 | cube.MeshCoord.time_remove(6) |

Benchmarks that have stayed the same:

| Change   | Before [821cbb87]    | After [943a364d]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | n/a                  | n/a                 | n/a     | aux_factory.FactoryCommon.time_create                                                                |
|          | 4.35±0.1μs           | 4.29±0.05μs         | 0.99    | aux_factory.HybridHeightFactory.time_create                                                          |
|          | 4.94±0.09μs          | 5.02±0.1μs          | 1.02    | coords.AncillaryVariable.time_create                                                                 |
|          | 426±3ns              | 418±5ns             | 0.98    | coords.AuxCoord.time_bounds                                                                          |
|          | 8.83±0.1μs           | 8.87±0.1μs          | 1.00    | coords.AuxCoord.time_create                                                                          |
|          | 409±3ns              | 400±7ns             | 0.98    | coords.AuxCoord.time_points                                                                          |
|          | 229±20μs             | 250±20μs            | 1.09    | coords.AuxCoordLazy.time_bounds                                                                      |
|          | 12.6±0.7μs           | 13.1±0.7μs          | 1.04    | coords.AuxCoordLazy.time_create                                                                      |
|          | 226±20μs             | 253±20μs            | 1.12    | coords.AuxCoordLazy.time_points                                                                      |
|          | 5.38±0.1μs           | 5.48±0.1μs          | 1.02    | coords.CellMeasure.time_create                                                                       |
|          | 1.13±0.02μs          | 1.11±0.01μs         | 0.98    | coords.CellMethod.time_create                                                                        |
|          | n/a                  | n/a                 | n/a     | coords.CoordCommon.time_create                                                                       |
|          | 108±2μs              | 109±0.5μs           | 1.01    | coords.DimCoord.time_create                                                                          |
|          | 31.1±0.4μs           | 32.0±0.3μs          | 1.03    | coords.DimCoord.time_regular                                                                         |
|          | 385±6ms              | 383±4ms             | 0.99    | cube.Aggregation.time_aggregated_by                                                                  |
|          | 59.8±0.8μs           | 58.2±0.8μs          | 0.97    | cube.AncillaryVariable.time_add                                                                      |
|          | 11.3±0.2μs           | 11.3±0.2μs          | 1.00    | cube.AncillaryVariable.time_create                                                                   |
|          | 67.6±0.7μs           | 67.8±1μs            | 1.00    | cube.AuxCoord.time_add                                                                               |
|          | 9.40±0.08μs          | 9.51±0.08μs         | 1.01    | cube.AuxCoord.time_create                                                                            |
|          | 6.09±0.1μs           | 6.10±0.04μs         | 1.00    | cube.AuxCoord.time_return_coord_dims                                                                 |
|          | 4.53±0.02μs          | 4.53±0.06μs         | 1.00    | cube.AuxCoord.time_return_coords                                                                     |
|          | 40.3±0.4μs           | 39.8±0.3μs          | 0.99    | cube.AuxFactory.time_add                                                                             |
|          | 12.2±0.4μs           | 12.2±0.4μs          | 1.00    | cube.AuxFactory.time_create                                                                          |
|          | 59.2±0.5μs           | 58.9±0.9μs          | 1.00    | cube.CellMeasure.time_add                                                                            |
|          | 11.3±0.1μs           | 11.5±0.3μs          | 1.02    | cube.CellMeasure.time_create                                                                         |
|          | 52.6±0.6μs           | 52.3±0.4μs          | 0.99    | cube.CellMethod.time_add                                                                             |
|          | 7.36±0.04μs          | 7.23±0.06μs         | 0.98    | cube.CellMethod.time_create                                                                          |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_add                                                                        |
|          | n/a                  | n/a                 | n/a     | cube.ComponentCommon.time_create                                                                     |
|          | 131±0.4ms            | 131±0.3ms           | 1.00    | cube.Concatenate.time_concatenate                                                                    |
|          | 6.80±0.1μs           | 6.72±0.08μs         | 0.99    | cube.Cube.time_basic                                                                                 |
|          | 58.3±0.7ns           | 58.1±4ns            | 1.00    | cube.Cube.time_rename                                                                                |
|          | 61.0±0.5μs           | 62.9±0.4μs          | 1.03    | cube.Equality.time_equality                                                                          |
|          | 335±4ms              | 336±5ms             | 1.00    | cube.Merge.time_merge                                                                                |
|          | 29.7±2μs             | 28.1±2μs            | 0.94    | cube.MeshCoord.time_add(10000)                                                                       |
|          | 30.8±2μs             | 29.5±2μs            | 0.96    | cube.MeshCoord.time_add(1000000)                                                                     |
|          | 27.3±3μs             | 24.8±2μs            | 0.91    | cube.MeshCoord.time_add(6)                                                                           |
|          | 19.1±0.2μs           | 19.6±0.3μs          | 1.02    | cube.MeshCoord.time_create(10000)                                                                    |
|          | 19.7±0.2μs           | 19.4±0.5μs          | 0.99    | cube.MeshCoord.time_create(1000000)                                                                  |
|          | 18.6±0.3μs           | 18.9±0.3μs          | 1.02    | cube.MeshCoord.time_create(6)                                                                        |
|          | 56.2±9μs             | 55.0±5μs            | 0.98    | cube.MeshCoord.time_remove(10000)                                                                    |
|          | 61.4±3μs             | 62.3±4μs            | 1.02    | cube.MeshCoord.time_remove(1000000)                                                                  |
|          | 2.03±0.3ms           | 2.51±0.3ms          | ~1.24   | experimental.ugrid.Connectivity.time_create(1000000)                                                 |
|          | 614±5ns              | 617±10ns            | 1.01    | experimental.ugrid.Connectivity.time_indices(1000000)                                                |
|          | 606±10ns             | 613±10ns            | 1.01    | experimental.ugrid.Connectivity.time_indices(6)                                                      |
|          | 21.3±2ms             | 23.2±2ms            | 1.09    | experimental.ugrid.Connectivity.time_location_lengths(1000000)                                       |
|          | 2.27±0.03ms          | 2.68±0.04ms         | 1.18    | experimental.ugrid.Connectivity.time_location_lengths(6)                                             |
|          | 22.7±3ms             | 27.7±3ms            | ~1.22   | experimental.ugrid.Connectivity.time_validate_indices(1000000)                                       |
|          | 3.29±0.05ms          | 3.94±0.02ms         | 1.20    | experimental.ugrid.Connectivity.time_validate_indices(6)                                             |
|          | 3.50±0.1ms           | 4.15±0.2ms          | 1.18    | experimental.ugrid.ConnectivityLazy.time_create(1000000)                                             |
|          | 243±10μs             | 260±10μs            | 1.07    | experimental.ugrid.ConnectivityLazy.time_indices(1000000)                                            |
|          | 237±7μs              | 250±6μs             | 1.06    | experimental.ugrid.ConnectivityLazy.time_indices(6)                                                  |
|          | 19.4±0.4ms           | 19.9±0.3ms          | 1.02    | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000)                                   |
|          | 2.46±0.07ms          | 2.93±0.04ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_location_lengths(6)                                         |
|          | 21.8±0.5ms           | 23.1±0.8ms          | 1.06    | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000)                                   |
|          | 3.62±0.06ms          | 4.31±0.07ms         | 1.19    | experimental.ugrid.ConnectivityLazy.time_validate_indices(6)                                         |
|          | 12.8±0.2μs           | 12.7±0.2μs          | 0.99    | experimental.ugrid.Mesh.time_add_connectivities(1000000)                                             |
|          | 4.88±0.06μs          | 4.85±0.02μs         | 0.99    | experimental.ugrid.Mesh.time_add_coords(1000000)                                                     |
|          | 4.87±0.05μs          | 4.78±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_add_coords(6)                                                           |
|          | 5.12±0.1μs           | 4.95±0.05μs         | 0.97    | experimental.ugrid.Mesh.time_connectivities(1000000)                                                 |
|          | 5.07±0.1μs           | 4.99±0.04μs         | 0.98    | experimental.ugrid.Mesh.time_connectivities(6)                                                       |
|          | 5.91±0.04μs          | 5.86±0.06μs         | 0.99    | experimental.ugrid.Mesh.time_coords(1000000)                                                         |
|          | 5.82±0.1μs           | 5.87±0.1μs          | 1.01    | experimental.ugrid.Mesh.time_coords(6)                                                               |
|          | 46.9±1μs             | 45.6±0.7μs          | 0.97    | experimental.ugrid.Mesh.time_create(1000000)                                                         |
|          | 74.1±3ms             | 78.4±5ms            | 1.06    | experimental.ugrid.Mesh.time_eq(1000000)                                                             |
|          | 274±2μs              | 273±5μs             | 1.00    | experimental.ugrid.Mesh.time_eq(6)                                                                   |
|          | 5.02±0.07μs          | 4.89±0.09μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(1000000)                                          |
|          | 5.06±0.09μs          | 4.89±0.05μs         | 0.97    | experimental.ugrid.Mesh.time_remove_connectivities(6)                                                |
|          | 7.30±0.07μs          | 7.26±0.09μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(1000000)                                                  |
|          | 7.29±0.1μs           | 7.25±0.08μs         | 0.99    | experimental.ugrid.Mesh.time_remove_coords(6)                                                        |
|          | 9.85±0.1μs           | 10.2±0.1μs          | 1.04    | experimental.ugrid.MeshCoord.time_bounds(10000)                                                      |
|          | 120±4ms              | 120±4ms             | 1.00    | experimental.ugrid.MeshCoord.time_bounds(1000000)                                                    |
|          | 5.35±0.08μs          | 5.26±0.02μs         | 0.98    | experimental.ugrid.MeshCoord.time_bounds(6)                                                          |
|          | 3.21±0.06ms          | 3.69±0.05ms         | 1.15    | experimental.ugrid.MeshCoord.time_create(10000)                                                      |
|          | 3.23±0.03ms          | 3.67±0.08ms         | 1.14    | experimental.ugrid.MeshCoord.time_create(1000000)                                                    |
|          | 196±3μs              | 197±3μs             | 1.01    | experimental.ugrid.MeshCoord.time_create(6)                                                          |
|          | 3.64±0.04μs          | 3.64±0.05μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(10000)                                                      |
|          | 4.17±0.04μs          | 4.18±0.07μs         | 1.00    | experimental.ugrid.MeshCoord.time_points(1000000)                                                    |
|          | 2.90±0.01μs          | 2.93±0.04μs         | 1.01    | experimental.ugrid.MeshCoord.time_points(6)                                                          |
|          | 6.87±0.2ms           | 7.61±0.3ms          | 1.11    | experimental.ugrid.MeshCoordLazy.time_bounds(10000)                                                  |
|          | 121±3ms              | 120±3ms             | 0.99    | experimental.ugrid.MeshCoordLazy.time_bounds(1000000)                                                |
|          | 12.0±0.7μs           | 12.4±0.7μs          | 1.03    | experimental.ugrid.MeshCoordLazy.time_bounds(6)                                                      |
|          | 3.31±0.03ms          | 3.75±0.05ms         | 1.13    | experimental.ugrid.MeshCoordLazy.time_create(10000)                                                  |
|          | 3.26±0.05ms          | 3.72±0.07ms         | 1.14    | experimental.ugrid.MeshCoordLazy.time_create(1000000)                                                |
|          | 238±9μs              | 240±7μs             | 1.00    | experimental.ugrid.MeshCoordLazy.time_create(6)                                                      |
|          | 2.50±0.09ms          | 2.53±0.2ms          | 1.01    | experimental.ugrid.MeshCoordLazy.time_points(10000)                                                  |
|          | 4.59±0.1ms           | 4.66±0.2ms          | 1.02    | experimental.ugrid.MeshCoordLazy.time_points(1000000)                                                |
|          | 8.75±0.8μs           | 7.97±0.8μs          | 0.91    | experimental.ugrid.MeshCoordLazy.time_points(6)                                                      |
|          | 32.5±1μs             | 32.1±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_add_connectivities(1000000)                                         |
|          | 19.4±0.9μs           | 18.9±0.8μs          | 0.97    | experimental.ugrid.MeshLazy.time_add_coords(1000000)                                                 |
|          | 15.2±2μs             | 15.7±3μs            | 1.03    | experimental.ugrid.MeshLazy.time_add_coords(6)                                                       |
|          | 16.7±0.8μs           | 16.7±0.6μs          | 1.00    | experimental.ugrid.MeshLazy.time_connectivities(1000000)                                             |
|          | 16.3±0.7μs           | 16.2±1μs            | 0.99    | experimental.ugrid.MeshLazy.time_connectivities(6)                                                   |
|          | 20.0±2μs             | 19.2±0.9μs          | 0.96    | experimental.ugrid.MeshLazy.time_coords(1000000)                                                     |
|          | 19.0±1μs             | 19.5±1μs            | 1.03    | experimental.ugrid.MeshLazy.time_coords(6)                                                           |
|          | 79.3±2μs             | 80.9±6μs            | 1.02    | experimental.ugrid.MeshLazy.time_create(1000000)                                                     |
|          | 73.5±3ms             | 77.6±5ms            | 1.06    | experimental.ugrid.MeshLazy.time_eq(1000000)                                                         |
|          | 336±20μs             | 351±20μs            | 1.04    | experimental.ugrid.MeshLazy.time_eq(6)                                                               |
|          | 18.2±0.7μs           | 18.7±2μs            | 1.03    | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000)                                      |
|          | 17.1±1μs             | 17.4±2μs            | 1.02    | experimental.ugrid.MeshLazy.time_remove_connectivities(6)                                            |
|          | 31.6±1μs             | 31.6±2μs            | 1.00    | experimental.ugrid.MeshLazy.time_remove_coords(1000000)                                              |
|          | 29.4±2μs             | 30.7±3μs            | 1.04    | experimental.ugrid.MeshLazy.time_remove_coords(6)                                                    |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(1000000)                                                  |
|          | n/a                  | n/a                 | n/a     | experimental.ugrid.UGridCommon.time_create(6)                                                        |
|          | 498±5ns              | 516±7ns             | 1.04    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 248±3ms              | 248±2ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 11.6±0.1ms           | 13.3±0.2ms          | 1.14    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 13.4±0.6ms           | 15.5±0.3ms          | 1.16    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)           |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)  |
|          | 5.0                  | 5.0                 | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500) |
|          | 123±2ms              | 133±2ms             | 1.08    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 735±7ms              | 736±7ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 86.5±2ms             | 96.0±1ms            | 1.11    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 683±4ms              | 695±3ms             | 1.02    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(500)                             |
|          | 2.1752849999999997   | 2.1752849999999997  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                   |
|          | 216.01528499999998   | 216.01528499999998  | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                  |
|          | 572±10μs             | 573±4μs             | 1.00    | import_iris.Iris.time__concatenate                                                                   |
|          | 165±4μs              | 167±3μs             | 1.01    | import_iris.Iris.time__constraints                                                                   |
|          | 100±2μs              | 104±2μs             | 1.04    | import_iris.Iris.time__data_manager                                                                  |
|          | 85.7±0.9μs           | 86.4±0.5μs          | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 108±0.7μs            | 111±2μs             | 1.02    | import_iris.Iris.time__lazy_data                                                                     |
|          | 783±8μs              | 800±3μs             | 1.02    | import_iris.Iris.time__merge                                                                         |
|          | 71.6±0.6μs           | 72.3±0.7μs          | 1.01    | import_iris.Iris.time__representation                                                                |
|          | 429±10μs             | 437±7μs             | 1.02    | import_iris.Iris.time_analysis                                                                       |
|          | 125±2μs              | 134±2μs             | 1.07    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 97.9±0.9μs           | 99.4±1μs            | 1.02    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 218±2μs              | 218±2μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 169±1μs              | 170±1μs             | 1.01    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 101±1μs              | 101±0.9μs           | 1.00    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 125±1μs              | 130±2μs             | 1.04    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 282±0.9μs            | 287±5μs             | 1.02    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 83.4±0.9μs           | 85.4±0.7μs          | 1.02    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 198±2μs              | 199±2μs             | 1.00    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 90.8±0.6μs           | 91.4±0.4μs          | 1.01    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 168±2μs              | 170±2μs             | 1.01    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 269±5μs              | 268±3μs             | 1.00    | import_iris.Iris.time_aux_factory                                                                    |
|          | 79.8±0.5μs           | 80.7±0.3μs          | 1.01    | import_iris.Iris.time_common                                                                         |
|          | 154±2μs              | 154±1μs             | 1.00    | import_iris.Iris.time_common_lenient                                                                 |
|          | 873±9μs              | 893±7μs             | 1.02    | import_iris.Iris.time_common_metadata                                                                |
|          | 124±1μs              | 125±0.8μs           | 1.01    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.02±0.01ms          | 1.02±0.01ms         | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 186±2μs              | 187±1μs             | 1.00    | import_iris.Iris.time_config                                                                         |
|          | 104±0.5μs            | 109±1μs             | 1.04    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 316±5μs              | 326±3μs             | 1.03    | import_iris.Iris.time_coord_systems                                                                  |
|          | 639±9μs              | 640±4μs             | 1.00    | import_iris.Iris.time_coords                                                                         |
|          | 579±20μs             | 593±4μs             | 1.03    | import_iris.Iris.time_cube                                                                           |
|          | 203±2μs              | 210±2μs             | 1.03    | import_iris.Iris.time_exceptions                                                                     |
|          | 72.5±0.6μs           | 73.2±0.3μs          | 1.01    | import_iris.Iris.time_experimental                                                                   |
|          | 194±1μs              | 194±1μs             | 1.00    | import_iris.Iris.time_fileformats                                                                    |
|          | 225±2μs              | 228±3μs             | 1.02    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.43±0.02ms          | 2.41±0.03ms         | 0.99    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 73.8±1μs             | 74.9±1μs            | 1.02    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 106±0.6μs            | 108±1μs             | 1.02    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 315±4μs              | 320±4μs             | 1.02    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.37±0.08ms          | 5.33±0.1ms          | 0.99    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 68.1±0.6μs           | 69.1±0.6μs          | 1.02    | import_iris.Iris.time_fileformats_name                                                               |
|          | 235±4μs              | 236±2μs             | 1.01    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 113±0.7μs            | 111±2μs             | 0.99    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 112±0.9μs            | 114±0.6μs           | 1.02    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 186±2μs              | 190±3μs             | 1.02    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 671±7μs              | 677±4μs             | 1.01    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 159±2μs              | 163±3μs             | 1.02    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 120±2μs              | 123±1μs             | 1.02    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 442±2μs              | 440±1μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 196±4μs              | 196±1μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 79.4±0.4μs           | 80.5±0.5μs          | 1.01    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 151±3μs              | 151±1μs             | 1.00    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 131±1μs              | 132±0.8μs           | 1.01    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 70.6±0.3μs           | 72.1±0.3μs          | 1.02    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 78.0±0.5μs           | 79.1±0.4μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 876±4μs              | 869±10μs            | 0.99    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 129±2μs              | 130±4μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 161±3μs              | 161±3μs             | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 193±3μs              | 195±2μs             | 1.01    | import_iris.Iris.time_iris                                                                           |
|          | 118±1μs              | 118±1μs             | 1.00    | import_iris.Iris.time_iterate                                                                        |
|          | 8.11±0.08ms          | 8.19±0.02ms         | 1.01    | import_iris.Iris.time_palette                                                                        |
|          | 296±3μs              | 303±2μs             | 1.02    | import_iris.Iris.time_plot                                                                           |
|          | 94.6±0.9μs           | 95.3±0.7μs          | 1.01    | import_iris.Iris.time_quickplot                                                                      |
|          | 1.95±0.01ms          | 1.89±0.01ms         | 0.97    | import_iris.Iris.time_std_names                                                                      |
|          | 1.70±0.01ms          | 1.72±0.01ms         | 1.01    | import_iris.Iris.time_symbols                                                                        |
|          | 94.0±2ms             | 93.9±6ms            | 1.00    | import_iris.Iris.time_tests                                                                          |
|          | 220±2μs              | 220±1μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.79±0.04ms          | 4.78±0.02ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 103±0.9μs            | 103±0.8μs           | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.66±0.02ms          | 2.65±0.01ms         | 1.00    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.00±0ms             | 1.01±0.02ms         | 1.01    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 153±1μs              | 156±0.8μs           | 1.02    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 91.6±1μs             | 92.5±1μs            | 1.01    | import_iris.Iris.time_time                                                                           |
|          | 283±2μs              | 284±2μs             | 1.01    | import_iris.Iris.time_util                                                                           |
|          | 83.9±1μs             | 82.3±1μs            | 0.98    | iterate.IZip.time_izip                                                                               |
|          | 7.54±0.2ms           | 7.74±0.08ms         | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 22.5±1ms             | 22.8±0.3ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.05±0.05ms          | 8.57±0.07ms         | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 7.36±0.08ms          | 7.76±0.04ms         | 1.05    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.0±0.2ms           | 20.2±0.4ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.06±0.1ms           | 8.55±0.2ms          | 1.06    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.24±0.01s           | 1.31±0.02s          | 1.05    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 19.3±0.4ms           | 19.4±0.1ms          | 1.00    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.36±0.02s           | 1.46±0.02s          | 1.07    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.24±0.01s           | 1.33±0.02s          | 1.08    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 19.0±0.3ms           | 19.3±0.2ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.38±0.03s           | 1.46±0.02s          | 1.06    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.59±0.06ms          | 3.79±0.02ms         | 1.06    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 18.5±0.3ms           | 18.9±0.2ms          | 1.02    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 3.81±0.06ms          | 4.07±0.02ms         | 1.07    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.57±0.04ms          | 3.75±0.05ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 18.7±0.4ms           | 18.6±0.4ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 3.79±0.04ms          | 3.97±0.09ms         | 1.05    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 34.9±1ms             | 33.3±3ms            | 0.95    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 19.3±0.4ms           | 19.7±0.7ms          | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.2±1ms             | 13.0±2ms            | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.9±2ms             | 25.9±0.8ms          | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 72.6±1ms             | 71.2±2ms            | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.4±1ms             | 25.7±2ms            | 1.01    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 375±7ms              | 434±4ms             | 1.16    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.71±0.1ms           | 2.86±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 386±8ms              | 441±6ms             | 1.14    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 383±10ms             | 442±3ms             | 1.15    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.88±0.2ms           | 2.83±0.1ms          | 0.98    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 395±9ms              | 446±3ms             | 1.13    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.39±0.07ms          | 1.53±0.04ms         | 1.10    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.75±0.2ms           | 2.83±0.09ms         | 1.03    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.37±0.08ms          | 1.56±0.08ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.37±0.08ms          | 1.56±0.08ms         | 1.14    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.75±0.2ms           | 2.88±0.1ms          | 1.05    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.38±0.09ms          | 1.57±0.09ms         | 1.13    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 336±3ms              | 330±2ms             | 0.98    | load.ManyVars.time_many_var_load                                                                     |
|          | 7.46±0.09ms          | 7.95±0.07ms         | 1.07    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 8.33±0.2ms           | 8.74±0.1ms          | 1.05    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.25±0.01s           | 1.33±0.01s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.41±0.02s           | 1.49±0.02s          | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.60±0.05ms          | 3.80±0.03ms         | 1.06    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 3.96±0.03ms          | 4.10±0.06ms         | 1.04    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 7.52±0.1ms           | 7.77±0.07ms         | 1.03    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.12±0.05ms          | 4.61±0.06ms         | 1.12    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.22±0.01s           | 1.29±0.01s          | 1.05    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 3.56±0.04ms          | 3.74±0.04ms         | 1.05    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.22±0.03ms          | 3.41±0.02ms         | 1.06    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 131±3ms              | 140±4ms             | 1.07    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.2±0.5ms           | 22.1±0.4ms          | 1.00    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 146±3ms              | 153±1ms             | 1.05    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 26.3±0.6ms           | 28.0±0.5ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 21.4±0.4ms           | 21.9±0.4ms          | 1.02    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 28.4±0.7ms           | 30.1±0.4ms          | 1.06    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 16.4±0.3ms           | 17.3±0.5ms          | 1.06    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 36.0±0.7ms           | 39.9±0.8ms          | 1.11    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 13.0±0.2ms           | 13.9±0.5ms          | 1.07    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 20.8±0.9ms           | 22.4±0.6ms          | 1.08    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 16.3±0.3ms           | 17.2±0.6ms          | 1.06    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 18.8±0.7ms           | 20.6±0.5ms          | 1.10    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.0±0.2ms           | 13.5±0.2ms          | 1.04    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 15.9±0.3ms           | 16.8±0.7ms          | 1.05    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 17.5±0.4ms           | 17.9±0.5ms          | 1.02    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 43.8±0.8ms           | 48.0±0.4ms          | 1.09    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 17.4±0.3ms           | 18.2±0.4ms          | 1.05    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.0±0.4ms           | 22.2±0.7ms          | 1.06    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.63±0.08ms          | 2.82±0.1ms          | 1.07    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.40±0.2ms           | 5.40±0.09ms         | 1.00    | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 39.6±2ms             | 38.9±2ms            | 0.98    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 822±5ms              | 815±5ms             | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 101±0.9ns            | 101±0.2ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields                |
|          | 917±7ns              | 935±10ns            | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values                |
|          | 102±1ns              | 102±1ns             | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields                             |
|          | 911±5ns              | 931±10ns            | 1.02    | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values                             |
|          | 102±0.4ns            | 102±0.6ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields                     |
|          | 1.01±0.02μs          | 1.04±0.02μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values                     |
|          | 101±1ns              | 102±0.4ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields                            |
|          | 1.08±0.02μs          | 1.12±0.03μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values                            |
|          | 102±0.4ns            | 102±0.5ns           | 1.00    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields                             |
|          | 1.01±0.01μs          | 1.04±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values                             |
|          | 101±0.8ns            | 102±0.6ns           | 1.01    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields                         |
|          | 1.15±0.01μs          | 1.18±0.01μs         | 1.03    | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values                         |
|          | 1.00±0.02μs          | 1.00±0.01μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1)            |
|          | 6.86±0.09μs          | 6.86±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10)           |
|          | 64.2±1μs             | 65.2±0.5μs          | 1.02    | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100)          |
|          | 1.02±0.02μs          | 1.00±0.01μs         | 0.98    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1)                         |
|          | 6.84±0.1μs           | 6.86±0.05μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10)                        |
|          | 64.9±0.9μs           | 65.4±0.6μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100)                       |
|          | 1.05±0.01μs          | 1.04±0μs            | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1)                  |
|          | 7.29±0.2μs           | 7.30±0.04μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10)                 |
|          | 69.5±1μs             | 69.4±0.4μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100)                |
|          | 1.11±0.03μs          | 1.10±0.02μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1)                        |
|          | 7.72±0.1μs           | 7.70±0.1μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10)                       |
|          | 73.5±1μs             | 74.5±2μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100)                      |
|          | 1.07±0.01μs          | 1.06±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1)                         |
|          | 7.41±0.1μs           | 7.42±0.09μs         | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10)                        |
|          | 69.0±2μs             | 69.5±0.7μs          | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100)                       |
|          | 1.14±0.02μs          | 1.13±0.01μs         | 0.99    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1)                     |
|          | 8.10±0.2μs           | 8.08±0.2μs          | 1.00    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10)                    |
|          | 76.8±1μs             | 77.7±1μs            | 1.01    | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100)                   |
|          | 107±1ns              | 107±0.8ns           | 1.00    | mixin.CFVariableMixin.time_get_attributes                                                            |
|          | 107±3ns              | 107±0.4ns           | 1.00    | mixin.CFVariableMixin.time_get_long_name                                                             |
|          | 960±10ns             | 958±10ns            | 1.00    | mixin.CFVariableMixin.time_get_metadata                                                              |
|          | 106±0.3ns            | 107±0.7ns           | 1.01    | mixin.CFVariableMixin.time_get_standard_name                                                         |
|          | 106±0.3ns            | 107±0.6ns           | 1.01    | mixin.CFVariableMixin.time_get_units                                                                 |
|          | 108±2ns              | 107±0.7ns           | 0.99    | mixin.CFVariableMixin.time_get_var_name                                                              |
|          | 691±10ns             | 689±20ns            | 1.00    | mixin.CFVariableMixin.time_set_attributes                                                            |
|          | 114±0.8ns            | 116±1ns             | 1.02    | mixin.CFVariableMixin.time_set_long_name                                                             |
|          | 3.56±0.09μs          | 3.48±0.03μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__dict                                                        |
|          | 4.42±0.09μs          | 4.34±0.06μs         | 0.98    | mixin.CFVariableMixin.time_set_metadata__metadata                                                    |
|          | 4.32±0.07μs          | 4.27±0.03μs         | 0.99    | mixin.CFVariableMixin.time_set_metadata__tuple                                                       |
|          | 569±3ns              | 541±10ns            | 0.95    | mixin.CFVariableMixin.time_set_standard_name                                                         |
|          | 425±7ns              | 427±5ns             | 1.01    | mixin.CFVariableMixin.time_set_units                                                                 |
|          | 435±2ns              | 436±7ns             | 1.00    | mixin.CFVariableMixin.time_set_var_name                                                              |
|          | 367±3ms              | 368±3ms             | 1.00    | plot.AuxSort.time_aux_sort                                                                           |
|          | 78.5±3ms             | 77.8±3ms            | 0.99    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 95.9±0.8ms           | 96.5±0.9ms          | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 48.4±1ms             | 52.1±2ms            | 1.08    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 3.69±0.06ms          | 4.10±0.05ms         | 1.11    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 87.8±0.9ms           | 93.3±1ms            | 1.06    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 54.2±1ms             | 53.9±2ms            | 0.99    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 585±5ms              | 592±5ms             | 1.01    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 102±1ns              | 102±2ns             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 72.3±1ms             | 77.6±0.4ms          | 1.07    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 103±0.7ns            | 103±2ns             | 0.99    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 520±2ms              | 522±2ms             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 35.3±0.4ms           | 41.0±1ms            | 1.16    | stats.PearsonR.time_lazy                                                                             |
|          | 19.0±0.3ms           | 18.8±0.2ms          | 0.99    | stats.PearsonR.time_real                                                                             |
|          | 22.8±1ms             | 23.0±1ms            | 1.01    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 59.1±0.8ms           | 59.2±0.8ms          | 1.00    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Benchmarks that have got worse:

| Change   | Before [821cbb87]    | After [943a364d]    |   Ratio | Benchmark (Parameter)                                      |
|----------|----------------------|---------------------|---------|------------------------------------------------------------|
| +        | 1.52±0.01ms          | 1.86±0.01ms         |    1.22 | experimental.ugrid.Connectivity.time_create(6)             |
| +        | 2.65±0.04ms          | 3.22±0.05ms         |    1.21 | experimental.ugrid.ConnectivityLazy.time_create(6)         |
| +        | 251±3μs              | 362±3μs             |    1.44 | experimental.ugrid.Mesh.time_add_connectivities(6)         |
| +        | 293±4μs              | 412±5μs             |    1.4  | experimental.ugrid.Mesh.time_create(6)                     |
| +        | 289±5μs              | 402±10μs            |    1.39 | experimental.ugrid.MeshLazy.time_add_connectivities(6)     |
| +        | 334±8μs              | 457±10μs            |    1.37 | experimental.ugrid.MeshLazy.time_create(6)                 |
| +        | 289±4ms              | 352±4ms             |    1.22 | load.StructuredFF.time_structured_load((2, 2, 1000), True) |

Generated by GHA run 8346169599

github-actions[bot] avatar Mar 19 '24 16:03 github-actions[bot]

Now dead

pp-mo avatar May 24 '24 11:05 pp-mo