8000 Remove unit benchmarks by trexfeathers · Pull Request #5949 · SciTools/iris · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Remove unit benchmarks #5949

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
May 13, 2024
Merged

Conversation

trexfeathers
Copy link
Contributor
@trexfeathers trexfeathers commented May 10, 2024

🚀 Pull Request

Description

Closes #5475

  • Introduces iris.tests.stock.realistic_4d_w_everything() - a Cube with as many features as possible - aimed at exercising as much of Iris as possible, useful for wide coverage benchmarks.
  • Deactivates some out-dated benchmarks from being run by default.
  • Replaces lost coverage from the above retirement with benchmarks that use the new realistic 'everything Cube'.
  • Changed README and docstring advice to no longer encourage unit-style testing and instead encourage writing benchmarks from the user perspective.
  • I also retired benchmarks.ARTIFICIAL_DIM_SIZE because it didn't seem to be adding much, beyond unnecessary complexity.

Consult Iris pull request check list


Add any of the below labels to trigger actions on this PR:

  • benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts

@trexfeathers trexfeathers requested a review from ESadek-MO May 10, 2024 15:30
@trexfeathers trexfeathers added the benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts label May 10, 2024
Copy link
codecov bot commented May 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.78%. Comparing base (a56f939) to head (bbf2736).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5949   +/-   ##
=======================================
  Coverage   89.78%   89.78%           
=======================================
  Files          93       93           
  Lines       23007    23007           
  Branches     5017     5017           
=======================================
  Hits        20657    20657           
  Misses       1620     1620           
  Partials      730      730           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

⏱️ Performance Benchmark Report: 2418a1a

Performance shifts

Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [a56f9393]    | After [2418a1af]    | Ratio   | Benchmark (Parameter)                                                                                |
|----------|----------------------|---------------------|---------|------------------------------------------------------------------------------------------------------|
|          | 1.15±0.01ms          | 1.12±0.01ms         | 0.97    | cube.CubeCreation.time_create(False, 'construct')                                                    |
|          | 418±7μs              | 406±4μs             | 0.97    | cube.CubeCreation.time_create(False, 'instantiate')                                                  |
|          | 966±9μs              | 967±10μs            | 1.00    | cube.CubeCreation.time_create(True, 'construct')                                                     |
|          | 595±8μs              | 594±8μs             | 1.00    | cube.CubeCreation.time_create(True, 'instantiate')                                                   |
|          | 214±2ms              | 215±2ms             | 1.00    | cube.CubeEquality.time_equality(False, False, 'all_equal')                                           |
|          | 110±0.8ms            | 109±1ms             | 0.99    | cube.CubeEquality.time_equality(False, False, 'coord_inequality')                                    |
|          | 227±2ms              | 224±3ms             | 0.99    | cube.CubeEquality.time_equality(False, False, 'data_inequality')                                     |
|          | 16.8±0.2μs           | 16.6±0.3μs          | 0.99    | cube.CubeEquality.time_equality(False, False, 'metadata_inequality')                                 |
|          | 295±3ms              | 296±3ms             | 1.00    | cube.CubeEquality.time_equality(False, True, 'all_equal')                                            |
|          | 191±2ms              | 190±2ms             | 0.99    | cube.CubeEquality.time_equality(False, True, 'coord_inequality')                                     |
|          | 306±3ms              | 308±3ms             | 1.01    | cube.CubeEquality.time_equality(False, True, 'data_inequality')                                      |
|          | 17.0±0.2μs           | 16.7±0.4μs          | 0.98    | cube.CubeEquality.time_equality(False, True, 'metadata_inequality')                                  |
|          | 216±2ms              | 216±2ms             | 1.00    | cube.CubeEquality.time_equality(True, False, 'all_equal')                                            |
|          | 110±1ms              | 108±1ms             | 0.99    | cube.CubeEquality.time_equality(True, False, 'coord_inequality')                                     |
|          | 227±2ms              | 224±2ms             | 0.99    | cube.CubeEquality.time_equality(True, False, 'data_inequality')                                      |
|          | 54.5±0.7μs           | 52.9±0.4μs          | 0.97    | cube.CubeEquality.time_equality(True, False, 'metadata_inequality')                                  |
|          | 296±2ms              | 295±2ms             | 1.00    | cube.CubeEquality.time_equality(True, True, 'all_equal')                                             |
|          | 191±2ms              | 190±2ms             | 1.00    | cube.CubeEquality.time_equality(True, True, 'coord_inequality')                                      |
|          | 308±2ms              | 305±4ms             | 0.99    | cube.CubeEquality.time_equality(True, True, 'data_inequality')                                       |
|          | 55.2±0.5μs           | 55.7±0.5μs          | 1.01    | cube.
8000
CubeEquality.time_equality(True, True, 'metadata_inequality')                                   |
|          | 394±7ns              | 395±3ns             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)               |
|          | 260±3ms              | 260±2ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)              |
|          | 14.4±0.06ms          | 14.3±0.2ms          | 1.00    | experimental.ugrid.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)            |
|          | 16.4±0.4ms           | 16.3±0.6ms          | 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) |
|          | 102±0.9ms            | 102±0.4ms           | 1.00    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)          |
|          | 690±6ms              | 692±3ms             | 1.00    | experimental.ugrid.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)         |
|          | 63.8±0.4ms           | 64.0±0.7ms          | 1.00    | experimental.ugrid.regions_combine.CombineRegionsSaveData.time_save(50)                              |
|          | 648±4ms              | 647±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)                  |
|          | 661±7μs              | 683±10μs            | 1.03    | import_iris.Iris.time__concatenate                                                                   |
|          | 179±2μs              | 179±3μs             | 1.00    | import_iris.Iris.time__constraints                                                                   |
|          | 111±1μs              | 110±2μs             | 0.99    | import_iris.Iris.time__data_manager                                                                  |
|          | 93.6±0.8μs           | 94.2±1μs            | 1.01    | import_iris.Iris.time__deprecation                                                                   |
|          | 136±0.7μs            | 136±0.7μs           | 1.00    | import_iris.Iris.time__lazy_data                                                                     |
|          | 903±6μs              | 906±4μs             | 1.00    | import_iris.Iris.time__merge                                                                         |
|          | 77.6±0.8μs           | 77.2±0.6μs          | 1.00    | import_iris.Iris.time__representation                                                                |
|          | 487±3μs              | 492±7μs             | 1.01    | import_iris.Iris.time_analysis                                                                       |
|          | 144±2μs              | 142±1μs             | 0.98    | import_iris.Iris.time_analysis__area_weighted                                                        |
|          | 110±0.9μs            | 108±2μs             | 0.98    | import_iris.Iris.time_analysis__grid_angles                                                          |
|          | 244±4μs              | 245±3μs             | 1.00    | import_iris.Iris.time_analysis__interpolation                                                        |
|          | 188±1μs              | 187±2μs             | 1.00    | import_iris.Iris.time_analysis__regrid                                                               |
|          | 112±0.6μs            | 113±2μs             | 1.01    | import_iris.Iris.time_analysis__scipy_interpolate                                                    |
|          | 141±2μs              | 139±2μs             | 0.98    | import_iris.Iris.time_analysis_calculus                                                              |
|          | 335±6μs              | 326±4μs             | 0.97    | import_iris.Iris.time_analysis_cartography                                                           |
|          | 94.3±1μs             | 93.2±1μs            | 0.99    | import_iris.Iris.time_analysis_geomerty                                                              |
|          | 218±2μs              | 217±2μs             | 0.99    | import_iris.Iris.time_analysis_maths                                                                 |
|          | 97.8±0.9μs           | 96.9±1μs            | 0.99    | import_iris.Iris.time_analysis_stats                                                                 |
|          | 175±1μs              | 174±1μs             | 1.00    | import_iris.Iris.time_analysis_trajectory                                                            |
|          | 300±3μs              | 299±2μs             | 1.00    | import_iris.Iris.time_aux_factory                                                                    |
|          | 86.3±0.5μs           | 84.8±0.8μs          | 0.98    | import_iris.Iris.time_common                                                                         |
|          | 164±2μs              | 162±2μs             | 0.99    | import_iris.Iris.time_common_lenient                                                                 |
|          | 981±3μs              | 979±4μs             | 1.00    | import_iris.Iris.time_common_metadata                                                                |
|          | 133±0.5μs            | 133±1μs             | 1.00    | import_iris.Iris.time_common_mixin                                                                   |
|          | 1.17±0ms             | 1.17±0ms            | 1.00    | import_iris.Iris.time_common_resolve                                                                 |
|          | 200±2μs              | 203±6μs             | 1.01    | import_iris.Iris.time_config                                                                         |
|          | 115±0.4μs            | 115±2μs             | 1.00    | import_iris.Iris.time_coord_categorisation                                                           |
|          | 349±2μs              | 350±1μs             | 1.00    | import_iris.Iris.time_coord_systems                                                                  |
|          | 726±6μs              | 727±2μs             | 1.00    | import_iris.Iris.time_coords                                                                         |
|          | 656±4μs              | 650±6μs             | 0.99    | import_iris.Iris.time_cube                                                                           |
|          | 225±4μs              | 223±2μs             | 0.99    | import_iris.Iris.time_exceptions                                                                     |
|          | 78.3±0.5μs           | 78.3±0.6μs          | 1.00    | import_iris.Iris.time_experimental                                                                   |
|          | 189±2μs              | 187±1μs             | 0.99    | import_iris.Iris.time_fileformats                                                                    |
|          | 250±2μs              | 247±1μs             | 0.99    | import_iris.Iris.time_fileformats__ff                                                                |
|          | 2.68±0.02ms          | 2.69±0.01ms         | 1.01    | import_iris.Iris.time_fileformats__ff_cross_references                                               |
|          | 78.7±0.6μs           | 79.2±0.8μs          | 1.01    | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                                   |
|          | 114±2μs              | 114±2μs             | 1.00    | import_iris.Iris.time_fileformats_abf                                                                |
|          | 348±2μs              | 349±2μs             | 1.00    | import_iris.Iris.time_fileformats_cf                                                                 |
|          | 5.32±0.03ms          | 5.28±0.03ms         | 0.99    | import_iris.Iris.time_fileformats_dot                                                                |
|          | 75.0±1μs             | 75.0±0.5μs          | 1.00    | import_iris.Iris.time_fileformats_name                                                               |
|          | 257±2μs              | 260±2μs             | 1.01    | import_iris.Iris.time_fileformats_name_loaders                                                       |
|          | 119±1μs              | 121±1μs             | 1.01    | import_iris.Iris.time_fileformats_netcdf                                                             |
|          | 121±0.9μs            | 121±1μs             | 1.00    | import_iris.Iris.time_fileformats_nimrod                                                             |
|          | 207±1μs              | 208±3μs             | 1.01    | import_iris.Iris.time_fileformats_nimrod_load_rules                                                  |
|          | 765±4μs              | 765±2μs             | 1.00    | import_iris.Iris.time_fileformats_pp                                                                 |
|          | 180±2μs              | 180±3μs             | 1.00    | import_iris.Iris.time_fileformats_pp_load_rules                                                      |
|          | 135±1μs              | 135±1μs             | 1.00    | import_iris.Iris.time_fileformats_pp_save_rules                                                      |
|          | 513±3μs              | 515±3μs             | 1.00    | import_iris.Iris.time_fileformats_rules                                                              |
|          | 218±2μs              | 218±2μs             | 1.00    | import_iris.Iris.time_fileformats_structured_array_identification                                    |
|          | 84.1±0.5μs           | 84.4±0.8μs          | 1.00    | import_iris.Iris.time_fileformats_um                                                                 |
|          | 160±2μs              | 162±2μs             | 1.01    | import_iris.Iris.time_fileformats_um__fast_load                                                      |
|          | 136±1μs              | 137±2μs             | 1.01    | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                                    |
|          | 75.4±0.9μs           | 76.4±0.5μs          | 1.01    | import_iris.Iris.time_fileformats_um__ff_replacement                                                 |
|          | 82.4±1μs             | 83.3±0.6μs          | 1.01    | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                      |
|          | 979±10μs             | 985±3μs             | 1.01    | import_iris.Iris.time_fileformats_um_cf_map                                                          |
|          | 137±0.8μs            | 139±3μs             | 1.01    | import_iris.Iris.time_io                                                                             |
|          | 172±3μs              | 171±0.9μs           | 0.99    | import_iris.Iris.time_io_format_picker                                                               |
|          | 203±2μs              | 203±2μs             | 1.00    | import_iris.Iris.time_iris                                                                           |
|          | 126±1μs              | 128±1μs             | 1.01    | import_iris.Iris.time_iterate                                                                        |
|          | 8.35±0.04ms          | 8.42±0.05ms         | 1.01    | import_iris.Iris.time_palette                                                                        |
|          | 335±2μs              | 338±4μs             | 1.01    | import_iris.Iris.time_plot                                                                           |
|          | 103±0.7μs            | 104±1μs             | 1.01    | import_iris.Iris.time_quickplot                                                                      |
|          | 2.08±0.01ms          | 2.08±0.01ms         | 1.00    | import_iris.Iris.time_std_names                                                                      |
|          | 1.77±0.01ms          | 1.76±0.01ms         | 1.00    | import_iris.Iris.time_symbols                                                                        |
|          | 19.1±0.5ms           | 19.2±0.7ms          | 1.01    | import_iris.Iris.time_tests                                                                          |
|          | 230±2μs              | 229±3μs             | 1.00    | import_iris.Iris.time_third_party_cartopy                                                            |
|          | 4.81±0.03ms          | 4.80±0.02ms         | 1.00    | import_iris.Iris.time_third_party_cf_units                                                           |
|          | 107±0.7μs            | 107±1μs             | 1.00    | import_iris.Iris.time_third_party_cftime                                                             |
|          | 2.81±0.02ms          | 2.78±0.01ms         | 0.99    | import_iris.Iris.time_third_party_matplotlib                                                         |
|          | 1.06±0ms             | 1.06±0.01ms         | 1.00    | import_iris.Iris.time_third_party_numpy                                                              |
|          | 159±1μs              | 159±2μs             | 1.00    | import_iris.Iris.time_third_party_scipy                                                              |
|          | 99.4±0.6μs           | 103±2μs             | 1.03    | import_iris.Iris.time_time                                                                           |
|          | 316±5μs              | 315±3μs             | 1.00    | import_iris.Iris.time_util                                                                           |
|          | 74.7±0.7μs           | 73.9±1μs            | 0.99    | iterate.IZip.time_izip                                                                               |
|          | 8.11±0.04ms          | 7.98±0.2ms          | 0.98    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                           |
|          | 23.0±0.6ms           | 23.7±0.3ms          | 1.03    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                       |
|          | 8.85±0.07ms          | 8.79±0.08ms         | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                           |
|          | 8.15±0.09ms          | 8.06±0.08ms         | 0.99    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                            |
|          | 20.8±0.09ms          | 20.9±0.2ms          | 1.01    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                        |
|          | 8.84±0.08ms          | 8.83±0.2ms          | 1.00    | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                            |
|          | 1.33±0.01s           | 1.32±0.02s          | 0.99    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                             |
|          | 20.4±0.1ms           | 20.6±0.3ms          | 1.01    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                         |
|          | 1.49±0.01s           | 1.48±0.01s          | 0.99    | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                             |
|          | 1.33±0.02s           | 1.31±0.01s          | 0.99    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                              |
|          | 20.5±0.2ms           | 20.8±0.3ms          | 1.02    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                          |
|          | 1.48±0.01s           | 1.47±0.02s          | 0.99    | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                              |
|          | 3.90±0.03ms          | 3.91±0.03ms         | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                              |
|          | 19.6±0.3ms           | 19.6±0.4ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                          |
|          | 4.18±0.03ms          | 4.15±0.05ms         | 0.99    | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                              |
|          | 3.92±0.02ms          | 3.91±0.04ms         | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                               |
|          | 19.4±0.1ms           | 19.5±0.2ms          | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                           |
|          | 4.18±0.02ms          | 4.17±0.06ms         | 1.00    | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                               |
|          | 31.4±3ms             | 30.4±3ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                        |
|          | 18.6±0.6ms           | 18.4±0.3ms          | 0.99    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                                    |
|          | 13.1±2ms             | 13.3±2ms            | 1.02    | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                        |
|          | 25.8±2ms             | 25.0±1ms            | 0.97    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                         |
|          | 69.7±2ms             | 69.6±2ms            | 1.00    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                                     |
|          | 25.3±1ms             | 24.9±0.7ms          | 0.98    | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                         |
|          | 434±2ms              | 433±1ms             | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                          |
|          | 2.78±0.09ms          | 2.68±0.07ms         | 0.96    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                      |
|          | 440±2ms              | 440±3ms             | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                          |
|          | 441±2ms              | 439±1ms             | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                           |
|          | 2.75±0.1ms           | 2.68±0.05ms         | 0.97    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                       |
|          | 446±2ms              | 445±1ms             | 1.00    | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                           |
|          | 1.50±0.07ms          | 1.59±0.07ms         | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                           |
|          | 2.73±0.08ms          | 2.67±0.05ms         | 0.98    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                       |
|          | 1.52±0.07ms          | 1.59±0.07ms         | 1.04    | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                           |
|          | 1.60±0.05ms          | 1.56±0.08ms         | 0.97    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                            |
|          | 2.83±0.09ms          | 2.73±0.03ms         | 0.96    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                        |
|          | 1.55±0.04ms          | 1.65±0.06ms         | 1.06    | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                            |
|          | 355±2ms              | 353±4ms             | 0.99    | load.ManyVars.time_many_var_load                                                                     |
|          | 8.26±0.05ms          | 8.14±0.06ms         | 0.99    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                                     |
|          | 9.06±0.05ms          | 9.06±0.08ms         | 1.00    | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                                     |
|          | 1.34±0.01s           | 1.35±0.01s          | 1.01    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                       |
|          | 1.51±0.01s           | 1.52±0.01s          | 1.00    | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                       |
|          | 3.97±0.03ms          | 3.93±0.05ms         | 0.99    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                          |
|          | 4.25±0.07ms          | 4.24±0.05ms         | 1.00    | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                          |
|          | 8.20±0.1ms           | 8.06±0.04ms         | 0.98    | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                        |
|          | 4.76±0.03ms          | 4.82±0.05ms         | 1.01    | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                         |
|          | 1.33±0.02s           | 1.33±0.01s          | 1.00    | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                          |
|          | 362±2ms              | 370±6ms             | 1.02    | load.StructuredFF.time_structured_load((2, 2, 1000), True)                                           |
|          | 3.91±0.03ms          | 3.94±0.04ms         | 1.01    | load.StructuredFF.time_structured_load((2, 2, 2), False)                                             |
|          | 3.63±0.04ms          | 3.56±0.03ms         | 0.98    | load.StructuredFF.time_structured_load((2, 2, 2), True)                                              |
|          | 148±0.8ms            | 149±1ms             | 1.01    | load.TimeConstraint.time_time_constraint(20, 'FF')                                                   |
|          | 22.8±0.08ms          | 23.0±0.1ms          | 1.01    | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                               |
|          | 163±1ms              | 165±1ms             | 1.01    | load.TimeConstraint.time_time_constraint(20, 'PP')                                                   |
|          | 29.3±0.1ms           | 29.6±0.3ms          | 1.01    | load.TimeConstraint.time_time_constraint(3, 'FF')                                                    |
|          | 22.6±0.3ms           | 22.6±0.2ms          | 1.00    | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                                |
|          | 31.7±0.2ms           | 31.7±0.3ms          | 1.00    | load.TimeConstraint.time_time_constraint(3, 'PP')                                                    |
|          | 17.0±0.2ms           | 17.3±0.1ms          | 1.01    | load.ugrid.BasicLoading.time_load_file(1)                                                            |
|          | 40.4±0.6ms           | 40.1±0.4ms          | 0.99    | load.ugrid.BasicLoading.time_load_file(200000)                                                       |
|          | 14.1±0.2ms           | 13.9±0.2ms          | 0.99    | load.ugrid.BasicLoading.time_load_mesh(1)                                                            |
|          | 21.2±0.1ms           | 21.2±0.4ms          | 1.00    | load.ugrid.BasicLoading.time_load_mesh(200000)                                                       |
|          | 17.2±0.4ms           | 17.5±0.2ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_file(1)                                                        |
|          | 19.7±0.3ms           | 19.6±0.3ms          | 0.99    | load.ugrid.BasicLoadingTime.time_load_file(200000)                                                   |
|          | 13.9±0.3ms           | 14.2±0.2ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                        |
|          | 16.2±0.2ms           | 16.5±0.4ms          | 1.02    | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                                   |
|          | 18.0±0.3ms           | 18.3±0.2ms          | 1.01    | load.ugrid.Callback.time_load_file_callback(1)                                                       |
|          | 49.1±0.8ms           | 49.0±0.6ms          | 1.00    | load.ugrid.Callback.time_load_file_callback(200000)                                                  |
|          | 18.0±0.2ms           | 18.4±0.3ms          | 1.02    | load.ugrid.CallbackTime.time_load_file_callback(1)                                                   |
|          | 21.5±0.3ms           | 21.1±0.3ms          | 0.98    | load.ugrid.CallbackTime.time_load_file_callback(200000)                                              |
|          | 2.58±0.06ms          | 2.58±0.08ms         | 1.00    | load.ugrid.DataRealisation.time_realise_data(10000)                                                  |
|          | 5.21±0.9ms           | 3.64±0.9ms          | ~0.70   | load.ugrid.DataRealisation.time_realise_data(200000)                                                 |
|          | 35.6±0.6ms           | 35.3±0.4ms          | 0.99    | load.ugrid.DataRealisationTime.time_realise_data(10000)                                              |
|          | 780±5ms              | 784±6ms             | 1.00    | load.ugrid.DataRealisationTime.time_realise_data(200000)                                             |
|          | 179±2ms              | 179±1ms             | 1.00    | merge_concat.Concatenate.time_concatenate                                                            |
|          | 44.7±0.3ms           | 44.6±0.2ms          | 1.00    | merge_concat.Merge.time_merge                                                                        |
|          | 6.53±0.03ms          | 6.56±0.05ms         | 1.01    | plot.AuxSort.time_aux_sort                                                                           |
|          | 77.7±5ms             | 76.3±1ms            | 0.98    | regridding.CurvilinearRegridding.time_regrid_pic                                                     |
|          | 97.5±0.7ms           | 98.3±0.5ms          | 1.01    | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                            |
|          | 46.8±3ms             | 46.3±1ms            | 0.99    | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                                   |
|          | 4.01±0.02ms          | 4.03±0.03ms         | 1.00    | save.NetcdfSave.time_netcdf_save_cube(50, False)                                                     |
|          | 69.5±0.3ms           | 69.5±0.4ms          | 1.00    | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                      |
|          | 50.6±0.4ms           | 51.7±2ms            | 1.02    | save.NetcdfSave.time_netcdf_save_cube(600, False)                                                    |
|          | 551±4ms              | 551±4ms             | 1.00    | save.NetcdfSave.time_netcdf_save_cube(600, True)                                                     |
|          | 90.2±0.6ns           | 90.7±0.8ns          | 1.01    | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                                     |
|          | 52.9±0.2ms           | 53.0±0.2ms          | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                      |
|          | 89.9±1ns             | 90.2±0.7ns          | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                                    |
|          | 483±3ms              | 485±3ms             | 1.00    | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                                     |
|          | 41.6±1ms             | 41.6±0.5ms          | 1.00    | stats.PearsonR.time_lazy                                                                             |
|          | 18.4±0.1ms           | 18.7±0.3ms          | 1.01    | stats.PearsonR.time_real                                                                             |
|          | 22.8±0.4ms           | 22.6±0.7ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_linear                                            |
|          | 57.1±0.5ms           | 56.6±0.4ms          | 0.99    | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                           |

Generated by GHA run 9034532330

Copy link
Contributor
@ESadek-MO ESadek-MO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thanks @trexfeathers! Just a couple of potential text changes

Copy link
Contributor
@ESadek-MO ESadek-MO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with this!

@ESadek-MO ESadek-MO merged commit c5e0353 into SciTools:main May 13, 2024
21 checks passed
@trexfeathers
Copy link
Contributor Author

Thanks @ESadek-MO!

stephenworsley added a commit to stephenworsley/iris that referenced this pull request Jun 10, 2024
* main: (759 commits)
  Bump scitools/workflows from 2024.05.1 to 2024.06.0 (SciTools#5986)
  [pre-commit.ci] pre-commit autoupdate (SciTools#5980)
  Updated environment lockfiles (SciTools#5983)
  Bump scitools/workflows from 2024.05.0 to 2024.05.1 (SciTools#5984)
  Make `slices_over` tests go faster (SciTools#5973)
  Updated environment lockfiles (SciTools#5979)
  Update lock files with associated fixes (SciTools#5953)
  List 25 slowest tests (SciTools#5969)
  used a note to highlight some text (SciTools#5971)
  Lazy `iris.cube.Cube.rolling_window` (SciTools#5795)
  Add memory benchmarks (SciTools#5960)
  Whatsnew for several benchmark developments. (SciTools#5961)
  Remove "on-demand" from some benchmarks (SciTools#5959)
  Add bm_runner 'trialrun' subcommand. (SciTools#5957)
  Automatically install iris-test-data for benchmark data generation (SciTools#5958)
  Added benchmarks for collapse and aggregate (SciTools#5954)
  Use tracemalloc for memory measurements. (SciTools#5948)
  Provide a Nox `benchmarks` session as the recommended entry point (SciTools#5951)
  [pre-commit.ci] pre-commit autoupdate (SciTools#5952)
  Remove unit benchmarks (SciTools#5949)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts Type: Performance Type: Testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider removing some unit test style benchmarks
2 participants
0