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` #5935

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) | |----------|------------------------------|-----------------------------|---------|------------------------------------------------------| | + | 3.53±0.9ms | 5.50±0.3ms | 1.56 | load.ugrid.DataRealisation.time_realise_data(200000) | ```
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.31±0.03μs | 4.40±0.02μs | 1.02 | aux_factory.HybridHeightFactory.time_create | | | 4.94±0.05μs | 4.91±0.04μs | 0.99 | coords.AncillaryVariable.time_create | | | 332±2ns | 334±2ns | 1.01 | coords.AuxCoord.time_bounds | | | 8.71±0.06μs | 8.70±0.06μs | 1.00 | coords.AuxCoord.time_create | | | 303±5ns | 305±2ns | 1.01 | coords.AuxCoord.time_points | | | 240±8μs | 243±10μs | 1.01 | coords.AuxCoordLazy.time_bounds | | | 13.2±0.8μs | 13.0±0.6μs | 0.99 | coords.AuxCoordLazy.time_create | | | 239±9μs | 240±8μs | 1.00 | coords.AuxCoordLazy.time_points | | | 5.29±0.03μs | 5.28±0.06μs | 1.00 | coords.CellMeasure.time_create | | | 1.10±0.01μs | 1.11±0.01μs | 1.01 | coords.CellMethod.time_create | | | n/a | n/a | n/a | coords.CoordCommon.time_create | | | 105±0.5μs | 105±2μs | 1.00 | coords.DimCoord.time_create | | | 29.9±0.6μs | 30.2±0.4μs | 1.01 | coords.DimCoord.time_regular | | | 383±2ms | 385±5ms | 1.00 | cube.Aggregation.time_aggregated_by | | | 58.0±0.8μs | 58.0±0.5μs | 1.00 | cube.AncillaryVariable.time_add | | | 10.6±0.1μs | 10.8±0.06μs | 1.01 | cube.AncillaryVariable.time_create | | | 64.7±0.5μs | 64.6±0.8μs | 1.00 | cube.AuxCoord.time_add | | | 9.52±0.04μs | 9.43±0.1μs | 0.99 | cube.AuxCoord.time_create | | | 5.11±0.08μs | 5.02±0.02μs | 0.98 | cube.AuxCoord.time_return_coord_dims | | | 3.72±0.04μs | 3.68±0.04μs | 0.99 | cube.AuxCoord.time_return_coords | | | 38.9±1μs | 38.4±0.5μs | 0.99 | cube.AuxFactory.time_add | | | 11.5±0.2μs | 11.5±0.3μs | 1.00 | cube.AuxFactory.time_create | | | 57.5±0.4μs | 57.6±0.5μs | 1.00 | cube.CellMeasure.time_add | | | 10.7±0.09μs | 10.8±0.08μs | 1.01 | cube.CellMeasure.time_create | | | 51.0±1μs | 52.0±0.5μs | 1.02 | cube.CellMethod.time_add | | | 7.49±0.04μs | 7.56±0.07μ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 | | | 131±0.3ms | 132±0.6ms | 1.01 | cube.Concatenate.time_concatenate | | | 6.97±0.04μs | 7.09±0.03μs | 1.02 | cube.Cube.time_basic | | | 52.4±0.4ns | 51.0±0.9ns | 0.97 | cube.Cube.time_rename | | | 55.0±0.5μs | 54.6±0.6μs | 0.99 | cube.Equality.time_equality | | | 335±4ms | 344±4ms | 1.03 | cube.Merge.time_merge | | | 24.3±0.4μs | 25.0±2μs | 1.03 | cube.MeshCoord.time_add(10000) | | | 28.5±1μs | 27.8±0.8μs | 0.97 | cube.MeshCoord.time_add(1000000) | | | 22.4±0.5μs | 23.0±1μs | 1.03 | cube.MeshCoord.time_add(6) | | | 16.8±0.4μs | 17.0±0.2μs | 1.01 | cube.MeshCoord.time_create(10000) | | | 16.6±0.2μs | 16.8±0.3μs | 1.01 | cube.MeshCoord.time_create(1000000) | | | 16.1±0.2μs | 16.1±0.3μs | 1.00 | cube.MeshCoord.time_create(6) | | | 41.6±0.9μs | 53.4±9μs | ~1.28 | cube.MeshCoord.time_remove(10000) | | | 59.2±2μs | 59.3±2μs | 1.00 | cube.MeshCoord.time_remove(1000000) | | | 41.3±0.4μs | 42.7±9μs | 1.03 | cube.MeshCoord.time_remove(6) | | | 2.43±0.2ms | 2.47±0.2ms | 1.02 | experimental.ugrid.Connectivity.time_create(1000000) | | | 1.89±0.03ms | 1.94±0.03ms | 1.02 | experimental.ugrid.Connectivity.time_create(6) | | | 484±4ns | 478±2ns | 0.99 | experimental.ugrid.Connectivity.time_indices(1000000) | | | 485±4ns | 479±2ns | 0.99 | experimental.ugrid.Connectivity.time_indices(6) | | | 21.1±0.4ms | 21.5±0.6ms | 1.02 | experimental.ugrid.Connectivity.time_location_lengths(1000000) | | | 2.70±0.03ms | 2.75±0.04ms | 1.02 | experimental.ugrid.Connectivity.time_location_lengths(6) | | | 28.2±2ms | 29.2±3ms | 1.03 | experimental.ugrid.Connectivity.time_validate_indices(1000000) | | | 4.15±0.05ms | 4.09±0.04ms | 0.99 | experimental.ugrid.Connectivity.time_validate_indices(6) | | | 4.17±0.09ms | 4.30±0.3ms | 1.03 | experimental.ugrid.ConnectivityLazy.time_create(1000000) | | | 3.31±0.05ms | 3.36±0.03ms | 1.01 | experimental.ugrid.ConnectivityLazy.time_create(6) | | | 261±8μs | 259±7μs | 0.99 | experimental.ugrid.ConnectivityLazy.time_indices(1000000) | | | 253±8μs | 257±8μs | 1.02 | experimental.ugrid.ConnectivityLazy.time_indices(6) | | | 21.0±0.4ms | 21.5±0.4ms | 1.02 | experimental.ugrid.ConnectivityLazy.time_location_lengths(1000000) | | | 3.04±0.03ms | 3.03±0.05ms | 1.00 | experimental.ugrid.ConnectivityLazy.time_location_lengths(6) | | | 23.5±0.4ms | 24.4±0.8ms | 1.04 | experimental.ugrid.ConnectivityLazy.time_validate_indices(1000000) | | | 4.31±0.04ms | 4.43±0.06ms | 1.03 | experimental.ugrid.ConnectivityLazy.time_validate_indices(6) | | | 11.7±0.2μs | 11.6±0.2μs | 0.99 | experimental.ugrid.Mesh.time_add_connectivities(1000000) | | | 395±8μs | 402±5μs | 1.02 | experimental.ugrid.Mesh.time_add_connectivities(6) | | | 4.26±0.04μs | 4.28±0.07μs | 1.01 | experimental.ugrid.Mesh.time_add_coords(1000000) | | | 4.11±0.04μs | 4.25±0.04μs | 1.03 | experimental.ugrid.Mesh.time_add_coords(6) | | | 3.79±0.06μs | 3.79±0.03μs | 1.00 | experimental.ugrid.Mesh.time_connectivities(1000000) | | | 3.79±0.04μs | 3.79±0.05μs | 1.00 | experimental.ugrid.Mesh.time_connectivities(6) | | | 5.19±0.06μs | 5.13±0.07μs | 0.99 | experimental.ugrid.Mesh.time_coords(1000000) | | | 5.22±0.04μs | 5.14±0.05μs | 0.99 | experimental.ugrid.Mesh.time_coords(6) | | | 42.5±0.5μs | 42.1±0.5μs | 0.99 | experimental.ugrid.Mesh.time_create(1000000) | | | 440±2μs | 449±9μs | 1.02 | experimental.ugrid.Mesh.time_create(6) | | | 76.2±2ms | 80.0±5ms | 1.05 | experimental.ugrid.Mesh.time_eq(1000000) | | | 260±5μs | 256±1μs | 0.99 | experimental.ugrid.Mesh.time_eq(6) | | | 3.63±0.08μs | 3.58±0.03μs | 0.98 | experimental.ugrid.Mesh.time_remove_connectivities(1000000) | | | 3.64±0.06μs | 3.61±0.05μs | 0.99 | experimental.ugrid.Mesh.time_remove_connectivities(6) | | | 6.32±0.07μs | 6.27±0.06μs | 0.99 | experimental.ugrid.Mesh.time_remove_coords(1000000) | | | 6.32±0.07μs | 6.27±0.06μs | 0.99 | experimental.ugrid.Mesh.time_remove_coords(6) | | | 10.6±0.07μs | 10.9±0.2μs | 1.02 | experimental.ugrid.MeshCoord.time_bounds(10000) | | | 122±0.9ms | 128±3ms | 1.05 | experimental.ugrid.MeshCoord.time_bounds(1000000) | | | 5.42±0.09μs | 5.50±0.09μs | 1.01 | experimental.ugrid.MeshCoord.time_bounds(6) | | | 4.13±0.04ms | 4.13±0.07ms | 1.00 | experimental.ugrid.MeshCoord.time_create(10000) | | | 4.20±0.06ms | 4.19±0.1ms | 1.00 | experimental.ugrid.MeshCoord.time_create(1000000) | | | 202±4μs | 198±5μs | 0.98 | experimental.ugrid.MeshCoord.time_create(6) | | | 3.39±0.06μs | 3.45±0.05μs | 1.02 | experimental.ugrid.MeshCoord.time_points(10000) | | | 3.92±0.06μs | 4.06±0.06μs | 1.04 | experimental.ugrid.MeshCoord.time_points(1000000) | | | 2.74±0.06μs | 2.79±0.04μs | 1.02 | experimental.ugrid.MeshCoord.time_points(6) | | | 7.50±0.1ms | 7.62±0.4ms | 1.02 | experimental.ugrid.MeshCoordLazy.time_bounds(10000) | | | 123±2ms | 125±4ms | 1.02 | experimental.ugrid.MeshCoordLazy.time_bounds(1000000) | | | 11.5±0.3μs | 11.7±0.8μs | 1.02 | experimental.ugrid.MeshCoordLazy.time_bounds(6) | | | 4.10±0.04ms | 4.19±0.05ms | 1.02 | experimental.ugrid.MeshCoordLazy.time_create(10000) | | | 4.11±0.06ms | 4.17±0.06ms | 1.01 | experimental.ugrid.MeshCoordLazy.time_create(1000000) | | | 240±3μs | 242±5μs | 1.01 | experimental.ugrid.MeshCoordLazy.time_create(6) | | | 2.54±0.07ms | 2.58±0.2ms | 1.01 | experimental.ugrid.MeshCoordLazy.time_points(10000) | | | 4.65±0.07ms | 4.74±0.2ms | 1.02 | experimental.ugrid.MeshCoordLazy.time_points(1000000) | | | 7.27±0.2μs | 7.72±0.7μs | 1.06 | experimental.ugrid.MeshCoordLazy.time_points(6) | | | 33.1±1μs | 33.4±1μs | 1.01 | experimental.ugrid.MeshLazy.time_add_connectivities(1000000) | | | 451±10μs | 452±9μs | 1.00 | experimental.ugrid.MeshLazy.time_add_connectivities(6) | | | 19.4±0.7μs | 19.1±0.7μs | 0.99 | experimental.ugrid.MeshLazy.time_add_coords(1000000) | | | 15.4±0.4μs | 15.8±2μs | 1.03 | experimental.ugrid.MeshLazy.time_add_coords(6) | | | 15.6±0.4μs | 16.8±1μs | 1.08 | experimental.ugrid.MeshLazy.time_connectivities(1000000) | | | 14.6±0.2μs | 15.1±0.6μs | 1.04 | experimental.ugrid.MeshLazy.time_connectivities(6) | | | 19.5±0.6μs | 19.6±0.6μs | 1.01 | experimental.ugrid.MeshLazy.time_coords(1000000) | | | 18.3±0.4μs | 18.9±0.7μs | 1.03 | experimental.ugrid.MeshLazy.time_coords(6) | | | 80.3±2μs | 80.9±4μs | 1.01 | experimental.ugrid.MeshLazy.time_create(1000000) | | | 500±10μs | 509±20μs | 1.02 | experimental.ugrid.MeshLazy.time_create(6) | | | 76.7±0.8ms | 81.3±4ms | 1.06 | experimental.ugrid.MeshLazy.time_eq(1000000) | | | 335±8μs | 348±20μs | 1.04 | experimental.ugrid.MeshLazy.time_eq(6) | | | 17.5±0.6μs | 17.0±0.5μs | 0.97 | experimental.ugrid.MeshLazy.time_remove_connectivities(1000000) | | | 15.4±0.2μs | 15.7±0.8μs | 1.02 | experimental.ugrid.MeshLazy.time_remove_connectivities(6) | | | 32.5±1μs | 32.2±0.9μs | 0.99 | experimental.ugrid.MeshLazy.time_remove_coords(1000000) | | | 28.6±0.5μs | 29.2±1μ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) | | | 410±6ns | 418±6ns | 1.02 | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50) | | | 258±2ms | 261±4ms | 1.01 | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500) | | | 14.4±0.2ms | 14.5±0.4ms | 1.01 | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50) | | | 16.7±1ms | 16.6±0.7ms | 0.99 | 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) | | | 103±1ms | 104±2ms | 1.01 | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50) | | | 706±6ms | 710±7ms | 1.01 | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500) | | | 64.9±0.5ms | 66.3±2ms | 1.02 | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50) | | | 656±4ms | 658±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) | | | 667±8μs | 674±10μs | 1.01 | import_iris.Iris.time__concatenate | | | 180±1μs | 184±5μs | 1.02 | import_iris.Iris.time__constraints | | | 110±0.9μs | 111±0.9μs | 1.01 | import_iris.Iris.time__data_manager | | | 93.9±0.6μs | 94.0±0.9μs | 1.00 | import_iris.Iris.time__deprecation | | | 137±1μs | 137±1μs | 1.00 | import_iris.Iris.time__lazy_data | | | 914±10μs | 911±10μs | 1.00 | import_iris.Iris.time__merge | | | 77.7±0.8μs | 77.7±0.4μs | 1.00 | import_iris.Iris.time__representation | | | 487±3μs | 492±8μs | 1.01 | import_iris.Iris.time_analysis | | | 141±0.9μs | 142±2μs | 1.01 | import_iris.Iris.time_analysis__area_weighted | | | 111±1μs | 110±0.8μs | 0.99 | import_iris.Iris.time_analysis__grid_angles | | | 244±1μs | 244±2μs | 1.00 | import_iris.Iris.time_analysis__interpolation | | | 187±1μs | 189±3μs | 1.01 | import_iris.Iris.time_analysis__regrid | | | 112±0.9μs | 113±2μs | 1.01 | import_iris.Iris.time_analysis__scipy_interpolate | | | 143±2μs | 140±1μs | 0.98 | import_iris.Iris.time_analysis_calculus | | | 327±2μs | 327±2μs | 1.00 | import_iris.Iris.time_analysis_cartography | | | 95.0±0.4μs | 94.5±0.2μs | 0.99 | import_iris.Iris.time_analysis_geomerty | | | 219±1μs | 217±2μs | 0.99 | import_iris.Iris.time_analysis_maths | | | 99.4±1μs | 98.5±1μs | 0.99 | import_iris.Iris.time_analysis_stats | | | 174±2μs | 176±3μs | 1.01 | import_iris.Iris.time_analysis_trajectory | | | 297±4μs | 302±5μs | 1.02 | import_iris.Iris.time_aux_factory | | | 84.7±0.6μs | 85.4±0.9μs | 1.01 | import_iris.Iris.time_common | | | 164±3μs | 166±3μs | 1.01 | import_iris.Iris.time_common_lenient | | | 972±6μs | 983±20μs | 1.01 | import_iris.Iris.time_common_metadata | | | 134±2μs | 133±1μs | 0.99 | import_iris.Iris.time_common_mixin | | | 1.18±0.01ms | 1.21±0.02ms | 1.03 | import_iris.Iris.time_common_resolve | | | 201±3μs | 203±1μs | 1.01 | import_iris.Iris.time_config | | | 117±1μs | 116±1μs | 1.00 | import_iris.Iris.time_coord_categorisation | | | 350±2μs | 360±7μs | 1.03 | import_iris.Iris.time_coord_systems | | | 736±5μs | 756±10μs | 1.03 | import_iris.Iris.time_coords | | | 661±5μs | 680±20μs | 1.03 | import_iris.Iris.time_cube | | | 225±1μs | 229±5μs | 1.02 | import_iris.Iris.time_exceptions | | | 78.7±0.3μs | 79.3±0.9μs | 1.01 | import_iris.Iris.time_experimental | | | 189±1μs | 188±3μs | 1.00 | import_iris.Iris.time_fileformats | | | 251±1μs | 249±3μs | 0.99 | import_iris.Iris.time_fileformats__ff | | | 2.70±0.02ms | 2.72±0.03ms | 1.01 | import_iris.Iris.time_fileformats__ff_cross_references | | | 79.7±0.6μs | 79.0±0.8μs | 0.99 | import_iris.Iris.time_fileformats__pp_lbproc_pairs | | | 115±0.7μs | 115±2μs | 1.00 | import_iris.Iris.time_fileformats_abf | | | 349±2μs | 355±5μs | 1.02 | import_iris.Iris.time_fileformats_cf | | | 5.30±0.07ms | 5.42±0.3ms | 1.02 | import_iris.Iris.time_fileformats_dot | | | 77.3±0.9μs | 75.9±0.9μs | 0.98 | import_iris.Iris.time_fileformats_name | | | 260±5μs | 261±2μs | 1.00 | import_iris.Iris.time_fileformats_name_loaders | | | 119±1μs | 120±1μs | 1.00 | import_iris.Iris.time_fileformats_netcdf | | | 122±0.9μs | 122±1μs | 0.99 | import_iris.Iris.time_fileformats_nimrod | | | 209±3μs | 209±5μs | 1.00 | import_iris.Iris.time_fileformats_nimrod_load_rules | | | 777±10μs | 791±10μs | 1.02 | import_iris.Iris.time_fileformats_pp | | | 179±3μs | 182±3μs | 1.02 | import_iris.Iris.time_fileformats_pp_load_rules | | | 135±2μs | 135±4μs | 1.00 | import_iris.Iris.time_fileformats_pp_save_rules | | | 514±3μs | 523±6μs | 1.02 | import_iris.Iris.time_fileformats_rules | | | 220±2μs | 220±4μs | 1.00 | import_iris.Iris.time_fileformats_structured_array_identification | | | 84.8±0.6μs | 84.0±0.4μs | 0.99 | import_iris.Iris.time_fileformats_um | | | 162±2μs | 162±2μs | 1.00 | import_iris.Iris.time_fileformats_um__fast_load | | | 138±1μs | 138±2μs | 1.00 | import_iris.Iris.time_fileformats_um__fast_load_structured_fields | | | 76.6±1μs | 76.0±1μs | 0.99 | import_iris.Iris.time_fileformats_um__ff_replacement | | | 83.5±0.6μs | 83.0±1μs | 0.99 | import_iris.Iris.time_fileformats_um__optimal_array_structuring | | | 990±20μs | 995±7μs | 1.00 | import_iris.Iris.time_fileformats_um_cf_map | | | 138±0.8μs | 137±1μs | 0.99 | import_iris.Iris.time_io | | | 171±0.9μs | 174±4μs | 1.01 | import_iris.Iris.time_io_format_picker | | | 207±3μs | 206±4μs | 0.99 | import_iris.Iris.time_iris | | | 129±2μs | 129±0.7μs | 1.00 | import_iris.Iris.time_iterate | | | 8.59±0.6ms | 8.68±0.09ms | 1.01 | import_iris.Iris.time_palette | | | 341±6μs | 344±5μs | 1.01 | import_iris.Iris.time_plot | | | 108±1μs | 105±1μs | 0.97 | import_iris.Iris.time_quickplot | | | 2.07±0.01ms | 2.11±0.02ms | 1.02 | import_iris.Iris.time_std_names | | | 1.77±0.01ms | 1.78±0.02ms | 1.01 | import_iris.Iris.time_symbols | | | 19.6±0.9ms | 19.3±2ms | 0.98 | import_iris.Iris.time_tests | | | 230±5μs | 231±2μs | 1.00 | import_iris.Iris.time_third_party_cartopy | | | 4.81±0.02ms | 4.94±0.09ms | 1.03 | import_iris.Iris.time_third_party_cf_units | | | 107±2μs | 106±0.7μs | 0.99 | import_iris.Iris.time_third_party_cftime | | | 2.81±0.01ms | 2.89±0.03ms | 1.03 | import_iris.Iris.time_third_party_matplotlib | | | 1.06±0ms | 1.06±0.01ms | 1.01 | import_iris.Iris.time_third_party_numpy | | | 162±3μs | 160±2μs | 0.99 | import_iris.Iris.time_third_party_scipy | | | 101±0.6μs | 101±2μs | 0.99 | import_iris.Iris.time_time | | | 317±3μs | 319±3μs | 1.01 | import_iris.Iris.time_util | | | 74.1±0.8μs | 74.5±1μs | 1.01 | iterate.IZip.time_izip | | | 8.11±0.03ms | 8.30±0.1ms | 1.02 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF') | | | 23.2±0.3ms | 23.4±0.6ms | 1.01 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF') | | | 8.81±0.03ms | 9.00±0.2ms | 1.02 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP') | | | 8.10±0.09ms | 8.26±0.07ms | 1.02 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF') | | | 21.1±0.3ms | 21.2±0.6ms | 1.00 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF') | | | 8.83±0.04ms | 8.89±0.1ms | 1.01 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP') | | | 1.35±0.02s | 1.37±0.02s | 1.02 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF') | | | 20.9±0.6ms | 20.8±0.3ms | 0.99 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF') | | | 1.51±0.02s | 1.53±0.01s | 1.02 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP') | | | 1.36±0.02s | 1.35±0.02s | 1.00 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF') | | | 20.5±0.7ms | 21.0±0.2ms | 1.02 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF') | | | 1.50±0.02s | 1.51±0.02s | 1.00 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP') | | | 4.01±0.03ms | 3.99±0.02ms | 1.00 | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF') | | | 19.5±0.2ms | 20.1±0.6ms | 1.03 | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF') | | | 4.24±0.02ms | 4.28±0.04ms | 1.01 | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP') | | | 3.93±0.03ms | 4.01±0.07ms | 1.02 | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF') | | | 19.9±0.3ms | 20.0±0.4ms | 1.01 | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF') | | | 4.18±0.02ms | 4.23±0.06ms | 1.01 | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP') | | | 33.0±4ms | 32.8±1ms | 1.00 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF') | | | 19.6±0.4ms | 19.2±0.6ms | 0.98 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF') | | | 14.2±3ms | 14.1±2ms | 0.99 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP') | | | 26.4±2ms | 26.0±3ms | 0.98 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF') | | | 71.2±2ms | 71.0±2ms | 1.00 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF') | | | 25.8±1ms | 26.1±1ms | 1.01 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP') | | | 450±7ms | 450±10ms | 1.00 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF') | | | 2.77±0.1ms | 2.83±0.1ms | 1.02 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF') | | | 454±6ms | 454±4ms | 1.00 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP') | | | 459±5ms | 455±8ms | 0.99 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF') | | | 2.83±0.1ms | 2.92±0.2ms | 1.03 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF') | | | 462±5ms | 464±5ms | 1.00 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP') | | | 1.63±0.1ms | 1.62±0.1ms | 1.00 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF') | | | 2.88±0.2ms | 2.87±0.1ms | 1.00 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF') | | | 1.67±0.07ms | 1.62±0.07ms | 0.97 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP') | | | 1.65±0.1ms | 1.61±0.08ms | 0.98 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF') | | | 2.95±0.2ms | 2.90±0.1ms | 0.98 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF') | | | 1.63±0.07ms | 1.68±0.08ms | 1.03 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP') | | | 359±3ms | 354±4ms | 0.99 | load.ManyVars.time_many_var_load | | | 8.19±0.08ms | 8.27±0.05ms | 1.01 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF') | | | 9.02±0.3ms | 9.05±0.04ms | 1.00 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP') | | | 1.36±0.03s | 1.36±0.02s | 1.00 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF') | | | 1.53±0.02s | 1.51±0.01s | 0.99 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP') | | | 3.97±0.01ms | 4.00±0.03ms | 1.01 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF') | | | 4.30±0.05ms | 4.27±0.03ms | 0.99 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP') | | | 8.38±0.2ms | 8.17±0.06ms | 0.98 | load.StructuredFF.time_structured_load((1280, 960, 5), False) | | | 4.77±0.03ms | 4.79±0.05ms | 1.00 | load.StructuredFF.time_structured_load((1280, 960, 5), True) | | | 1.35±0.03s | 1.33±0.02s | 0.99 | load.StructuredFF.time_structured_load((2, 2, 1000), False) | | | 366±4ms | 368±6ms | 1.01 | load.StructuredFF.time_structured_load((2, 2, 1000), True) | | | 3.99±0.06ms | 3.95±0.02ms | 0.99 | load.StructuredFF.time_structured_load((2, 2, 2), False) | | | 3.58±0.02ms | 3.59±0.02ms | 1.00 | load.StructuredFF.time_structured_load((2, 2, 2), True) | | | 148±2ms | 149±1ms | 1.01 | load.TimeConstraint.time_time_constraint(20, 'FF') | | | 23.5±0.6ms | 23.3±0.4ms | 0.99 | load.TimeConstraint.time_time_constraint(20, 'NetCDF') | | | 167±3ms | 165±3ms | 0.99 | load.TimeConstraint.time_time_constraint(20, 'PP') | | | 29.4±0.4ms | 30.1±0.4ms | 1.02 | load.TimeConstraint.time_time_constraint(3, 'FF') | | | 22.7±0.5ms | 23.2±0.6ms | 1.02 | load.TimeConstraint.time_time_constraint(3, 'NetCDF') | | | 31.6±1ms | 32.1±0.2ms | 1.01 | load.TimeConstraint.time_time_constraint(3, 'PP') | | | 17.1±0.1ms | 17.7±0.5ms | 1.04 | load.ugrid.BasicLoading.time_load_file(1) | | | 40.6±0.5ms | 41.7±0.8ms | 1.03 | load.ugrid.BasicLoading.time_load_file(200000) | | | 14.2±0.2ms | 14.0±0.4ms | 0.98 | load.ugrid.BasicLoading.time_load_mesh(1) | | | 21.8±0.2ms | 22.2±0.7ms | 1.02 | load.ugrid.BasicLoading.time_load_mesh(200000) | | | 17.1±0.2ms | 17.6±0.7ms | 1.03 | load.ugrid.BasicLoadingTime.time_load_file(1) | | | 19.8±0.3ms | 20.4±0.8ms | 1.03 | load.ugrid.BasicLoadingTime.time_load_file(200000) | | | 13.9±0.3ms | 14.0±0.5ms | 1.01 | load.ugrid.BasicLoadingTime.time_load_mesh(1) | | | 16.5±0.3ms | 16.5±0.8ms | 1.00 | load.ugrid.BasicLoadingTime.time_load_mesh(200000) | | | 18.0±0.1ms | 18.7±0.8ms | 1.04 | load.ugrid.Callback.time_load_file_callback(1) | | | 49.3±0.4ms | 50.3±1ms | 1.02 | load.ugrid.Callback.time_load_file_callback(200000) | | | 18.1±0.2ms | 18.4±0.5ms | 1.02 | load.ugrid.CallbackTime.time_load_file_callback(1) | | | 22.0±0.5ms | 21.9±0.8ms | 1.00 | load.ugrid.CallbackTime.time_load_file_callback(200000) | | | 2.70±0.07ms | 2.69±0.3ms | 1.00 | load.ugrid.DataRealisation.time_realise_data(10000) | | | 37.0±0.4ms | 40.7±3ms | 1.10 | load.ugrid.DataRealisationTime.time_realise_data(10000) | | | 824±7ms | 827±8ms | 1.00 | load.ugrid.DataRealisationTime.time_realise_data(200000) | | | 77.2±0.3ns | 77.1±0.8ns | 1.00 | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_fields | | | 741±4ns | 754±10ns | 1.02 | metadata_manager_factory.MetadataManagerFactory.time_AncillaryVariableMetadata_values | | | 78.0±0.5ns | 77.4±1ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_fields | | | 742±9ns | 745±10ns | 1.00 | metadata_manager_factory.MetadataManagerFactory.time_BaseMetadata_values | | | 77.2±1ns | 77.9±1ns | 1.01 | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_fields | | | 859±4ns | 867±20ns | 1.01 | metadata_manager_factory.MetadataManagerFactory.time_CellMeasuresMetadata_values | | | 77.4±0.7ns | 77.8±1ns | 1.01 | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_fields | | | 915±6ns | 924±20ns | 1.01 | metadata_manager_factory.MetadataManagerFactory.time_CoordMetadata_values | | | 77.2±0.3ns | 77.2±0.7ns | 1.00 | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_fields | | | 866±8ns | 854±10ns | 0.99 | metadata_manager_factory.MetadataManagerFactory.time_CubeMetadata_values | | | 77.2±0.2ns | 77.7±0.8ns | 1.01 | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_fields | | | 974±6ns | 994±10ns | 1.02 | metadata_manager_factory.MetadataManagerFactory.time_DimCoordMetadata_values | | | 889±10ns | 884±10ns | 0.99 | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(1) | | | 6.96±0.04μs | 7.01±0.1μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(10) | | | 66.1±0.7μs | 66.9±0.4μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_AncillaryVariableMetadata(100) | | | 881±4ns | 883±8ns | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(1) | | | 7.00±0.04μs | 6.97±0.06μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(10) | | | 65.8±0.4μs | 68.8±1μs | 1.05 | metadata_manager_factory.MetadataManagerFactory__create.time_BaseMetadata(100) | | | 934±6ns | 938±10ns | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(1) | | | 7.39±0.2μs | 7.37±0.06μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(10) | | | 70.5±0.4μs | 71.0±0.7μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_CellMeasureMetadata(100) | | | 969±3ns | 966±10ns | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(1) | | | 7.72±0.1μs | 7.83±0.1μs | 1.02 | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(10) | | | 73.9±0.2μs | 74.9±2μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_CoordMetadata(100) | | | 937±4ns | 924±60ns | 0.99 | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(1) | | | 7.36±0.04μs | 7.41±0.07μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(10) | | | 70.5±0.5μs | 70.8±0.2μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_CubeMetadata(100) | | | 1.00±0μs | 1.00±0.01μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(1) | | | 8.10±0.1μs | 8.16±0.08μs | 1.01 | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(10) | | | 77.8±0.5μs | 77.9±0.3μs | 1.00 | metadata_manager_factory.MetadataManagerFactory__create.time_DimCoordMetadata(100) | | | 82.7±0.6ns | 83.7±1ns | 1.01 | mixin.CFVariableMixin.time_get_attributes | | | 81.3±0.4ns | 81.7±0.8ns | 1.00 | mixin.CFVariableMixin.time_get_long_name | | | 780±6ns | 778±10ns | 1.00 | mixin.CFVariableMixin.time_get_metadata | | | 81.6±0.4ns | 81.4±0.7ns | 1.00 | mixin.CFVariableMixin.time_get_standard_name | | | 82.9±0.4ns | 82.9±0.6ns | 1.00 | mixin.CFVariableMixin.time_get_units | | | 81.5±0.4ns | 82.0±0.8ns | 1.01 | mixin.CFVariableMixin.time_get_var_name | | | 775±6ns | 781±10ns | 1.01 | mixin.CFVariableMixin.time_set_attributes | | | 115±2ns | 115±1ns | 1.00 | mixin.CFVariableMixin.time_set_long_name | | | 3.45±0.02μs | 3.54±0.04μs | 1.03 | mixin.CFVariableMixin.time_set_metadata__dict | | | 4.49±0.02μs | 4.54±0.03μs | 1.01 | mixin.CFVariableMixin.time_set_metadata__metadata | | | 4.37±0.02μs | 4.46±0.03μs | 1.02 | mixin.CFVariableMixin.time_set_metadata__tuple | | | 559±5ns | 560±1ns | 1.00 | mixin.CFVariableMixin.time_set_standard_name | | | 427±5ns | 430±3ns | 1.01 | mixin.CFVariableMixin.time_set_units | | | 449±3ns | 454±3ns | 1.01 | mixin.CFVariableMixin.time_set_var_name | | | 364±1ms | 367±2ms | 1.01 | plot.AuxSort.time_aux_sort | | | 78.8±2ms | 79.8±2ms | 1.01 | regridding.CurvilinearRegridding.time_regrid_pic | | | 101±1ms | 102±1ms | 1.01 | regridding.HorizontalChunkedRegridding.time_regrid_area_w | | | 49.8±0.6ms | 48.8±2ms | 0.98 | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid | | | 4.01±0.03ms | 4.09±0.1ms | 1.02 | save.NetcdfSave.time_netcdf_save_cube(50, False) | | | 70.7±0.4ms | 71.3±2ms | 1.01 | save.NetcdfSave.time_netcdf_save_cube(50, True) | | | 51.7±0.4ms | 53.2±1ms | 1.03 | save.NetcdfSave.time_netcdf_save_cube(600, False) | | | 569±2ms | 570±5ms | 1.00 | save.NetcdfSave.time_netcdf_save_cube(600, True) | | | 91.0±0.4ns | 91.4±1ns | 1.00 | save.NetcdfSave.time_netcdf_save_mesh(50, False) | | | 54.1±0.3ms | 56.5±2ms | 1.04 | save.NetcdfSave.time_netcdf_save_mesh(50, True) | | | 89.6±0.8ns | 90.2±0.7ns | 1.01 | save.NetcdfSave.time_netcdf_save_mesh(600, False) | | | 501±3ms | 504±5ms | 1.01 | save.NetcdfSave.time_netcdf_save_mesh(600, True) | | | 42.3±0.9ms | 43.7±1ms | 1.03 | stats.PearsonR.time_lazy | | | 18.9±0.2ms | 19.3±0.3ms | 1.02 | stats.PearsonR.time_real | | | 24.1±0.4ms | 22.9±1ms | 0.95 | trajectory.TrajectoryInterpolation.time_trajectory_linear | | | 57.6±0.4ms | 58.3±1ms | 1.01 | trajectory.TrajectoryInterpolation.time_trajectory_nearest | Benchmarks that have got worse: | Change | Before [b33ccc19] | After [16f0cc42] | Ratio | Benchmark (Parameter) | |----------|------------------------------|-----------------------------|---------|------------------------------------------------------| | + | 3.53±0.9ms | 5.50±0.3ms | 1.56 | load.ugrid.DataRealisation.time_realise_data(200000) | ```

Generated by GHA run 8891592012

trexfeathers commented 5 months ago

Interesting that this came up twice. Still noise though