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
634 stars 283 forks source link

Performance Shift(s): `b5bdaffc` #6193

Closed github-actions[bot] closed 1 week ago

github-actions[bot] commented 1 week 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: b5bdaffc

Performance shifts ``` | Change | Before [dd0432e4] | After [b5bdaffc]
| Ratio | Benchmark (Parameter) | |----------|------------------------------|---------------------------|---------|---------------------------------------------------------------------------------| | - | 1.35±0.01s | 1.08±0.01s | 0.8 | aggregate_collapse.Aggregation.time_aggregated_by_PEAK(False) | | - | 1.35±0.01s | 1.09±0.01s | 0.81 | aggregate_collapse.Aggregation.time_aggregated_by_PEAK(True) | | - | 708±10ms | 505±20ms | 0.71 | aggregate_collapse.Aggregation.time_aggregated_by_PERCENTILE(False) | | - | 713±10ms | 521±20ms | 0.73 | aggregate_collapse.Aggregation.time_aggregated_by_PERCENTILE(True) | | - | 35.1±3ms | 25.7±1ms | 0.73 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF') | | - | 6.75±1ms | 3.97±0.4ms | 0.59 | load.ugrid.DataRealisation.time_realise_data(200000) | | - | 258±3ms | 210±1ms | 0.82 | mesh.utils.regions_combine.CombineRegionsComputeRealData.time_compute_data(500) | | - | 18.8±0.3ms | 9.23±0.3ms | 0.49 | stats.PearsonR.time_real | | - | 27.2±1ms | 22.1±1ms | 0.81 | trajectory.TrajectoryInterpolation.time_trajectory_linear | | Change | Before [dd0432e4] | After [b5bdaffc]
| Ratio | Benchmark (Parameter) | |----------|------------------------------|---------------------------|---------|-----------------------------------------| | + | 1.06±0.01ms | 1.54±0.01ms | 1.45 | import_iris.Iris.time_third_party_numpy | | + | 20±0.07M | 24.4±0.7M | 1.22 | stats.PearsonR.tracemalloc_lazy | ```
Full benchmark results ``` Benchmarks that have improved: | Change | Before [dd0432e4] | After [b5bdaffc]
| Ratio | Benchmark (Parameter) | |----------|------------------------------|---------------------------|---------|---------------------------------------------------------------------------------| | - | 1.35±0.01s | 1.08±0.01s | 0.8 | aggregate_collapse.Aggregation.time_aggregated_by_PEAK(False) | | - | 1.35±0.01s | 1.09±0.01s | 0.81 | aggregate_collapse.Aggregation.time_aggregated_by_PEAK(True) | | - | 708±10ms | 505±20ms | 0.71 | aggregate_collapse.Aggregation.time_aggregated_by_PERCENTILE(False) | | - | 713±10ms | 521±20ms | 0.73 | aggregate_collapse.Aggregation.time_aggregated_by_PERCENTILE(True) | | - | 35.1±3ms | 25.7±1ms | 0.73 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF') | | - | 6.75±1ms | 3.97±0.4ms | 0.59 | load.ugrid.DataRealisation.time_realise_data(200000) | | - | 258±3ms | 210±1ms | 0.82 | mesh.utils.regions_combine.CombineRegionsComputeRealData.time_compute_data(500) | | - | 18.8±0.3ms | 9.23±0.3ms | 0.49 | stats.PearsonR.time_real | | - | 27.2±1ms | 22.1±1ms | 0.81 | trajectory.TrajectoryInterpolation.time_trajectory_linear | Benchmarks that have stayed the same: | Change | Before [dd0432e4] | After [b5bdaffc]
| Ratio | Benchmark (Parameter) | |----------|------------------------------|---------------------------|---------|---------------------------------------------------------------------------------------------| | | 60.4±1ms | 60.2±0.5ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_COUNT(False) | | | 61.2±1ms | 60.9±1ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_COUNT(True) | | | 222±3ms | 216±2ms | 0.97 | aggregate_collapse.Aggregation.time_aggregated_by_FAST_PERCENTILE(False) | | | 222±3ms | 216±2ms | 0.97 | aggregate_collapse.Aggregation.time_aggregated_by_FAST_PERCENTILE(True) | | | 39.2±0.3ms | 39.0±0.4ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_GMEAN(False) | | | 39.7±0.4ms | 40.2±0.2ms | 1.01 | aggregate_collapse.Aggregation.time_aggregated_by_GMEAN(True) | | | 39.1±0.3ms | 39.2±0.4ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_HMEAN(False) | | | 40.1±0.6ms | 40.0±0.8ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_HMEAN(True) | | | 52.4±1ms | 51.6±0.3ms | 0.98 | aggregate_collapse.Aggregation.time_aggregated_by_MAX(False) | | | 52.7±1ms | 53.1±2ms | 1.01 | aggregate_collapse.Aggregation.time_aggregated_by_MAX(True) | | | 136±2ms | 138±2ms | 1.01 | aggregate_collapse.Aggregation.time_aggregated_by_MAX_RUN(False) | | | 138±0.6ms | 137±2ms | 0.99 | aggregate_collapse.Aggregation.time_aggregated_by_MAX_RUN(True) | | | 57.3±0.7ms | 57.2±0.8ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_MEAN(False) | | | 58.3±0.8ms | 58.5±0.6ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_MEAN(True) | | | 39.3±0.2ms | 39.4±0.5ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_MEDIAN(False) | | | 39.6±0.2ms | 39.9±0.4ms | 1.01 | aggregate_collapse.Aggregation.time_aggregated_by_MEDIAN(True) | | | 51.6±0.9ms | 51.9±0.5ms | 1.01 | aggregate_collapse.Aggregation.time_aggregated_by_MIN(False) | | | 52.9±1ms | 52.8±1ms | 1 | aggregate_collapse.Aggregation.time_aggregated_by_MIN(True) | | | 37.1±0.5ms | 37.5±0.6ms | 1.01 | aggregate_collapse.Aggregation.time_aggregated_by_PROPORTION(False) | | | 38.2±0.4ms | 38.5±0.5ms | 1.01 | aggregate_collapse.Aggregation.time_aggregated_by_PROPORTION(True) | | | 70.5±0.5ms | 69.0±0.5ms | 0.98 | aggregate_collapse.Aggregation.time_aggregated_by_RMS(False) | | | 71.3±2ms | 70.1±0.9ms | 0.98 | aggregate_collapse.Aggregation.time_aggregated_by_RMS(True) | | | 73.2±1ms | 71.1±0.6ms | 0.97 | aggregate_collapse.Aggregation.time_aggregated_by_STD_DEV(False) | | | 73.4±1ms | 71.8±0.8ms | 0.98 | aggregate_collapse.Aggregation.time_aggregated_by_STD_DEV(True) | | | 67.2±0.8ms | 66.7±1ms | 0.99 | aggregate_collapse.Aggregation.time_aggregated_by_VARIANCE(False) | | | 68.2±1ms | 67.3±1ms | 0.99 | aggregate_collapse.Aggregation.time_aggregated_by_VARIANCE(True) | | | 26.1±0.2ms | 25.7±0.3ms | 0.98 | aggregate_collapse.Aggregation.time_collapsed_by_COUNT(False) | | | 30.2±0.5ms | 30.4±0.3ms | 1.01 | aggregate_collapse.Aggregation.time_collapsed_by_COUNT(True) | | | 153±1ms | 152±2ms | 0.99 | aggregate_collapse.Aggregation.time_collapsed_by_FAST_PERCENTILE(False) | | | 169±0.7ms | 165±0.4ms | 0.98 | aggregate_collapse.Aggregation.time_collapsed_by_FAST_PERCENTILE(True) | | | 24.0±0.2ms | 24.2±0.4ms | 1.01 | aggregate_collapse.Aggregation.time_collapsed_by_GMEAN(False) | | | 28.5±0.3ms | 28.6±0.4ms | 1 | aggregate_collapse.Aggregation.time_collapsed_by_GMEAN(True) | | | 24.1±0.4ms | 24.0±0.6ms | 1 | aggregate_collapse.Aggregation.time_collapsed_by_HMEAN(False) | | | 28.4±0.4ms | 28.4±0.4ms | 1 | aggregate_collapse.Aggregation.time_collapsed_by_HMEAN(True) | | | 24.8±0.5ms | 25.0±0.5ms | 1.01 | aggregate_collapse.Aggregation.time_collapsed_by_MAX(False) | | | 29.0±0.4ms | 29.1±0.8ms | 1 | aggregate_collapse.Aggregation.time_collapsed_by_MAX(True) | | | 38.1±0.8ms | 38.6±0.6ms | 1.01 | aggregate_collapse.Aggregation.time_collapsed_by_MAX_RUN(False) | | | 42.9±0.6ms | 43.1±0.6ms | 1 | aggregate_collapse.Aggregation.time_collapsed_by_MAX_RUN(True) | | | 25.2±0.5ms | 25.6±0.5ms | 1.02 | aggregate_collapse.Aggregation.time_collapsed_by_MEAN(False) | | | 29.8±0.4ms | 29.6±0.3ms | 1 | aggregate_collapse.Aggregation.time_collapsed_by_MEAN(True) | | | 24.9±0.3ms | 25.4±0.3ms | 1.02 | aggregate_collapse.Aggregation.time_collapsed_by_MEDIAN(False) | | | 29.1±0.5ms | 29.6±0.5ms | 1.02 | aggregate_collapse.Aggregation.time_collapsed_by_MEDIAN(True) | | | 25.0±0.5ms | 25.1±0.4ms | 1.01 | aggregate_collapse.Aggregation.time_collapsed_by_MIN(False) | | | 29.1±0.5ms | 29.1±0.3ms | 1 | aggregate_collapse.Aggregation.time_collapsed_by_MIN(True) | | | 582±5ms | 548±5ms | 0.94 | aggregate_collapse.Aggregation.time_collapsed_by_PEAK(False) | | | 594±4ms | 549±4ms | 0.92 | aggregate_collapse.Aggregation.time_collapsed_by_PEAK(True) | | | 171±1ms | 166±1ms | 0.97 | aggregate_collapse.Aggregation.time_collapsed_by_PERCENTILE(False) | | | 192±2ms | 185±1ms | 0.96 | aggregate_collapse.Aggregation.time_collapsed_by_PERCENTILE(True) | | | 23.7±0.4ms | 23.9±0.5ms | 1.01 | aggregate_collapse.Aggregation.time_collapsed_by_PROPORTION(False) | | | 28.1±0.2ms | 27.9±0.3ms | 0.99 | aggregate_collapse.Aggregation.time_collapsed_by_PROPORTION(True) | | | 27.6±0.5ms | 27.2±0.6ms | 0.98 | aggregate_collapse.Aggregation.time_collapsed_by_RMS(False) | | | 31.7±0.3ms | 31.4±0.5ms | 0.99 | aggregate_collapse.Aggregation.time_collapsed_by_RMS(True) | | | 27.5±0.4ms | 26.8±0.3ms | 0.98 | aggregate_collapse.Aggregation.time_collapsed_by_STD_DEV(False) | | | 31.7±0.6ms | 30.9±0.4ms | 0.97 | aggregate_collapse.Aggregation.time_collapsed_by_STD_DEV(True) | | | 26.9±0.3ms | 26.3±0.5ms | 0.98 | aggregate_collapse.Aggregation.time_collapsed_by_VARIANCE(False) | | | 31.0±0.2ms | 30.5±0.4ms | 0.99 | aggregate_collapse.Aggregation.time_collapsed_by_VARIANCE(True) | | | 95.1±1ms | 93.7±1ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_MEAN(False) | | | 95.9±0.9ms | 95.1±1ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_MEAN(True) | | | 109±0.8ms | 107±0.8ms | 0.98 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_RMS(False) | | | 110±1ms | 108±1ms | 0.98 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_RMS(True) | | | 65.0±0.8ms | 64.0±0.7ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_SUM(False) | | | 65.9±0.8ms | 65.2±0.7ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_SUM(True) | | | 31.8±0.5ms | 31.7±0.7ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_MEAN(False) | | | 35.8±0.5ms | 35.4±0.5ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_MEAN(True) | | | 34.1±0.7ms | 33.2±1ms | 0.97 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_RMS(False) | | | 37.9±0.6ms | 37.4±0.5ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_RMS(True) | | | 27.1±0.3ms | 26.8±0.3ms | 0.99 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_SUM(False) | | | 31.4±0.5ms | 31.4±0.4ms | 1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_SUM(True) | | | 350±4ms | 338±3ms | 0.96 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_WPERCENTILE(False) | | | 369±4ms | 351±2ms | 0.95 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_WPERCENTILE(True) | | | 1.09±0.01ms | 1.11±0.01ms | 1.01 | cube.CubeCreation.time_create(False, 'construct') | | | 397±3μs | 397±3μs | 1 | cube.CubeCreation.time_create(False, 'instantiate') | | | 952±10μs | 942±9μs | 0.99 | cube.CubeCreation.time_create(True, 'construct') | | | 580±9μs | 577±8μs | 1 | cube.CubeCreation.time_create(True, 'instantiate') | | | 249±2ms | 240±3ms | 0.96 | cube.CubeEquality.time_equality(False, False, 'all_equal') | | | 129±1ms | 130±2ms | 1 | cube.CubeEquality.time_equality(False, False, 'coord_inequality') | | | 254±3ms | 266±2ms | 1.05 | cube.CubeEquality.time_equality(False, False, 'data_inequality') | | | 16.5±0.1μs | 16.5±0.2μs | 1 | cube.CubeEquality.time_equality(False, False, 'metadata_inequality') | | | 350±3ms | 344±3ms | 0.98 | cube.CubeEquality.time_equality(False, True, 'all_equal') | | | 236±2ms | 230±2ms | 0.98 | cube.CubeEquality.time_equality(False, True, 'coord_inequality') | | | 363±5ms | 370±3ms | 1.02 | cube.CubeEquality.time_equality(False, True, 'data_inequality') | | | 16.7±0.1μs | 16.9±0.4μs | 1.01 | cube.CubeEquality.time_equality(False, True, 'metadata_inequality') | | | 247±2ms | 240±3ms | 0.97 | cube.CubeEquality.time_equality(True, False, 'all_equal') | | | 128±2ms | 129±1ms | 1.01 | cube.CubeEquality.time_equality(True, False, 'coord_inequality') | | | 254±3ms | 267±2ms | 1.05 | cube.CubeEquality.time_equality(True, False, 'data_inequality') | | | 52.8±1μs | 54.2±0.7μs | 1.03 | cube.CubeEquality.time_equality(True, False, 'metadata_inequality') | | | 351±4ms | 345±2ms | 0.98 | cube.CubeEquality.time_equality(True, True, 'all_equal') | | | 234±2ms | 231±2ms | 0.99 | cube.CubeEquality.time_equality(True, True, 'coord_inequality') | | | 362±4ms | 368±4ms | 1.02 | cube.CubeEquality.time_equality(True, True, 'data_inequality') | | | 54.4±0.5μs | 55.6±0.4μs | 1.02 | cube.CubeEquality.time_equality(True, True, 'metadata_inequality') | | | 811±10μs | 787±7μs | 0.97 | import_iris.Iris.time__concatenate | | | 185±2μs | 179±1μs | 0.97 | import_iris.Iris.time__constraints | | | 110±1μs | 108±0.7μs | 0.98 | import_iris.Iris.time__data_manager | | | 94.2±0.8μs | 93.1±1μs | 0.99 | import_iris.Iris.time__deprecation | | | 137±2μs | 135±3μs | 0.98 | import_iris.Iris.time__lazy_data | | | 926±10μs | 908±4μs | 0.98 | import_iris.Iris.time__merge | | | 76.4±0.8μs | 76.6±0.4μs | 1 | import_iris.Iris.time__representation | | | 595±9μs | 589±8μs | 0.99 | import_iris.Iris.time_analysis | | | 141±1μs | 139±1μs | 0.98 | import_iris.Iris.time_analysis__area_weighted | | | 110±2μs | 109±0.8μs | 0.99 | import_iris.Iris.time_analysis__grid_angles | | | 252±8μs | 241±2μs | 0.96 | import_iris.Iris.time_analysis__interpolation | | | 190±2μs | 188±3μs | 0.99 | import_iris.Iris.time_analysis__regrid | | | 112±0.8μs | 111±1μs | 0.99 | import_iris.Iris.time_analysis__scipy_interpolate | | | 139±2μs | 139±0.7μs | 0.99 | import_iris.Iris.time_analysis_calculus | | | 334±2μs | 329±2μs | 0.99 | import_iris.Iris.time_analysis_cartography | | | 94.7±0.4μs | 92.8±0.8μs | 0.98 | import_iris.Iris.time_analysis_geomerty | | | 221±4μs | 216±2μs | 0.98 | import_iris.Iris.time_analysis_maths | | | 98.1±0.9μs | 97.2±0.8μs | 0.99 | import_iris.Iris.time_analysis_stats | | | 176±5μs | 174±2μs | 0.99 | import_iris.Iris.time_analysis_trajectory | | | 306±5μs | 301±3μs | 0.98 | import_iris.Iris.time_aux_factory | | | 83.9±1μs | 83.9±1μs | 1 | import_iris.Iris.time_common | | | 162±2μs | 162±2μs | 1 | import_iris.Iris.time_common_lenient | | | 1.35±0.01ms | 1.33±0.02ms | 0.99 | import_iris.Iris.time_common_metadata | | | 138±1μs | 137±0.5μs | 0.99 | import_iris.Iris.time_common_mixin | | | 1.20±0.01ms | 1.19±0.01ms | 0.99 | import_iris.Iris.time_common_resolve | | | 198±3μs | 197±1μs | 1 | import_iris.Iris.time_config | | | 124±1μs | 124±1μs | 1 | import_iris.Iris.time_coord_categorisation | | | 366±4μs | 358±6μs | 0.98 | import_iris.Iris.time_coord_systems | | | 751±5μs | 742±3μs | 0.99 | import_iris.Iris.time_coords | | | 656±5μs | 649±6μs | 0.99 | import_iris.Iris.time_cube | | | 232±4μs | 224±2μs | 0.97 | import_iris.Iris.time_exceptions | | | 77.7±0.9μs | 76.7±0.5μs | 0.99 | import_iris.Iris.time_experimental | | | 185±1μs | 184±2μs | 0.99 | import_iris.Iris.time_fileformats | | | 253±3μs | 251±3μs | 0.99 | import_iris.Iris.time_fileformats__ff | | | 2.74±0.01ms | 2.75±0.04ms | 1 | import_iris.Iris.time_fileformats__ff_cross_references | | | 79.8±0.6μs | 78.5±0.7μs | 0.98 | import_iris.Iris.time_fileformats__pp_lbproc_pairs | | | 115±1μs | 114±0.9μs | 0.99 | import_iris.Iris.time_fileformats_abf | | | 410±4μs | 403±2μs | 0.98 | import_iris.Iris.time_fileformats_cf | | | 5.35±0.05ms | 5.30±0.04ms | 0.99 | import_iris.Iris.time_fileformats_dot | | | 76.5±2μs | 75.3±0.4μs | 0.98 | import_iris.Iris.time_fileformats_name | | | 259±2μs | 259±2μs | 1 | import_iris.Iris.time_fileformats_name_loaders | | | 121±1μs | 120±2μs | 1 | import_iris.Iris.time_fileformats_netcdf | | | 125±0.9μs | 123±0.8μs | 0.98 | import_iris.Iris.time_fileformats_nimrod | | | 214±2μs | 210±3μs | 0.98 | import_iris.Iris.time_fileformats_nimrod_load_rules | | | 784±4μs | 782±7μs | 1 | import_iris.Iris.time_fileformats_pp | | | 185±1μs | 182±1μs | 0.98 | import_iris.Iris.time_fileformats_pp_load_rules | | | 137±1μs | 135±2μs | 0.99 | import_iris.Iris.time_fileformats_pp_save_rules | | | 525±5μs | 520±2μs | 0.99 | import_iris.Iris.time_fileformats_rules | | | 221±2μs | 221±2μs | 1 | import_iris.Iris.time_fileformats_structured_array_identification | | | 83.9±0.8μs | 84.0±0.7μs | 1 | import_iris.Iris.time_fileformats_um | | | 162±0.7μs | 160±1μs | 0.98 | import_iris.Iris.time_fileformats_um__fast_load | | | 138±0.7μs | 137±0.8μs | 1 | import_iris.Iris.time_fileformats_um__fast_load_structured_fields | | | 75.8±0.5μs | 75.9±0.7μs | 1 | import_iris.Iris.time_fileformats_um__ff_replacement | | | 82.3±0.3μs | 82.3±0.6μs | 1 | import_iris.Iris.time_fileformats_um__optimal_array_structuring | | | 994±4μs | 991±9μs | 1 | import_iris.Iris.time_fileformats_um_cf_map | | | 137±1μs | 137±2μs | 1 | import_iris.Iris.time_io | | | 176±2μs | 173±1μs | 0.98 | import_iris.Iris.time_io_format_picker | | | 231±2μs | 229±2μs | 0.99 | import_iris.Iris.time_iris | | | 128±2μs | 126±0.9μs | 0.99 | import_iris.Iris.time_iterate | | | 8.32±0.08ms | 8.39±0.1ms | 1.01 | import_iris.Iris.time_palette | | | 1.91±0.02ms | 1.90±0.01ms | 0.99 | import_iris.Iris.time_plot | | | 105±0.7μs | 103±0.8μs | 0.98 | import_iris.Iris.time_quickplot | | | 2.20±0.02ms | 2.21±0.03ms | 1 | import_iris.Iris.time_std_names | | | 1.79±0.03ms | 1.75±0.01ms | 0.98 | import_iris.Iris.time_symbols | | | 34.4±1ms | 34.3±0.7ms | 1 | import_iris.Iris.time_tests | | | 255±3μs | 254±2μs | 1 | import_iris.Iris.time_third_party_cartopy | | | 4.79±0.03ms | 4.76±0.05ms | 0.99 | import_iris.Iris.time_third_party_cf_units | | | 119±0.9μs | 119±3μs | 1 | import_iris.Iris.time_third_party_cftime | | | 2.83±0.03ms | 2.83±0.02ms | 1 | import_iris.Iris.time_third_party_matplotlib | | | 171±2μs | 169±2μs | 0.99 | import_iris.Iris.time_third_party_scipy | | | 100±0.8μs | 101±1μs | 1.01 | import_iris.Iris.time_time | | | 325±3μs | 330±3μs | 1.02 | import_iris.Iris.time_util | | | 71.9±0.5μs | 71.7±0.9μs | 1 | iterate.IZip.time_izip | | | 8.91±0.04ms | 8.86±0.03ms | 0.99 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF') | | | 26.8±0.5ms | 26.0±0.3ms | 0.97 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF') | | | 9.93±0.1ms | 8.98±0.03ms | 0.9 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP') | | | 8.92±0.06ms | 8.97±0.1ms | 1.01 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF') | | | 21.6±0.2ms | 21.5±0.2ms | 0.99 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF') | | | 9.66±0.07ms | 8.91±0.06ms | 0.92 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP') | | | 1.52±0.01s | 1.51±0.02s | 0.99 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF') | | | 21.8±0.4ms | 21.4±0.5ms | 0.98 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF') | | | 1.68±0.01s | 1.55±0.01s | 0.93 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP') | | | 1.52±0.02s | 1.52±0.01s | 1 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF') | | | 21.7±0.3ms | 21.3±0.2ms | 0.98 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF') | | | 1.68±0.01s | 1.55±0.02s | 0.92 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP') | | | 4.26±0.04ms | 4.24±0.02ms | 0.99 | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF') | | | 20.1±0.4ms | 20.1±0.2ms | 1 | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF') | | | 4.52±0.04ms | 4.21±0.02ms | 0.93 | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP') | | | 4.25±0.03ms | 4.24±0.03ms | 1 | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF') | | | 20.3±0.2ms | 19.8±0.1ms | 0.98 | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF') | | | 4.52±0.05ms | 4.21±0.06ms | 0.93 | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP') | | | 20.7±0.4ms | 20.5±0.2ms | 0.99 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF') | | | 14.2±2ms | 14.3±1ms | 1 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP') | | | 27.4±2ms | 26.6±2ms | 0.97 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF') | | | 71.2±1ms | 79.8±0.6ms | 1.12 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF') | | | 26.0±1ms | 26.1±1ms | 1 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP') | | | 495±3ms | 486±3ms | 0.98 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF') | | | 2.94±0.09ms | 3.06±0.1ms | 1.04 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF') | | | 501±3ms | 490±3ms | 0.98 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP') | | | 501±4ms | 500±3ms | 1 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF') | | | 3.02±0.09ms | 3.01±0.09ms | 1 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF') | | | 506±4ms | 497±4ms | 0.98 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP') | | | 1.74±0.06ms | 1.70±0.1ms | 0.98 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF') | | | 2.99±0.1ms | 2.82±0.06ms | 0.94 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF') | | | 1.75±0.09ms | 1.74±0.09ms | 0.99 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP') | | | 1.73±0.1ms | 1.74±0.06ms | 1.01 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF') | | | 2.96±0.09ms | 2.93±0.06ms | 0.99 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF') | | | 1.76±0.08ms | 1.72±0.09ms | 0.98 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP') | | | 359±4ms | 359±1ms | 1 | load.ManyVars.time_many_var_load | | | 9.14±0.06ms | 8.94±0.1ms | 0.98 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF') | | | 9.90±0.06ms | 9.04±0.05ms | 0.91 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP') | | | 1.54±0.01s | 1.53±0.01s | 0.99 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF') | | | 1.72±0.01s | 1.54±0.01s | 0.9 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP') | | | 4.33±0.02ms | 4.29±0.03ms | 0.99 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF') | | | 4.62±0.08ms | 4.28±0.03ms | 0.93 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP') | | | 8.92±0.07ms | 8.87±0.1ms | 0.99 | load.StructuredFF.time_structured_load((1280, 960, 5), False) | | | 5.80±0.05ms | 5.86±0.05ms | 1.01 | load.StructuredFF.time_structured_load((1280, 960, 5), True) | | | 1.52±0.01s | 1.50±0.01s | 0.99 | load.StructuredFF.time_structured_load((2, 2, 1000), False) | | | 542±4ms | 541±7ms | 1 | load.StructuredFF.time_structured_load((2, 2, 1000), True) | | | 4.21±0.04ms | 4.20±0.04ms | 1 | load.StructuredFF.time_structured_load((2, 2, 2), False) | | | 4.13±0.03ms | 4.09±0.02ms | 0.99 | load.StructuredFF.time_structured_load((2, 2, 2), True) | | | 165±3ms | 161±1ms | 0.97 | load.TimeConstraint.time_time_constraint(20, 'FF') | | | 24.0±0.3ms | 23.4±0.1ms | 0.97 | load.TimeConstraint.time_time_constraint(20, 'NetCDF') | | | 181±2ms | 163±1ms | 0.9 | load.TimeConstraint.time_time_constraint(20, 'PP') | | | 31.5±0.08ms | 31.3±0.1ms | 0.99 | load.TimeConstraint.time_time_constraint(3, 'FF') | | | 23.4±0.5ms | 22.9±0.1ms | 0.98 | load.TimeConstraint.time_time_constraint(3, 'NetCDF') | | | 34.0±0.2ms | 31.6±0.3ms | 0.93 | load.TimeConstraint.time_time_constraint(3, 'PP') | | | 18.1±0.4ms | 18.0±0.3ms | 1 | load.ugrid.BasicLoading.time_load_file(1) | | | 47.1±0.7ms | 46.4±0.6ms | 0.99 | load.ugrid.BasicLoading.time_load_file(200000) | | | 14.5±0.4ms | 14.6±0.2ms | 1.01 | load.ugrid.BasicLoading.time_load_mesh(1) | | | 25.5±0.3ms | 25.5±0.8ms | 1 | load.ugrid.BasicLoading.time_load_mesh(200000) | | | 18.0±0.4ms | 17.8±0.3ms | 0.99 | load.ugrid.BasicLoadingTime.time_load_file(1) | | | 23.1±0.4ms | 22.7±0.3ms | 0.98 | load.ugrid.BasicLoadingTime.time_load_file(200000) | | | 14.7±0.3ms | 14.5±0.2ms | 0.99 | load.ugrid.BasicLoadingTime.time_load_mesh(1) | | | 19.6±0.7ms | 19.0±0.2ms | 0.97 | load.ugrid.BasicLoadingTime.time_load_mesh(200000) | | | 19.2±0.4ms | 18.7±0.2ms | 0.97 | load.ugrid.Callback.time_load_file_callback(1) | | | 56.9±0.5ms | 56.3±0.6ms | 0.99 | load.ugrid.Callback.time_load_file_callback(200000) | | | 18.9±0.4ms | 18.6±0.2ms | 0.98 | load.ugrid.CallbackTime.time_load_file_callback(1) | | | 24.9±0.5ms | 24.3±0.4ms | 0.98 | load.ugrid.CallbackTime.time_load_file_callback(200000) | | | 2.80±0.06ms | 2.79±0.08ms | 1 | load.ugrid.DataRealisation.time_realise_data(10000) | | | 37.2±0.9ms | 37.6±1ms | 1.01 | load.ugrid.DataRealisationTime.time_realise_data(10000) | | | 803±6ms | 799±5ms | 1 | load.ugrid.DataRealisationTime.time_realise_data(200000) | | | 432±4ms | 423±3ms | 0.98 | merge_concat.Concatenate.time_concatenate(False) | | | 435±4ms | 422±3ms | 0.97 | merge_concat.Concatenate.time_concatenate(True) | | | 109±0.2M | 109±0.4M | 1 | merge_concat.Concatenate.tracemalloc_concatenate(False) | | | 109±0.2M | 109±0.4M | 1 | merge_concat.Concatenate.tracemalloc_concatenate(True) | | | 58.9±0.7ms | 57.7±0.5ms | 0.98 | merge_concat.Merge.time_merge | | | 1.13±0.3M | 979±300k | 0.86 | merge_concat.Merge.tracemalloc_merge | | | 468±3ns | 462±4ns | 0.99 | mesh.utils.regions_combine.CombineRegionsComputeRealData.time_compute_data(50) | | | 659±2k | 658±2k | 1 | mesh.utils.regions_combine.CombineRegionsComputeRealData.tracemalloc_compute_data(50) | | | 60.1±0M | 60.1±0M | 1 | mesh.utils.regions_combine.CombineRegionsComputeRealData.tracemalloc_compute_data(500) | | | 16.8±0.1ms | 16.8±0.2ms | 1 | mesh.utils.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50) | | | 18.4±0.4ms | 18.3±0.3ms | 0.99 | mesh.utils.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500) | | | 502±10k | 502±30k | 1 | mesh.utils.regions_combine.CombineRegionsCreateCube.tracemalloc_create_combined_cube(50) | | | 12.4±0.01M | 12.4±0.03M | 1 | mesh.utils.regions_combine.CombineRegionsCreateCube.tracemalloc_create_combined_cube(500) | | | 119±2ms | 117±0.7ms | 0.99 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50) | | | 733±8ms | 689±9ms | 0.94 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500) | | | 1.21±0.02M | 1.21±0.03M | 1 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.tracemalloc_stream_file2file(50) | | | 96.2±0.03M | 96.2±0.02M | 1 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.tracemalloc_stream_file2file(500) | | | 79.4±1ms | 77.7±1ms | 0.98 | mesh.utils.regions_combine.CombineRegionsSaveData.time_save(50) | | | 685±4ms | 640±5ms | 0.94 | mesh.utils.regions_combine.CombineRegionsSaveData.time_save(500) | | | 1.18±0.02M | 1.18±0.01M | 1 | mesh.utils.regions_combine.CombineRegionsSaveData.tracemalloc_save(50) | | | 96.2±0.01M | 96.2±0.01M | 1 | mesh.utils.regions_combine.CombineRegionsSaveData.tracemalloc_save(500) | | | 2.1752849999999997 | 2.1752849999999997 | 1 | mesh.utils.regions_combine.CombineRegionsSaveData.track_filesize_saved(50) | | | 216.01528499999998 | 216.01528499999998 | 1 | mesh.utils.regions_combine.CombineRegionsSaveData.track_filesize_saved(500) | | | 6.60±0.04ms | 6.46±0.02ms | 0.98 | plot.AuxSort.time_aux_sort | | | 84.6±3ms | 81.2±3ms | 0.96 | regridding.CurvilinearRegridding.time_regrid_pic | | | 136±3M | 136±3M | 1 | regridding.CurvilinearRegridding.tracemalloc_regrid_pic | | | 102±0.6ms | 101±0.7ms | 0.99 | regridding.HorizontalChunkedRegridding.time_regrid_area_w | | | 51.9±2ms | 49.1±0.8ms | 0.95 | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid | | | 106±0.04M | 106±0.05M | 1 | regridding.HorizontalChunkedRegridding.tracemalloc_regrid_area_w | | | 147±0.02M | 147±0.03M | 1 | regridding.HorizontalChunkedRegridding.tracemalloc_regrid_area_w_new_grid | | | 4.39±0.05ms | 4.46±0.06ms | 1.02 | save.NetcdfSave.time_netcdf_save_cube(50, False) | | | 80.8±0.6ms | 81.5±0.7ms | 1.01 | save.NetcdfSave.time_netcdf_save_cube(50, True) | | | 55.0±1ms | 53.4±1ms | 0.97 | save.NetcdfSave.time_netcdf_save_cube(600, False) | | | 595±4ms | 590±5ms | 0.99 | save.NetcdfSave.time_netcdf_save_cube(600, True) | | | 93.1±3ns | 91.5±1ns | 0.98 | save.NetcdfSave.time_netcdf_save_mesh(50, False) | | | 62.9±0.7ms | 62.9±0.4ms | 1 | save.NetcdfSave.time_netcdf_save_mesh(50, True) | | | 92.7±3ns | 89.2±1ns | 0.96 | save.NetcdfSave.time_netcdf_save_mesh(600, False) | | | 520±5ms | 520±3ms | 1 | save.NetcdfSave.time_netcdf_save_mesh(600, True) | | | 28±0.07k | 28.4±0.09k | 1.01 | save.NetcdfSave.tracemalloc_netcdf_save(50, False) | | | 1.72±0.1M | 1.64±0.1M | 0.96 | save.NetcdfSave.tracemalloc_netcdf_save(50, True) | | | 28±0.06k | 28.4±0.06k | 1.01 | save.NetcdfSave.tracemalloc_netcdf_save(600, False) | | | 208±20M | 208±20M | 1 | save.NetcdfSave.tracemalloc_netcdf_save(600, True) | | | 48.6±1ms | 42.2±0.4ms | 0.87 | stats.PearsonR.time_lazy | | | 18.4±0.01M | 18.4±0.01M | 1 | stats.PearsonR.tracemalloc_real | | | 68.7±0.7ms | 61.1±0.5ms | 0.89 | trajectory.TrajectoryInterpolation.time_trajectory_nearest | | | 23.3±0.01M | 23.3±0.01M | 1 | trajectory.TrajectoryInterpolation.tracemalloc_trajectory_linear | | | 12.1±0.05M | 12.1±0.05M | 1 | trajectory.TrajectoryInterpolation.tracemalloc_trajectory_nearest | Benchmarks that have got worse: | Change | Before [dd0432e4] | After [b5bdaffc]
| Ratio | Benchmark (Parameter) | |----------|------------------------------|---------------------------|---------|-----------------------------------------| | + | 1.06±0.01ms | 1.54±0.01ms | 1.45 | import_iris.Iris.time_third_party_numpy | | + | 20±0.07M | 24.4±0.7M | 1.22 | stats.PearsonR.tracemalloc_lazy | ```

Generated by GHA run 11508762926

trexfeathers commented 1 week ago

Expected