Skip to content

Connectivity peakmem benchmarks - #1661

Draft
cmdupuis3 wants to merge 10 commits into
UXARRAY:mainfrom
cmdupuis3:cmd/connectivity_peakmem
Draft

Connectivity peakmem benchmarks#1661
cmdupuis3 wants to merge 10 commits into
UXARRAY:mainfrom
cmdupuis3:cmd/connectivity_peakmem

Conversation

@cmdupuis3

@cmdupuis3 cmdupuis3 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Closes #1660

Overview

Two sets of memory benchmarks, tracking allocations in isolation and total peakmem usage.

ConnectivityTracemalloc results from Derecho:

Resolution edge_face edge_node face_face n_nodes_per_face node_edge node_face
480km 204k 980k 888k 24.8k 127k 747k
120km 3.05M 15.5M 14.8M 239k 1.9M 11.9M
30km 68.2M 577M 351M 5.25M 41.9M 249M
15km 273M 2.31G 1.41G 21M 168M 996M
7.5km 1.09G 5.68G 5.29G 83.9M 671M 3.98G
3.75km 4.36G timeout timeout 336M 2.68G 15.9G

(face_edge is a flat 11.4k, face_node is a flat 2.54k)

PR Checklist

General

  • An issue is created and linked
  • Added appropriate labels (if your uxarray repo permissions allow it)
  • Filled out Overview and Expected Usage (if applicable) sections

Testing & Benchmarking

  • Adequate tests are created if there is new functionality
  • Tests are not too basic (such as simply calling a function and nothing else)
  • Tests cover all major paths in your new functions
  • If this PR could affect performance, ran ASV benchmarks and confirmed they show expected behavior (add a new benchmark if necessary)

Documentation

  • Docstrings have been added to all new functions
  • Docstrings have been updated with any function changes

AI Disclosure

AI Usage: Claude Opus 5

  • I take responsibility for all AI-generated content in my PR.
  • I have tested all AI-generated content in my PR.

@cmdupuis3 cmdupuis3 self-assigned this Aug 8, 2026
@cmdupuis3 cmdupuis3 added the benchmarking Related to benchmarks, memory usage, and/or time profiling label Aug 8, 2026
@cmdupuis3 cmdupuis3 added the run-benchmark Run ASV benchmark workflow label Aug 21, 2026
@github-actions

github-actions Bot commented Aug 22, 2026

Copy link
Copy Markdown

ASV Benchmarking

Benchmark Comparison Results

Benchmarks that have stayed the same:

Change Before [38b33d8] <v2026.09.0> After [109f5b3] Ratio Benchmark (Parameter)
1.21±0.04ms 1.17±0.01ms 0.96 bench_connectivity.Connectivity.time_edge_face('120km')
373±6μs 369±6μs 0.99 bench_connectivity.Connectivity.time_edge_face('480km')
2.81±0.04ms 2.77±0.03ms 0.99 bench_connectivity.Connectivity.time_edge_node('120km')
805±8μs 801±5μs 0.99 bench_connectivity.Connectivity.time_edge_node('480km')
50.5±7μs 50.3±5μs 1.00 bench_connectivity.Connectivity.time_face_edge('120km')
42.9±1μs 43.1±1μs 1.01 bench_connectivity.Connectivity.time_face_edge('480km')
807±10μs 809±30μs 1.00 bench_connectivity.Connectivity.time_face_face('120km')
351±10μs 347±8μs 0.99 bench_connectivity.Connectivity.time_face_face('480km')
52.3±8μs 51.1±1μs 0.98 bench_connectivity.Connectivity.time_face_node('120km')
46.5±1μs 46.7±2μs 1.00 bench_connectivity.Connectivity.time_face_node('480km')
433±30μs 421±30μs 0.97 bench_connectivity.Connectivity.time_n_nodes_per_face('120km')
297±7μs 302±5μs 1.02 bench_connectivity.Connectivity.time_n_nodes_per_face('480km')
1.11±0.01ms 1.08±0.02ms 0.97 bench_connectivity.Connectivity.time_node_edge('120km')
350±6μs 351±9μs 1.00 bench_connectivity.Connectivity.time_node_edge('480km')
54.0±0.4ms 52.8±0.1ms 0.98 bench_connectivity.Connectivity.time_node_face('120km')
3.50±0.06ms 3.45±0.02ms 0.98 bench_connectivity.Connectivity.time_node_face('480km')
6.71M 6.71M 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_edge_face('120km')
435k 435k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_edge_face('480km')
6.71M 6.71M 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_edge_node('120km')
435k 435k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_edge_node('480km')
6.71M 6.71M 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_face_edge('120km')
435k 435k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_face_edge('480km')
6.71M 6.71M 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_face_face('120km')
435k 435k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_face_face('480km')
2.54k 2.54k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_face_node('120km')
2.54k 2.54k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_face_node('480km')
240k 240k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_n_nodes_per_face('120km')
25.9k 25.9k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_n_nodes_per_face('480km')
6.71M 6.71M 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_node_edge('120km')
435k 435k 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_node_edge('480km')
11.9M 11.9M 1.00 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_node_face('120km')
742k 747k 1.01 bench_connectivity.ConnectivityChainTracemalloc.track_peakmem_node_face('480km')
1.42M 1.42M 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_edge_face('120km')
106k 106k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_edge_face('480km')
6.48M 6.48M 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_edge_node('120km')
417k 417k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_edge_node('480km')
2.42k 2.42k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_face_edge('120km')
2.42k 2.42k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_face_edge('480km')
1.6M 1.6M 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_face_face('120km')
101k 101k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_face_face('480km')
2.54k 2.54k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_face_node('120km')
2.54k 2.54k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_face_node('480km')
240k 240k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_n_nodes_per_face('120km')
25.9k 25.9k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_n_nodes_per_face('480km')
1.9M 1.9M 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_node_edge('120km')
127k 127k 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_node_edge('480km')
11.9M 11.9M 1.00 bench_connectivity.ConnectivityTracemalloc.track_peakmem_node_face('120km')
742k 747k 1.01 bench_connectivity.ConnectivityTracemalloc.track_peakmem_node_face('480km')
8.40±0.1ms 8.35±0.08ms 0.99 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
2.33±0.02ms 2.31±0.03ms 0.99 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
7.66±8s 10.6±9ms ~0.00 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
1.51±0.03ms 1.50±0.02ms 0.99 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
57.3k 57.3k 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
12.3k 12.3k 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
123k 123k 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
128 128 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.27M 1.27M 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
50.1k 50.1k 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
1.48M 1.48M 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
712 712 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.96M 1.95M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
1.96M 1.96M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
2.13M 2.13M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
38.3k 38.3k 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
335M 334M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
367M 366M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
336M 336M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
336M 335M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
952±80ns 979±30ns 1.03 geometry_kernels.AccucrossKernels.time_accucross
2.09±0.05μs 2.14±0.05μs 1.02 geometry_kernels.AccucrossKernels.time_accucross_pair
332±10ns 353±20ns 1.06 geometry_kernels.EFTPrimitives.time_acc_sqrt_re
335±10ns 365±30ns 1.09 geometry_kernels.EFTPrimitives.time_diff_of_products
313±20ns 317±30ns 1.01 geometry_kernels.EFTPrimitives.time_two_prod
281±10ns 296±30ns 1.05 geometry_kernels.EFTPrimitives.time_two_sum
553±10ns 701±90ns ~1.27 geometry_kernels.GCAConstLatIntersection.time_accux_constlat_kernel
714±30ns 684±40ns 0.96 geometry_kernels.GCAConstLatIntersection.time_gca_const_lat_intersection
698±50ns 713±40ns 1.02 geometry_kernels.GCAConstLatIntersection.time_try_gca_const_lat_intersection
628±20ns 628±20ns 1.00 geometry_kernels.GCAGCAIntersection.time_accux_gca_kernel
931±10ns 982±40ns 1.05 geometry_kernels.GCAGCAIntersection.time_gca_gca_intersection
994±40ns 979±40ns 0.98 geometry_kernels.GCAGCAIntersection.time_try_gca_gca_intersection
44.4±5μs 42.7±4μs 0.96 geometry_kernels.OrientPredicates.time_on_minor_arc
871±30ns 906±30ns 1.04 geometry_kernels.OrientPredicates.time_orient3d_on_sphere
3.67±0.01ms 3.68±0.01ms 1.00 geometry_samebody.SameBodyConstLat.time_accux_dispatch
669±10μs 671±8μs 1.00 geometry_samebody.SameBodyConstLat.time_accux_kernel
3.58±0.01ms 3.58±0.01ms 1.00 geometry_samebody.SameBodyConstLat.time_fp64_dispatch
118±2μs 116±4μs 0.98 geometry_samebody.SameBodyConstLat.time_fp64_kernel
46.4±0.1ms 46.5±0.07ms 1.00 geometry_samebody_gcagca.SameBodyGcaGca.time_accux_dispatch
4.47±0.01ms 4.46±0ms 1.00 geometry_samebody_gcagca.SameBodyGcaGca.time_accux_kernel
43.1±0.02ms 43.0±0.01ms 1.00 geometry_samebody_gcagca.SameBodyGcaGca.time_fp64_dispatch
688±4μs 647±7μs 0.94 geometry_samebody_gcagca.SameBodyGcaGca.time_fp64_kernel
666±4ms 657±4ms 0.99 import.Imports.timeraw_import_uxarray
292M 292M 1.00 import.Imports.track_peakmem_import_uxarray
2.41±0.03ms 2.38±0.04ms 0.99 mpas_ocean.CheckNorm.time_check_norm('120km')
1.72±0.03ms 1.68±0.01ms 0.98 mpas_ocean.CheckNorm.time_check_norm('480km')
958±10μs 941±10μs 0.98 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('120km')
449±8μs 454±8μs 1.01 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('480km')
600±10μs 575±10μs 0.96 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('120km')
486±10μs 485±8μs 1.00 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('480km')
3.89±0.03ms 3.81±0.02ms 0.98 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('120km')
3.02±0.03ms 2.98±0.02ms 0.99 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('480km')
90.5±0.2ms 90.0±0.3ms 0.99 mpas_ocean.ConstructFaceLatLon.time_welzl('120km')
9.04±0.04ms 8.76±0.3ms 0.97 mpas_ocean.ConstructFaceLatLon.time_welzl('480km')
11.1±0.02ms 11.5±0.4ms 1.03 mpas_ocean.ConstructTreeStructures.time_ball_tree('120km')
753±40μs 724±10μs 0.96 mpas_ocean.ConstructTreeStructures.time_ball_tree('480km')
8.65±0.04ms 9.48±0.9ms 1.10 mpas_ocean.ConstructTreeStructures.time_kd_tree('120km')
618±10μs 563±7μs 0.91 mpas_ocean.ConstructTreeStructures.time_kd_tree('480km')
459±4ms 457±2ms 0.99 mpas_ocean.CrossSections.time_const_lat('120km', 1)
230±2ms 231±1ms 1.01 mpas_ocean.CrossSections.time_const_lat('120km', 2)
120±0.3ms 118±1ms 0.98 mpas_ocean.CrossSections.time_const_lat('120km', 4)
409±2ms 409±2ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 1)
205±0.5ms 203±0.7ms 0.99 mpas_ocean.CrossSections.time_const_lat('480km', 2)
104±0.5ms 104±0.5ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 4)
355M 355M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 1)
355M 355M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 2)
355M 355M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 4)
338M 338M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 1)
338M 338M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 2)
338M 338M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 4)
23.7±0.05ms 23.6±0.08ms 0.99 mpas_ocean.DualMesh.time_dual_mesh_construction('120km')
2.45±0.06ms 2.45±0.05ms 1.00 mpas_ocean.DualMesh.time_dual_mesh_construction('480km')
11.0±0.09ms 10.9±0.04ms 0.99 mpas_ocean.FaceAreas.time_face_areas('120km')
3.30±0.04ms 3.36±0.07ms 1.02 mpas_ocean.FaceAreas.time_face_areas('480km')
229k 229k 1.00 mpas_ocean.FaceAreas.track_nbytes_face_areas('120km')
14.3k 14.3k 1.00 mpas_ocean.FaceAreas.track_nbytes_face_areas('480km')
2.12M 2.12M 1.00 mpas_ocean.FaceAreas.track_peakmem_face_areas('120km')
710k 710k 1.00 mpas_ocean.FaceAreas.track_peakmem_face_areas('480km')
663±6ms 655±9ms 0.99 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', False)
40.3±0.5ms 40.4±1ms 1.00 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', True)
58.3±1ms 58.1±0.4ms 1.00 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', False)
4.36±0.1ms 4.41±0.09ms 1.01 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', True)
12.2±0.04ms 12.2±0.2ms 1.00 mpas_ocean.Gradient.time_gradient('120km')
1.65±0ms 1.63±0.02ms 0.99 mpas_ocean.Gradient.time_gradient('480km')
457k 457k 1.00 mpas_ocean.Gradient.track_nbytes_gradient('120km')
28.7k 28.7k 1.00 mpas_ocean.Gradient.track_nbytes_gradient('480km')
3.43M 3.43M 1.00 mpas_ocean.Gradient.track_peakmem_gradient('120km')
218k 218k 1.00 mpas_ocean.Gradient.track_peakmem_gradient('480km')
351M 351M 1.00 mpas_ocean.GradientColdStartRss.peakmem_gradient('120km')
330M 330M 1.00 mpas_ocean.GradientColdStartRss.peakmem_gradient('480km')
361±10μs 373±10μs 1.03 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('120km')
166±5μs 166±6μs 1.01 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('480km')
451±7μs 453±6μs 1.00 mpas_ocean.Integrate.time_integrate('120km')
402±9μs 402±10μs 1.00 mpas_ocean.Integrate.time_integrate('480km')
18.4M 18.4M 1.00 mpas_ocean.Integrate.track_nbytes_integrate('120km')
1.2M 1.2M 1.00 mpas_ocean.Integrate.track_nbytes_integrate('480km')
135±5ms 125±1ms 0.92 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'exclude')
124±1ms 124±1ms 1.01 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'include')
124±3ms 125±0.7ms 1.01 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'split')
9.77±0.09ms 9.66±0.04ms 0.99 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'exclude')
9.70±0.05ms 9.87±0.07ms 1.02 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'include')
9.71±0.1ms 9.73±0.03ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'split')
134±0.2ms 133±0.1ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 1.0)
825±2ms 813±2ms 0.98 mpas_ocean.NeighborhoodBuild.time_build('120km', 15.0)
298±0.9ms 302±3ms 1.01 mpas_ocean.NeighborhoodBuild.time_build('120km', 5.0)
8.68±0.01ms 8.69±0.02ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('480km', 1.0)
16.4±0.01ms 16.4±0.1ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('480km', 15.0)
10.9±0.02ms 11.0±0.02ms 1.01 mpas_ocean.NeighborhoodBuild.time_build('480km', 5.0)
131±0.9ms 131±0.8ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 1.0)
788±4ms 789±3ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 15.0)
296±2ms 297±4ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 5.0)
8.49±0.05ms 8.44±0.01ms 0.99 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 1.0)
16.0±0.09ms 15.9±0.03ms 0.99 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 15.0)
10.6±0.02ms 10.6±0.02ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 5.0)
1.19 1.19 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('120km', 1.0)
612.76 612.76 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('120km', 15.0)
74.17 74.17 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('120km', 5.0)
1.0 1.0 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('480km', 1.0)
37.29 37.29 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('480km', 15.0)
6.57 6.57 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('480km', 5.0)
728k 728k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('120km', 1.0)
141M 141M 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('120km', 15.0)
17.4M 17.4M 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('120km', 5.0)
43k 43k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('480km', 1.0)
563k 563k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('480km', 15.0)
123k 123k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('480km', 5.0)
5.72M 5.72M 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('120km', 1.0)
145M 145M 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('120km', 15.0)
21.5M 21.5M 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('120km', 5.0)
362k 362k 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('480km', 1.0)
825k 825k 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('480km', 15.0)
384k 384k 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('480km', 5.0)
35.4±0.7ms 35.3±0.5ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('120km', 'grid_chunks')
15.9±0.07ms 16.0±0.05ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('120km', 'numpy')
32.8±0.9ms 33.1±0.4ms 1.01 mpas_ocean.NeighborhoodDask.time_mean('120km', 'time_chunks')
9.52±0.08ms 9.45±0.1ms 0.99 mpas_ocean.NeighborhoodDask.time_mean('480km', 'grid_chunks')
434±4μs 438±5μs 1.01 mpas_ocean.NeighborhoodDask.time_mean('480km', 'numpy')
6.82±0.07ms 6.92±0.07ms 1.01 mpas_ocean.NeighborhoodDask.time_mean('480km', 'time_chunks')
5.84M 5.75M 0.98 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'grid_chunks')
2.75M 2.75M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'numpy')
5.68M 5.68M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'time_chunks')
633k 680k 1.07 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'grid_chunks')
177k 177k 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'numpy')
544k 529k 0.97 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'time_chunks')
8.40±0s 8.36±0.01s 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'mean')
9.21±0.03s 9.07±0.01s 0.98 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'median')
149±0.4ms 149±0.1ms 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'mean')
154±0.4ms 156±0.5ms 1.01 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'median')
837±0.9ms 842±6ms 1.01 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'mean')
1.01±0s 1.01±0s 0.99 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'median')
16.8±0.08ms 16.8±0.06ms 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'mean')
18.2±0.03ms 18.0±0.02ms 0.99 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'median')
26.7±0.2ms 27.7±0.7ms 1.04 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'mean')
195±0.2ms 197±0.7ms 1.01 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'median')
423±6μs 422±9μs 1.00 mpas_ocean.NeighborhoodReduce.time_reduce('480km', 'mean')
1.70±0ms 1.71±0.01ms 1.01 mpas_ocean.NeighborhoodReduce.time_reduce('480km', 'median')
239k 239k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('120km', 'mean')
245k 245k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('120km', 'median')
19.4k 19.4k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('480km', 'mean')
19.9k 19.9k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('480km', 'median')
281±10μs 287±10μs 1.02 mpas_ocean.PointInPolygon.time_face_search_lonlat('120km')
268±9μs 254±8μs 0.95 mpas_ocean.PointInPolygon.time_face_search_lonlat('480km')
267±6μs 264±2μs 0.99 mpas_ocean.PointInPolygon.time_face_search_xyz('120km')
241±5μs 236±7μs 0.98 mpas_ocean.PointInPolygon.time_face_search_xyz('480km')
160±0.08ms 160±0.6ms 1.00 mpas_ocean.RemapDownsample.time_bilinear_remapping
166±0.6ms 166±2ms 1.00 mpas_ocean.RemapDownsample.time_inverse_distance_weighted_remapping
12.2±0.07ms 12.3±0.07ms 1.01 mpas_ocean.RemapDownsample.time_nearest_neighbor_remapping
864±6ms 863±3ms 1.00 mpas_ocean.RemapUpsample.time_bilinear_remapping
29.2±0.6ms 29.0±0.9ms 0.99 mpas_ocean.RemapUpsample.time_inverse_distance_weighted_remapping
10.0±0.1ms 10.1±0.07ms 1.01 mpas_ocean.RemapUpsample.time_nearest_neighbor_remapping
6.99±0.3ms 6.85±0.03ms 0.98 mpas_ocean.ZonalAverage.time_zonal_average('120km')
3.71±0.03ms 3.73±0.03ms 1.01 mpas_ocean.ZonalAverage.time_zonal_average('480km')
357M 356M 1.00 mpas_ocean.ZonalAveragePeakMem.peakmem_zonal_average('120km')
340M 340M 1.00 mpas_ocean.ZonalAveragePeakMem.peakmem_zonal_average('480km')
5.41±0.02ms 5.35±0.04ms 0.99 quad_hexagon.QuadHexagon.time_open_dataset
4.49±0.01ms 4.50±0.04ms 1.00 quad_hexagon.QuadHexagon.time_open_grid
408 408 1.00 quad_hexagon.QuadHexagon.track_nbytes_open_dataset
392 392 1.00 quad_hexagon.QuadHexagon.track_nbytes_open_grid
73.8k 73.8k 1.00 quad_hexagon.QuadHexagon.track_peakmem_open_dataset
73k 73k 1.00 quad_hexagon.QuadHexagon.track_peakmem_open_grid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmarking Related to benchmarks, memory usage, and/or time profiling run-benchmark Run ASV benchmark workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add connectivity peakmem benchmarks

1 participant