SciTools / iris

A powerful, format-agnostic, and community-driven Python package for analysing and visualising Earth science data
https://scitools-iris.readthedocs.io/en/stable/
BSD 3-Clause "New" or "Revised" License
633 stars 283 forks source link

Performance Shift(s): `16f0cc42` #5933

Closed github-actions[bot] closed 5 months ago

github-actions[bot] commented 5 months ago

Benchmark comparison has identified performance shifts at:

Please review the report below and take corrective/congratulatory action as appropriate :slightly_smiling_face:

:stopwatch: Performance Benchmark Report: 16f0cc42

Performance shifts ``` | Change | Before [b33ccc19] | After [16f0cc42] | Ratio | Benchmark (Parameter) | |----------|------------------------------|-----------------------------|---------|-----------------------------------| | + | 41.3±0.8μs | 50.8±6μs | 1.23 | cube.MeshCoord.time_remove(10000) | ```
Full benchmark results ``` Benchmarks that have stayed the same: | Change | Before [b33ccc19] | After [16f0cc42] | Ratio | Benchmark (Parameter) | |----------|------------------------------|-----------------------------|---------|------------------------------------------------------------------------------------------------------| | | n/a | n/a | n/a | aux_factory.FactoryCommon.time_create | | | 4.38±0.05μs | 4.38±0.03μs | 1.00 | aux_factory.HybridHeightFactory.time_create | | | 4.98±0.1μs | 4.96±0.06μs | 1.00 | coords.AncillaryVariable.time_create | | | 339±3ns | 335±1ns | 0.99 | coords.AuxCoord.time_bounds | | | 8.74±0.1μs | 8.88±0.08μs | 1.02 | coords.AuxCoord.time_create | | | 310±2ns | 308±2ns | 0.99 | coords.AuxCoord.time_points | | | 243±10μs | 242±8μs | 1.00 | coords.AuxCoordLazy.time_bounds | | | 12.9±0.5μs | 13.5±0.5μs | 1.04 | coords.AuxCoordLazy.time_create | | | 240±10μs | 238±8μs | 0.99 | coords.AuxCoordLazy.time_points | | | 5.34±0.05μs | 5.31±0.06μs | 0.99 | coords.CellMeasure.time_create | | | 1.11±0.01μs | 1.09±0.01μs | 0.99 | coords.CellMethod.time_create | | | n/a | n/a | n/a | coords.CoordCommon.time_create | | | 107±1μs | 107±1μs | 1.00 | coords.DimCoord.time_create | | | 30.1±0.3μs | 30.7±0.9μs | 1.02 | coords.DimCoord.time_regular | | | 377±3ms | 385±4ms | 1.02 | cube.Aggregation.time_aggregated_by | | | 57.6±0.5μs | 58.1±0.4μs | 1.01 | cube.AncillaryVariable.time_add | | | 10.8±0.09μs | 10.7±0.2μs | 0.99 | cube.AncillaryVariable.time_create | | | 63.9±0.5μs | 64.4±0.7μs | 1.01 | cube.AuxCoord.time_add | | | 9.39±0.08μs | 9.49±0.1μs | 1.01 | cube.AuxCoord.time_create | | | 5.11±0.06μs | 5.06±0.03μs | 0.99 | cube.AuxCoord.time_return_coord_dims | | | 3.76±0.03μs | 3.73±0.05μs | 0.99 | cube.AuxCoord.time_return_coords | | | 38.6±0.4μs | 38.2±0.8μs | 0.99 | cube.AuxFactory.time_add | | | 11.7±0.1μs | 11.6±0.2μs | 0.99 | cube.AuxFactory.time_create | | | 57.8±0.9μs | 57.9±0.4μs | 1.00 | cube.CellMeasure.time_add | | | 10.9±0.2μs | 10.7±0.09μs | 0.99 | cube.CellMeasure.time_create | | | 51.2±0.5μs | 51.2±0.4μs | 1.00 | cube.CellMethod.time_add | | | 7.55±0.07μs | 7.67±0.09μs | 1.02 | 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 | | | 7.00±0.05μs | 7.02±0.06μs | 1.00 | cube.Cube.time_basic | | | 52.0±0.5ns | 51.5±0.7ns | 0.99 | cube.Cube.time_rename | | | 55.1±0.3μs | 55.6±0.6μs | 1.01 | cube.Equality.time_equality | | | 328±3ms | 333±3ms | 1.02 | cube.Merge.time_merge | | | 24.5±0.9μs | 26.0±2μs | 1.06 | cube.MeshCoord.time_add(10000) | | | 27.0±0.8μs | 28.6±1μs | 1.06 | cube.MeshCoord.time_add(1000000) | | | 22.6±0.5μs | 22.6±1μs | 1.00 | cube.MeshCoord.time_add(6) | | | 17.3±0.1μs | 17.0±0.2μs | 0.98 | cube.MeshCoord.time_create(10000) | | | 16.6±0.2μs | 17.0±0.2μs | 1.02 | cube.MeshCoord.time_create(1000000) | | | 16.4±0.2μs | 15.9±0.3μs | 0.97 | cube.MeshCoord.time_create(6) | | | 57.3±1μs | 58.9±2μs | 1.03 | cube.MeshCoord.time_remove(1000000) | | | 41.4±0.7μs | 44.4±3μs | 1.07 | cube.MeshCoord.time_remove(6) | | | 2.44±0.1ms | 2.49±0.1ms | 1.02 | experimental.ugrid.Connectivity.time_create(1000000) | | | 1.93±0.02ms | 1.90±0.02ms | 0.98 | experimental.ugrid.Connectivity.time_create(6) | | | 498±6ns | 487±2ns | 0.98 | experimental.ugrid.Connectivity.time_indices(1000000) | | | 493±2ns | 493±7ns | 1.00 | experimental.ugrid.Connectivity.time_indices(6) | | | 21.1±1ms | 21.5±0.7ms | 1.02 | experimental.ugrid.Connectivity.time_location_lengths(1000000) | | | 2.77±0.02ms | 2.76±0.02ms | 0.99 | experimental.ugrid.Connectivity.time_location_lengths(6) | | | 27.8±3ms | 28.2±2ms | 1.01 | experimental.ugrid.Connectivity.time_validate_indices(1000000) | | | 4.12±0.04ms | 4.13±0.06ms | 1.00 | experimental.ugrid.Connectivity.time_validate_indices(6) | | | 4.02±0.06ms | 4.14±0.1ms | 1.03 | experimental.ugrid.ConnectivityLazy.time_create(1000000) | | | 3.29±0.05ms | 3.29±0.04ms | 1.00 | experimental.ugrid.ConnectivityLazy.time_create(6) | | | 256±5μs | 259±6μs | 1.01 | experimental.ugrid.ConnectivityLazy.time_indices(1000000) | | | 254±4μs | 255±6μs | 1.00 | experimental.ugrid.ConnectivityLazy.time_indices(6) | | | 21.3±0.5ms | 20.9±0.4ms | 0.98 | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000) | | | 3.03±0.04ms | 3.04±0.04ms | 1.00 | experimental.ugrid.ConnectivityLazy.time_location_lengths(6) | | | 23.1±0.5ms | 24.0±0.6ms | 1.04 | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000) | | | 4.36±0.05ms | 4.40±0.06ms | 1.01 | experimental.ugrid.ConnectivityLazy.time_validate_indices(6) | | | 11.6±0.2μs | 11.8±0.2μs | 1.02 | experimental.ugrid.Mesh.time_add_connectivities(1000000) | | | 409±4μs | 398±9μs | 0.98 | experimental.ugrid.Mesh.time_add_connectivities(6) | | | 4.32±0.08μs | 4.29±0.03μs | 0.99 | experimental.ugrid.Mesh.time_add_coords(1000000) | | | 4.21±0.04μs | 4.20±0.01μs | 1.00 | experimental.ugrid.Mesh.time_add_coords(6) | | | 3.85±0.09μs | 3.79±0.08μs | 0.99 | experimental.ugrid.Mesh.time_connectivities(1000000) | | | 3.79±0.07μs | 3.78±0.05μs | 1.00 | experimental.ugrid.Mesh.time_connectivities(6) | | | 5.13±0.03μs | 5.19±0.05μs | 1.01 | experimental.ugrid.Mesh.time_coords(1000000) | | | 5.14±0.03μs | 5.16±0.04μs | 1.00 | experimental.ugrid.Mesh.time_coords(6) | | | 42.9±0.5μs | 42.3±0.3μs | 0.99 | experimental.ugrid.Mesh.time_create(1000000) | | | 449±4μs | 448±5μs | 1.00 | experimental.ugrid.Mesh.time_create(6) | | | 76.1±2ms | 78.5±2ms | 1.03 | experimental.ugrid.Mesh.time_eq(1000000) | | | 257±5μs | 257±2μs | 1.00 | experimental.ugrid.Mesh.time_eq(6) | | | 3.64±0.1μs | 3.63±0.04μs | 1.00 | experimental.ugrid.Mesh.time_remove_connectivities(1000000) | | | 3.65±0.04μs | 3.56±0.04μs | 0.98 | experimental.ugrid.Mesh.time_remove_connectivities(6) | | | 6.38±0.06μs | 6.39±0.09μs | 1.00 | experimental.ugrid.Mesh.time_remove_coords(1000000) | | | 6.32±0.06μs | 6.31±0.07μs | 1.00 | experimental.ugrid.Mesh.time_remove_coords(6) | | | 10.6±0.07μs | 10.8±0.1μs | 1.02 | experimental.ugrid.MeshCoord.time_bounds(10000) | | | 116±0.8ms | 120±2ms | 1.04 | experimental.ugrid.MeshCoord.time_bounds(1000000) | | | 5.45±0.06μs | 5.55±0.1μs | 1.02 | experimental.ugrid.MeshCoord.time_bounds(6) | | | 4.10±0.04ms | 4.10±0.04ms | 1.00 | experimental.ugrid.MeshCoord.time_create(10000) | | | 4.16±0.02ms | 4.12±0.07ms | 0.99 | experimental.ugrid.MeshCoord.time_create(1000000) | | | 198±5μs | 196±2μs | 0.99 | experimental.ugrid.MeshCoord.time_create(6) | | | 3.37±0.02μs | 3.45±0.03μs | 1.02 | experimental.ugrid.MeshCoord.time_points(10000) | | | 3.91±0.02μs | 3.96±0.04μs | 1.01 | experimental.ugrid.MeshCoord.time_points(1000000) | | | 2.81±0.03μs | 2.78±0.03μs | 0.99 | experimental.ugrid.MeshCoord.time_points(6) | | | 7.39±0.08ms | 7.57±0.2ms | 1.02 | experimental.ugrid.MeshCoordLazy.time_bounds(10000) | | | 117±0.9ms | 122±2ms | 1.05 | experimental.ugrid.MeshCoordLazy.time_bounds(1000000) | | | 11.7±0.3μs | 11.8±0.5μs | 1.01 | experimental.ugrid.MeshCoordLazy.time_bounds(6) | | | 4.10±0.06ms | 4.17±0.07ms | 1.02 | experimental.ugrid.MeshCoordLazy.time_create(10000) | | | 4.12±0.06ms | 4.21±0.08ms | 1.02 | experimental.ugrid.MeshCoordLazy.time_create(1000000) | | | 241±5μs | 244±7μs | 1.01 | experimental.ugrid.MeshCoordLazy.time_create(6) | | | 2.53±0.08ms | 2.57±0.1ms | 1.01 | experimental.ugrid.MeshCoordLazy.time_points(10000) | | | 4.55±0.05ms | 4.69±0.07ms | 1.03 | experimental.ugrid.MeshCoordLazy.time_points(1000000) | | | 7.34±0.2μs | 7.67±0.6μs | 1.04 | experimental.ugrid.MeshCoordLazy.time_points(6) | | | 32.8±1μs | 32.8±0.9μs | 1.00 | experimental.ugrid.MeshLazy.time_add_connectivities(1000000) | | | 449±7μs | 461±20μs | 1.03 | experimental.ugrid.MeshLazy.time_add_connectivities(6) | | | 19.1±0.4μs | 18.4±0.7μs | 0.97 | experimental.ugrid.MeshLazy.time_add_coords(1000000) | | | 15.8±0.5μs | 16.1±1μs | 1.02 | experimental.ugrid.MeshLazy.time_add_coords(6) | | | 15.5±0.5μs | 15.9±1μs | 1.02 | experimental.ugrid.MeshLazy.time_connectivities(1000000) | | | 14.8±0.2μs | 15.2±0.8μs | 1.03 | experimental.ugrid.MeshLazy.time_connectivities(6) | | | 19.0±0.4μs | 19.5±0.8μs | 1.03 | experimental.ugrid.MeshLazy.time_coords(1000000) | | | 18.4±0.4μs | 18.4±0.3μs | 1.00 | experimental.ugrid.MeshLazy.time_coords(6) | | | 80.9±2μs | 78.3±1μs | 0.97 | experimental.ugrid.MeshLazy.time_create(1000000) | | | 505±10μs | 501±20μs | 0.99 | experimental.ugrid.MeshLazy.time_create(6) | | | 76.2±3ms | 79.7±3ms | 1.05 | experimental.ugrid.MeshLazy.time_eq(1000000) | | | 334±5μs | 347±20μs | 1.04 | experimental.ugrid.MeshLazy.time_eq(6) | | | 16.8±0.4μs | 16.9±0.6μs | 1.01 | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000) | | | 15.4±0.3μs | 15.6±0.4μs | 1.01 | experimental.ugrid.MeshLazy.time_remove_connectivities(6) | | | 32.4±1μs | 31.6±0.7μs | 0.98 | experimental.ugrid.MeshLazy.time_remove_coords(1000000) | | | 29.2±1μs | 29.0±0.7μ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) | | | 414±3ns | 412±4ns | 0.99 | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50) | | | 260±2ms | 258±2ms | 0.99 | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500) | | | 14.6±0.2ms | 14.7±0.2ms | 1.00 | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50) | | | 16.2±0.3ms | 16.5±0.5ms | 1.02 | 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) | | | 104±2ms | 105±2ms | 1.01 | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50) | | | 697±5ms | 698±5ms | 1.00 | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500) | | | 66.4±2ms | 65.9±0.4ms | 0.99 | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50) | | | 651±3ms | 655±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) | | | 666±3μs | 675±10μs | 1.01 | import_iris.Iris.time__concatenate | | | 182±2μs | 180±3μs | 0.99 | import_iris.Iris.time__constraints | | | 111±1μs | 110±0.8μs | 0.99 | import_iris.Iris.time__data_manager | | | 94.0±0.6μs | 92.7±0.4μs | 0.99 | import_iris.Iris.time__deprecation | | | 139±1μs | 138±2μs | 0.99 | import_iris.Iris.time__lazy_data | | | 905±8μs | 905±4μs | 1.00 | import_iris.Iris.time__merge | | | 77.4±1μs | 77.3±0.7μs | 1.00 | import_iris.Iris.time__representation | | | 491±5μs | 505±10μs | 1.03 | import_iris.Iris.time_analysis | | | 144±2μs | 142±2μs | 0.98 | import_iris.Iris.time_analysis__area_weighted | | | 111±2μs | 110±0.8μs | 0.99 | import_iris.Iris.time_analysis__grid_angles | | | 245±2μs | 246±2μs | 1.00 | import_iris.Iris.time_analysis__interpolation | | | 192±2μs | 190±2μs | 0.99 | import_iris.Iris.time_analysis__regrid | | | 113±0.9μs | 112±0.9μs | 0.99 | import_iris.Iris.time_analysis__scipy_interpolate | | | 142±2μs | 140±2μs | 0.99 | import_iris.Iris.time_analysis_calculus | | | 329±0.6μs | 330±4μs | 1.00 | import_iris.Iris.time_analysis_cartography | | | 95.8±0.8μs | 94.6±0.5μs | 0.99 | import_iris.Iris.time_analysis_geomerty | | | 220±3μs | 221±3μs | 1.00 | import_iris.Iris.time_analysis_maths | | | 100±2μs | 98.4±0.5μs | 0.98 | import_iris.Iris.time_analysis_stats | | | 176±1μs | 174±2μs | 0.99 | import_iris.Iris.time_analysis_trajectory | | | 305±5μs | 304±1μs | 1.00 | import_iris.Iris.time_aux_factory | | | 84.9±0.4μs | 85.2±1μs | 1.00 | import_iris.Iris.time_common | | | 166±3μs | 165±1μs | 0.99 | import_iris.Iris.time_common_lenient | | | 981±7μs | 989±9μs | 1.01 | import_iris.Iris.time_common_metadata | | | 134±0.8μs | 133±1μs | 1.00 | import_iris.Iris.time_common_mixin | | | 1.18±0ms | 1.18±0.01ms | 1.00 | import_iris.Iris.time_common_resolve | | | 201±1μs | 202±3μs | 1.00 | import_iris.Iris.time_config | | | 117±0.6μs | 115±0.5μs | 0.98 | import_iris.Iris.time_coord_categorisation | | | 352±2μs | 353±4μs | 1.00 | import_iris.Iris.time_coord_systems | | | 753±8μs | 742±5μs | 0.99 | import_iris.Iris.time_coords | | | 663±10μs | 664±10μs | 1.00 | import_iris.Iris.time_cube | | | 225±2μs | 224±4μs | 1.00 | import_iris.Iris.time_exceptions | | | 78.4±0.7μs | 78.2±0.5μs | 1.00 | import_iris.Iris.time_experimental | | | 189±4μs | 189±2μs | 1.00 | import_iris.Iris.time_fileformats | | | 252±2μs | 251±1μs | 1.00 | import_iris.Iris.time_fileformats__ff | | | 2.70±0.02ms | 2.70±0.02ms | 1.00 | import_iris.Iris.time_fileformats__ff_cross_references | | | 79.3±0.7μs | 79.3±0.6μs | 1.00 | import_iris.Iris.time_fileformats__pp_lbproc_pairs | | | 116±0.8μs | 116±1μs | 1.00 | import_iris.Iris.time_fileformats_abf | | | 349±2μs | 354±3μs | 1.01 | import_iris.Iris.time_fileformats_cf | | | 5.31±0.05ms | 5.37±0.1ms | 1.01 | import_iris.Iris.time_fileformats_dot | | | 75.9±1μs | 74.6±0.6μs | 0.98 | import_iris.Iris.time_fileformats_name | | | 261±2μs | 265±4μs | 1.02 | import_iris.Iris.time_fileformats_name_loaders | | | 119±2μs | 121±2μs | 1.02 | import_iris.Iris.time_fileformats_netcdf | | | 122±0.9μs | 122±0.8μs | 0.99 | import_iris.Iris.time_fileformats_nimrod | | | 206±3μs | 207±2μs | 1.00 | import_iris.Iris.time_fileformats_nimrod_load_rules | | | 767±6μs | 776±7μs | 1.01 | import_iris.Iris.time_fileformats_pp | | | 180±2μs | 181±2μs | 1.00 | import_iris.Iris.time_fileformats_pp_load_rules | | | 133±0.9μs | 136±4μs | 1.02 | import_iris.Iris.time_fileformats_pp_save_rules | | | 514±1μs | 516±4μs | 1.00 | import_iris.Iris.time_fileformats_rules | | | 220±2μs | 222±5μs | 1.01 | import_iris.Iris.time_fileformats_structured_array_identification | | | 84.4±0.4μs | 84.4±0.6μs | 1.00 | import_iris.Iris.time_fileformats_um | | | 162±1μs | 163±2μs | 1.00 | import_iris.Iris.time_fileformats_um__fast_load | | | 138±2μs | 138±0.8μs | 1.00 | import_iris.Iris.time_fileformats_um__fast_load_structured_fields | | | 76.6±0.4μs | 76.6±0.8μs | 1.00 | import_iris.Iris.time_fileformats_um__ff_replacement | | | 82.8±0.8μs | 81.5±1μs | 0.98 | import_iris.Iris.time_fileformats_um__optimal_array_structuring | | | 989±4μs | 988±3μs | 1.00 | import_iris.Iris.time_fileformats_um_cf_map | | | 138±1μs | 138±2μs | 1.00 | import_iris.Iris.time_io | | | 172±1μs | 175±3μs | 1.01 | import_iris.Iris.time_io_format_picker | | | 207±2μs | 207±3μs | 1.00 | import_iris.Iris.time_iris | | | 129±0.8μs | 127±0.6μs | 0.99 | import_iris.Iris.time_iterate | | | 8.50±0.1ms | 8.52±0.05ms | 1.00 | import_iris.Iris.time_palette | | | 340±4μs | 339±2μs | 1.00 | import_iris.Iris.time_plot | | | 104±0.6μs | 104±1μs | 0.99 | import_iris.Iris.time_quickplot | | | 2.07±0.01ms | 2.09±0.01ms | 1.01 | import_iris.Iris.time_std_names | | | 1.77±0.01ms | 1.78±0.01ms | 1.00 | import_iris.Iris.time_symbols | | | 40.6±0.6ms | 40.2±0.8ms | 0.99 | import_iris.Iris.time_tests | | | 232±2μs | 232±2μs | 1.00 | import_iris.Iris.time_third_party_cartopy | | | 4.82±0.02ms | 4.81±0.02ms | 1.00 | import_iris.Iris.time_third_party_cf_units | | | 106±1μs | 108±1μs | 1.01 | import_iris.Iris.time_third_party_cftime | | | 2.81±0.02ms | 2.82±0.02ms | 1.00 | import_iris.Iris.time_third_party_matplotlib | | | 1.06±0.01ms | 1.07±0ms | 1.00 | import_iris.Iris.time_third_party_numpy | | | 159±0.6μs | 159±0.7μs | 0.99 | import_iris.Iris.time_third_party_scipy | | | 99.8±0.8μs | 99.7±0.8μs | 1.00 | import_iris.Iris.time_time | | | 325±7μs | 316±2μs | 0.97 | import_iris.Iris.time_util | | | 75.2±0.8μs | 75.2±0.9μs | 1.00 | iterate.IZip.time_izip | | | 8.15±0.06ms | 8.12±0.07ms | 1.00 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF') | | | 23.5±0.5ms | 23.5±0.4ms | 1.00 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF') | | | 8.92±0.08ms | 8.91±0.06ms | 1.00 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP') | | | 8.10±0.03ms | 8.12±0.03ms | 1.00 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF') | | | 20.9±0.09ms | 21.2±0.2ms | 1.01 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF') | | | 8.90±0.08ms | 8.85±0.04ms | 0.99 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP') | | | 1.35±0.02s | 1.36±0.01s | 1.01 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF') | | | 20.5±0.1ms | 20.7±0.3ms | 1.01 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF') | | | 1.50±0.01s | 1.51±0.02s | 1.01 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP') | | | 1.36±0.02s | 1.36±0.01s | 1.00 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF') | | | 20.5±0.2ms | 20.5±0.2ms | 1.00 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF') | | | 1.50±0.02s | 1.51±0.01s | 1.01 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP') | | | 3.93±0.03ms | 3.95±0.02ms | 1.00 | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF') | | | 19.9±0.1ms | 19.9±0.3ms | 1.00 | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF') | | | 4.23±0.04ms | 4.23±0.09ms | 1.00 | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP') | | | 3.93±0.02ms | 3.95±0.05ms | 1.01 | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF') | | | 19.6±0.2ms | 19.9±0.1ms | 1.02 | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF') | | | 4.21±0.02ms | 4.19±0.03ms | 1.00 | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP') | | | 31.1±2ms | 33.1±3ms | 1.06 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF') | | | 19.1±0.3ms | 18.4±0.3ms | 0.96 | 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.3±2ms | 25.4±2ms | 1.00 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF') | | | 70.1±2ms | 70.2±2ms | 1.00 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF') | | | 25.4±0.9ms | 25.6±2ms | 1.01 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP') | | | 434±4ms | 433±4ms | 1.00 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF') | | | 2.82±0.1ms | 2.80±0.1ms | 0.99 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF') | | | 441±7ms | 439±3ms | 1.00 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP') | | | 446±9ms | 440±2ms | 0.99 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF') | | | 2.84±0.1ms | 2.87±0.08ms | 1.01 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF') | | | 445±9ms | 447±5ms | 1.00 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP') | | | 1.52±0.07ms | 1.52±0.08ms | 1.00 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF') | | | 2.75±0.07ms | 2.79±0.1ms | 1.02 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF') | | | 1.55±0.1ms | 1.54±0.08ms | 0.99 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP') | | | 1.56±0.06ms | 1.57±0.08ms | 1.01 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF') | | | 2.86±0.07ms | 2.78±0.2ms | 0.97 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF') | | | 1.56±0.06ms | 1.57±0.06ms | 1.00 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP') | | | 352±2ms | 352±6ms | 1.00 | load.ManyVars.time_many_var_load | | | 8.26±0.06ms | 8.16±0.05ms | 0.99 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF') | | | 9.06±0.05ms | 9.11±0.09ms | 1.00 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP') | | | 1.38±0.01s | 1.36±0.01s | 0.99 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF') | | | 1.53±0.01s | 1.52±0.01s | 0.99 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP') | | | 4.00±0.02ms | 3.98±0.01ms | 0.99 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF') | | | 4.29±0.02ms | 4.28±0.02ms | 1.00 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP') | | | 8.14±0.1ms | 8.12±0.03ms | 1.00 | load.StructuredFF.time_structured_load((1280, 960, 5), False) | | | 4.81±0.02ms | 4.83±0.03ms | 1.00 | load.StructuredFF.time_structured_load((1280, 960, 5), True) | | | 1.36±0.01s | 1.35±0.01s | 0.99 | load.StructuredFF.time_structured_load((2, 2, 1000), False) | | | 377±5ms | 382±5ms | 1.01 | load.StructuredFF.time_structured_load((2, 2, 1000), True) | | | 3.95±0.03ms | 3.94±0.02ms | 1.00 | load.StructuredFF.time_structured_load((2, 2, 2), False) | | | 3.57±0.02ms | 3.56±0.03ms | 1.00 | load.StructuredFF.time_structured_load((2, 2, 2), True) | | | 149±0.7ms | 151±0.7ms | 1.01 | load.TimeConstraint.time_time_constraint(20, 'FF') | | | 22.9±0.2ms | 23.0±0.2ms | 1.00 | load.TimeConstraint.time_time_constraint(20, 'NetCDF') | | | 165±2ms | 165±2ms | 1.00 | load.TimeConstraint.time_time_constraint(20, 'PP') | | | 29.6±0.09ms | 29.7±0.5ms | 1.00 | load.TimeConstraint.time_time_constraint(3, 'FF') | | | 22.7±0.1ms | 23.1±0.6ms | 1.01 | load.TimeConstraint.time_time_constraint(3, 'NetCDF') | | | 31.8±0.2ms | 32.1±0.2ms | 1.01 | load.TimeConstraint.time_time_constraint(3, 'PP') | | | 17.2±0.2ms | 17.5±0.2ms | 1.02 | load.ugrid.BasicLoading.time_load_file(1) | | | 40.9±0.5ms | 40.5±0.8ms | 0.99 | load.ugrid.BasicLoading.time_load_file(200000) | | | 13.9±0.3ms | 14.1±0.3ms | 1.02 | load.ugrid.BasicLoading.time_load_mesh(1) | | | 21.4±0.2ms | 21.6±0.5ms | 1.01 | load.ugrid.BasicLoading.time_load_mesh(200000) | | | 17.4±0.3ms | 17.2±0.4ms | 0.99 | load.ugrid.BasicLoadingTime.time_load_file(1) | | | 19.9±0.5ms | 20.0±0.6ms | 1.01 | load.ugrid.BasicLoadingTime.time_load_file(200000) | | | 14.0±0.3ms | 14.2±0.3ms | 1.01 | load.ugrid.BasicLoadingTime.time_load_mesh(1) | | | 16.2±0.2ms | 16.6±0.5ms | 1.03 | load.ugrid.BasicLoadingTime.time_load_mesh(200000) | | | 18.2±0.3ms | 18.3±0.3ms | 1.00 | load.ugrid.Callback.time_load_file_callback(1) | | | 49.8±0.6ms | 50.1±0.4ms | 1.01 | load.ugrid.Callback.time_load_file_callback(200000) | | | 18.2±0.2ms | 18.4±0.3ms | 1.01 | load.ugrid.CallbackTime.time_load_file_callback(1) | | | 21.4±0.1ms | 21.7±0.5ms | 1.01 | load.ugrid.CallbackTime.time_load_file_callback(200000) | | | 2.69±0.1ms | 2.72±0.1ms | 1.01 | load.ugrid.DataRealisation.time_realise_data(10000) | | | 3.57±0.9ms | 5.33±0.9ms | ~1.50 | load.ugrid.DataRealisation.time_realise_data(200000) | | | 36.6±0.4ms | 36.9±0.7ms | 1.01 | load.ugrid.DataRealisationTime.time_realise_data(10000) | | | 793±5ms | 810±10ms | 1.02 | load.ugrid.DataRealisationTime.time_realise_data(200000) | | | 78.0±0.2ns | 80.5±4ns | 1.03 | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields | | | 745±3ns | 737±5ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values | | | 77.9±0.4ns | 78.8±3ns | 1.01 | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields | | | 745±6ns | 737±3ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values | | | 78.8±0.6ns | 78.3±0.4ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields | | | 859±3ns | 845±7ns | 0.98 | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values | | | 78.3±0.2ns | 77.7±0.3ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields | | | 915±5ns | 905±9ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values | | | 77.9±0.4ns | 78.1±0.6ns | 1.00 | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields | | | 857±8ns | 853±9ns | 1.00 | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values | | | 79.9±0.7ns | 78.4±0.2ns | 0.98 | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields | | | 976±6ns | 968±8ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values | | | 898±20ns | 881±5ns | 0.98 | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1) | | | 6.96±0.02μs | 6.93±0.05μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10) | | | 65.4±0.4μs | 65.7±0.2μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100) | | | 885±5ns | 880±10ns | 0.99 | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1) | | | 6.85±0.04μs | 6.94±0.2μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10) | | | 66.1±0.5μs | 65.1±0.5μs | 0.98 | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100) | | | 930±4ns | 928±10ns | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1) | | | 7.29±0.05μs | 7.28±0.1μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10) | | | 70.5±0.4μs | 70.2±0.5μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100) | | | 971±3ns | 969±10ns | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1) | | | 7.67±0.03μs | 7.64±0.06μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10) | | | 74.1±0.6μs | 73.8±0.5μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100) | | | 932±7ns | 934±10ns | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1) | | | 7.34±0.05μs | 7.41±0.2μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10) | | | 69.9±0.4μs | 70.9±1μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100) | | | 1.01±0.01μs | 1.00±0.02μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1) | | | 8.17±0.05μs | 8.07±0.02μs | 0.99 | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10) | | | 77.4±0.4μs | 77.8±0.9μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100) | | | 84.0±1ns | 84.9±0.8ns | 1.01 | mixin.CFVariableMixin.time_get_attributes | | | 82.4±0.3ns | 82.6±0.4ns | 1.00 | mixin.CFVariableMixin.time_get_long_name | | | 780±7ns | 773±5ns | 0.99 | mixin.CFVariableMixin.time_get_metadata | | | 82.6±0.3ns | 82.5±0.2ns | 1.00 | mixin.CFVariableMixin.time_get_standard_name | | | 83.4±0.8ns | 83.2±0.6ns | 1.00 | mixin.CFVariableMixin.time_get_units | | | 83.5±2ns | 82.5±0.4ns | 0.99 | mixin.CFVariableMixin.time_get_var_name | | | 776±10ns | 787±10ns | 1.01 | mixin.CFVariableMixin.time_set_attributes | | | 116±0.7ns | 115±1ns | 0.99 | mixin.CFVariableMixin.time_set_long_name | | | 3.50±0.03μs | 3.51±0.05μs | 1.00 | mixin.CFVariableMixin.time_set_metadata__dict | | | 4.55±0.06μs | 4.54±0.02μs | 1.00 | mixin.CFVariableMixin.time_set_metadata__metadata | | | 4.43±0.04μs | 4.46±0.04μs | 1.01 | mixin.CFVariableMixin.time_set_metadata__tuple | | | 559±6ns | 559±10ns | 1.00 | mixin.CFVariableMixin.time_set_standard_name | | | 431±10ns | 433±4ns | 1.00 | mixin.CFVariableMixin.time_set_units | | | 453±5ns | 461±3ns | 1.02 | mixin.CFVariableMixin.time_set_var_name | | | 361±2ms | 365±3ms | 1.01 | plot.AuxSort.time_aux_sort | | | 76.8±3ms | 77.9±3ms | 1.01 | regridding.CurvilinearRegridding.time_regrid_pic | | | 97.1±0.7ms | 98.4±1ms | 1.01 | regridding.HorizontalChunkedRegridding.time_regrid_area_w | | | 48.8±3ms | 48.9±3ms | 1.00 | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid | | | 4.10±0.04ms | 4.03±0.05ms | 0.98 | save.NetcdfSave.time_netcdf_save_cube(50, False) | | | 71.2±1ms | 72.0±1ms | 1.01 | save.NetcdfSave.time_netcdf_save_cube(50, True) | | | 52.6±0.9ms | 52.2±0.9ms | 0.99 | save.NetcdfSave.time_netcdf_save_cube(600, False) | | | 559±7ms | 566±4ms | 1.01 | save.NetcdfSave.time_netcdf_save_cube(600, True) | | | 90.6±1ns | 91.7±0.5ns | 1.01 | save.NetcdfSave.time_netcdf_save_mesh(50, False) | | | 54.9±0.8ms | 54.6±0.9ms | 0.99 | save.NetcdfSave.time_netcdf_save_mesh(50, True) | | | 90.7±0.7ns | 91.7±0.6ns | 1.01 | save.NetcdfSave.time_netcdf_save_mesh(600, False) | | | 487±2ms | 496±4ms | 1.02 | save.NetcdfSave.time_netcdf_save_mesh(600, True) | | | 41.7±0.8ms | 42.2±0.8ms | 1.01 | stats.PearsonR.time_lazy | | | 18.7±0.3ms | 19.1±0.3ms | 1.02 | stats.PearsonR.time_real | | | 22.3±1ms | 23.6±0.8ms | 1.06 | trajectory.TrajectoryInterpolation.time_trajectory_linear | | | 58.3±0.7ms | 58.0±0.7ms | 1.00 | trajectory.TrajectoryInterpolation.time_trajectory_nearest | Benchmarks that have got worse: | Change | Before [b33ccc19] | After [16f0cc42] | Ratio | Benchmark (Parameter) | |----------|------------------------------|-----------------------------|---------|-----------------------------------| | + | 41.3±0.8μs | 50.8±6μs | 1.23 | cube.MeshCoord.time_remove(10000) | ```

Generated by GHA run 8886544958

trexfeathers commented 5 months ago

Noise