Skip to content
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

Fix failing ASV benchmarks #1118

Merged
merged 6 commits into from
Dec 23, 2024
Merged

Fix failing ASV benchmarks #1118

merged 6 commits into from
Dec 23, 2024

Conversation

philipc2
Copy link
Member

Overview

  • Fixes failing ASV benchmarks

@philipc2 philipc2 self-assigned this Dec 23, 2024
@philipc2 philipc2 added the run-benchmark Run ASV benchmark workflow label Dec 23, 2024
Copy link

github-actions bot commented Dec 23, 2024

ASV Benchmarking

Benchmark Comparison Results

Benchmarks that have improved:

Change Before [79275c5] <v2024.12.0> After [a4a451d] Ratio Benchmark (Parameter)
- 449M 404M 0.9 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
- 638M 395M 0.62 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
- 485M 387M 0.8 mpas_ocean.Integrate.peakmem_integrate('480km')

Benchmarks that have stayed the same:

Change Before [79275c5] <v2024.12.0> After [a4a451d] Ratio Benchmark (Parameter)
401M 401M 1 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
436M 438M 1 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
18.6±0.2ms 18.5±0.09ms 0.99 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
7.51±0.5ms 7.25±0.07ms 0.97 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
43.2±2ms 42.9±0.1ms 0.99 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
3.83±0.1ms 3.80±0.07ms 0.99 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
2.89±0.02s 2.90±0.03s 1.01 import.Imports.timeraw_import_uxarray
649±6μs 656±8μs 1.01 mpas_ocean.CheckNorm.time_check_norm('120km')
436±4μs 441±10μs 1.01 mpas_ocean.CheckNorm.time_check_norm('480km')
637±10ms 646±10ms 1.01 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('120km')
41.2±1ms 41.1±0.9ms 1 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('480km')
1.73±0.02ms 1.87±0.1ms 1.08 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('120km')
584±20μs 567±80μs 0.97 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('480km')
5.89±0.07ms 5.86±0.04ms 0.99 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('120km')
3.56±0.07ms 3.49±0.04ms 0.98 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('480km')
3.56±0.01s 3.54±0.01s 1 mpas_ocean.ConstructFaceLatLon.time_welzl('120km')
225±2ms 228±1ms 1.01 mpas_ocean.ConstructFaceLatLon.time_welzl('480km')
1.25±0μs 1.22±0.01μs 0.98 mpas_ocean.ConstructTreeStructures.time_ball_tree('120km')
315±4ns 295±1ns 0.94 mpas_ocean.ConstructTreeStructures.time_ball_tree('480km')
824±2ns 809±10ns 0.98 mpas_ocean.ConstructTreeStructures.time_kd_tree('120km')
296±2ns 293±5ns 0.99 mpas_ocean.ConstructTreeStructures.time_kd_tree('480km')
423±4ms 428±5ms 1.01 mpas_ocean.CrossSection.time_const_lat('120km', 1)
212±1ms 214±2ms 1.01 mpas_ocean.CrossSection.time_const_lat('120km', 2)
112±2ms 111±0.6ms 0.99 mpas_ocean.CrossSection.time_const_lat('120km', 4)
349±2ms 355±3ms 1.02 mpas_ocean.CrossSection.time_const_lat('480km', 1)
176±0.6ms 177±0.7ms 1.01 mpas_ocean.CrossSection.time_const_lat('480km', 2)
90.5±0.5ms 91.1±0.3ms 1.01 mpas_ocean.CrossSection.time_const_lat('480km', 4)
122±1ms 123±1ms 1.01 mpas_ocean.DualMesh.time_dual_mesh_construction('120km')
8.66±0.1ms 8.78±0.2ms 1.01 mpas_ocean.DualMesh.time_dual_mesh_construction('480km')
1.06±0.01s 1.06±0.01s 1 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', False)
52.0±0.5ms 52.2±0.7ms 1 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', True)
84.2±0.3ms 86.1±0.4ms 1.02 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', False)
5.10±0.1ms 5.15±0.07ms 1.01 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', True)
340M 340M 1 mpas_ocean.Gradient.peakmem_gradient('120km')
317M 317M 1 mpas_ocean.Gradient.peakmem_gradient('480km')
2.75±0.01ms 2.75±0.03ms 1 mpas_ocean.Gradient.time_gradient('120km')
312±4μs 311±2μs 1 mpas_ocean.Gradient.time_gradient('480km')
229±4μs 237±3μs 1.03 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('120km')
118±2μs 117±0.6μs 0.99 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('480km')
403M 403M 1 mpas_ocean.Integrate.peakmem_integrate('120km')
187±5ms 174±1ms 0.94 mpas_ocean.Integrate.time_integrate('120km')
13.0±0.02ms 12.0±0.04ms 0.92 mpas_ocean.Integrate.time_integrate('480km')
347±3ms 344±3ms 0.99 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'exclude')
346±4ms 346±1ms 1 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'include')
346±1ms 347±2ms 1 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'split')
22.6±0.3ms 22.6±0.1ms 1 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'exclude')
22.5±0.1ms 22.6±0.3ms 1 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'include')
22.8±0.1ms 22.5±0.2ms 0.99 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'split')
55.3±0.04ms 55.5±0.1ms 1 mpas_ocean.RemapDownsample.time_inverse_distance_weighted_remapping
45.1±0.09ms 45.5±0.3ms 1.01 mpas_ocean.RemapDownsample.time_nearest_neighbor_remapping
361±0.7ms 360±0.5ms 1 mpas_ocean.RemapUpsample.time_inverse_distance_weighted_remapping
264±0.5ms 264±0.5ms 1 mpas_ocean.RemapUpsample.time_nearest_neighbor_remapping
313M 317M 1.01 quad_hexagon.QuadHexagon.peakmem_open_dataset
312M 312M 1 quad_hexagon.QuadHexagon.peakmem_open_grid
6.12±0.02ms 6.24±0.08ms 1.02 quad_hexagon.QuadHexagon.time_open_dataset
5.37±0.04ms 5.35±0.04ms 1 quad_hexagon.QuadHexagon.time_open_grid

@philipc2 philipc2 merged commit 1f25c7c into main Dec 23, 2024
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
run-benchmark Run ASV benchmark workflow
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant