Skip to content

Connectivity peakmem benchmarks - #1661

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

Connectivity peakmem benchmarks#1661
cmdupuis3 wants to merge 9 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 [a1eeb0e] After [e5d9524] Ratio Benchmark (Parameter)
1.47±0.06ms 1.36±0.01ms 0.93 bench_connectivity.Connectivity.time_edge_face('120km')
448±8μs 448±10μs 1.00 bench_connectivity.Connectivity.time_edge_face('480km')
3.65±0.05ms 3.65±0.2ms 1.00 bench_connectivity.Connectivity.time_edge_node('120km')
1.07±0.06ms 1.08±0.01ms 1.00 bench_connectivity.Connectivity.time_edge_node('480km')
58.8±5μs 54.5±2μs 0.93 bench_connectivity.Connectivity.time_face_edge('120km')
54.1±2μs 52.6±2μs 0.97 bench_connectivity.Connectivity.time_face_edge('480km')
920±9μs 917±10μs 1.00 bench_connectivity.Connectivity.time_face_face('120km')
427±8μs 424±7μs 0.99 bench_connectivity.Connectivity.time_face_face('480km')
57.6±3μs 56.5±2μs 0.98 bench_connectivity.Connectivity.time_face_node('120km')
55.2±2μs 59.6±6μs 1.08 bench_connectivity.Connectivity.time_face_node('480km')
463±20μs 472±30μs 1.02 bench_connectivity.Connectivity.time_n_nodes_per_face('120km')
381±30μs 376±20μs 0.99 bench_connectivity.Connectivity.time_n_nodes_per_face('480km')
1.34±0.04ms 1.33±0.02ms 0.99 bench_connectivity.Connectivity.time_node_edge('120km')
427±7μs 416±8μs 0.97 bench_connectivity.Connectivity.time_node_edge('480km')
73.5±0.4ms 70.7±2ms 0.96 bench_connectivity.Connectivity.time_node_face('120km')
4.48±0.03ms 4.49±0.06ms 1.00 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.44±0.5ms 8.30±0.1ms 0.98 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
2.75±0.3ms 2.52±0.2ms 0.92 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
9.08±9s 10.2±10ms ~0.00 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
1.86±0.02ms 1.83±0.01ms 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.87M 1.87M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
1.88M 1.88M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
2.04M 2.04M 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'))
336M 336M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
368M 368M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
337M 337M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
337M 337M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.23±0.04μs 1.15±0.03μs 0.93 geometry_kernels.AccucrossKernels.time_accucross
2.58±0.06μs 2.59±0.03μs 1.01 geometry_kernels.AccucrossKernels.time_accucross_pair
423±30ns 395±9ns 0.93 geometry_kernels.EFTPrimitives.time_acc_sqrt_re
413±30ns 427±10ns 1.03 geometry_kernels.EFTPrimitives.time_diff_of_products
390±10ns 361±20ns 0.93 geometry_kernels.EFTPrimitives.time_two_prod
381±20ns 388±10ns 1.02 geometry_kernels.EFTPrimitives.time_two_sum
1.42±0.02μs 1.42±0.02μs 1.00 geometry_kernels.GCAConstLatIntersection.time_accux_constlat_kernel
1.03±0.02μs 1.04±0.04μs 1.01 geometry_kernels.GCAConstLatIntersection.time_gca_const_lat_intersection
1.89±0.04μs 1.83±0.04μs 0.97 geometry_kernels.GCAConstLatIntersection.time_try_gca_const_lat_intersection
3.56±0.05μs 3.47±0.03μs 0.97 geometry_kernels.GCAGCAIntersection.time_accux_gca_kernel
1.38±0.02μs 1.39±0.07μs 1.00 geometry_kernels.GCAGCAIntersection.time_gca_gca_intersection
3.59±0.03μs 3.56±0.08μs 0.99 geometry_kernels.GCAGCAIntersection.time_try_gca_gca_intersection
52.0±0.2μs 50.9±1μs 0.98 geometry_kernels.OrientPredicates.time_on_minor_arc
1.15±0.04μs 1.16±0.05μs 1.01 geometry_kernels.OrientPredicates.time_orient3d_on_sphere
2.99±0.1ms 2.89±0.01ms 0.97 geometry_samebody.SameBodyConstLat.time_accux_dispatch
1.12±0ms 1.13±0ms 1.00 geometry_samebody.SameBodyConstLat.time_accux_kernel
1.81±0ms 1.80±0.01ms 1.00 geometry_samebody.SameBodyConstLat.time_fp64_dispatch
152±2μs 150±5μs 0.99 geometry_samebody.SameBodyConstLat.time_fp64_kernel
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_accux_dispatch
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_accux_kernel
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_fp64_dispatch
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_fp64_kernel
750±5ms 744±2ms 0.99 import.Imports.timeraw_import_uxarray
294M 294M 1.00 import.Imports.track_peakmem_import_uxarray
3.20±0.05ms 3.15±0.07ms 0.98 mpas_ocean.CheckNorm.time_check_norm('120km')
2.01±0.02ms 2.06±0.03ms 1.03 mpas_ocean.CheckNorm.time_check_norm('480km')
1.14±0.01ms 1.12±0.02ms 0.99 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('120km')
524±7μs 530±9μs 1.01 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('480km')
713±8μs 695±5μs 0.98 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('120km')
564±8μs 568±7μs 1.01 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('480km')
4.79±0.04ms 4.74±0.04ms 0.99 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('120km')
3.61±0.07ms 3.64±0.04ms 1.01 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('480km')
118±0.2ms 118±0.3ms 1.00 mpas_ocean.ConstructFaceLatLon.time_welzl('120km')
12.0±0.2ms 11.3±0.4ms 0.94 mpas_ocean.ConstructFaceLatLon.time_welzl('480km')
13.7±0.06ms 13.9±0.3ms 1.01 mpas_ocean.ConstructTreeStructures.time_ball_tree('120km')
930±10μs 902±8μs 0.97 mpas_ocean.ConstructTreeStructures.time_ball_tree('480km')
9.93±0.9ms 9.89±0.9ms 1.00 mpas_ocean.ConstructTreeStructures.time_kd_tree('120km')
645±5μs 689±30μs 1.07 mpas_ocean.ConstructTreeStructures.time_kd_tree('480km')
541±2ms 537±3ms 0.99 mpas_ocean.CrossSections.time_const_lat('120km', 1)
275±2ms 272±1ms 0.99 mpas_ocean.CrossSections.time_const_lat('120km', 2)
143±1ms 141±0.4ms 0.99 mpas_ocean.CrossSections.time_const_lat('120km', 4)
487±1ms 492±8ms 1.01 mpas_ocean.CrossSections.time_const_lat('480km', 1)
243±0.8ms 244±3ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 2)
125±0.2ms 126±0.4ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 4)
357M 356M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 1)
356M 356M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 2)
356M 356M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 4)
339M 339M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 1)
340M 339M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 2)
339M 339M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 4)
31.5±0.1ms 31.2±0.2ms 0.99 mpas_ocean.DualMesh.time_dual_mesh_construction('120km')
3.20±0.09ms 3.21±0.05ms 1.00 mpas_ocean.DualMesh.time_dual_mesh_construction('480km')
16.9±0.3ms 19.1±1ms ~1.13 mpas_ocean.FaceAreas.time_face_areas('120km')
4.32±0.2ms 4.34±0.4ms 1.00 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')
703k 704k 1.00 mpas_ocean.FaceAreas.track_peakmem_face_areas('480km')
845±2ms 829±3ms 0.98 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', False)
51.3±0.7ms 52.1±0.5ms 1.02 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', True)
73.5±0.9ms 74.3±0.5ms 1.01 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', False)
5.78±0.09ms 5.72±0.03ms 0.99 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', True)
16.1±0.2ms 16.1±0.2ms 1.00 mpas_ocean.Gradient.time_gradient('120km')
2.26±0.06ms 2.21±0.04ms 0.98 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')
353M 352M 1.00 mpas_ocean.GradientColdStartRss.peakmem_gradient('120km')
332M 332M 1.00 mpas_ocean.GradientColdStartRss.peakmem_gradient('480km')
447±4μs 428±10μs 0.96 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('120km')
193±5μs 194±4μs 1.01 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('480km')
599±10μs 601±8μs 1.00 mpas_ocean.Integrate.time_integrate('120km')
489±9μs 487±4μ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')
168±0.9ms 167±1ms 0.99 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'exclude')
169±2ms 167±0.4ms 0.99 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'include')
165±3ms 167±1ms 1.01 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'split')
13.2±0.4ms 13.0±0.1ms 0.98 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'exclude')
13.4±0.5ms 12.9±0.2ms 0.96 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'include')
13.0±0.4ms 12.7±0.03ms 0.97 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'split')
176±2ms 179±3ms 1.01 mpas_ocean.NeighborhoodBuild.time_build('120km', 1.0)
1.02±0s 1.03±0.01s 1.01 mpas_ocean.NeighborhoodBuild.time_build('120km', 15.0)
377±2ms 377±2ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 5.0)
11.0±0.09ms 10.9±0.02ms 0.99 mpas_ocean.NeighborhoodBuild.time_build('480km', 1.0)
21.1±0.2ms 21.2±0.2ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('480km', 15.0)
14.2±0.4ms 13.6±0.07ms 0.96 mpas_ocean.NeighborhoodBuild.time_build('480km', 5.0)
172±0.2ms 172±1ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 1.0)
988±1ms 997±10ms 1.01 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 15.0)
370±1ms 368±0.8ms 0.99 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 5.0)
10.7±0.03ms 10.6±0.03ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 1.0)
20.2±0.1ms 20.1±0.07ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 15.0)
13.3±0.08ms 13.2±0.03ms 0.99 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)
45.2±0.3ms 45.3±0.5ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('120km', 'grid_chunks')
23.4±0.03ms 23.8±0.3ms 1.02 mpas_ocean.NeighborhoodDask.time_mean('120km', 'numpy')
42.5±0.8ms 43.2±0.6ms 1.02 mpas_ocean.NeighborhoodDask.time_mean('120km', 'time_chunks')
11.1±0.4ms 10.9±0.2ms 0.98 mpas_ocean.NeighborhoodDask.time_mean('480km', 'grid_chunks')
591±5μs 585±4μs 0.99 mpas_ocean.NeighborhoodDask.time_mean('480km', 'numpy')
8.15±0.2ms 7.87±0.1ms 0.97 mpas_ocean.NeighborhoodDask.time_mean('480km', 'time_chunks')
5.84M 5.76M 0.99 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.67M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'time_chunks')
646k 688k 1.06 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'grid_chunks')
177k 177k 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'numpy')
532k 541k 1.02 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'time_chunks')
10.4±0s 10.4±0.01s 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'mean')
11.0±0.01s 11.1±0.05s 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'median')
187±0.4ms 187±0.3ms 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'mean')
195±0.5ms 195±0.6ms 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'median')
1.06±0s 1.07±0.01s 1.01 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'mean')
1.22±0s 1.25±0.03s 1.02 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'median')
21.6±0.6ms 21.3±0.1ms 0.99 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'mean')
22.6±0.1ms 22.5±0.07ms 0.99 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'median')
42.3±0.1ms 42.2±0.1ms 1.00 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'mean')
207±0.1ms 207±0.4ms 1.00 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'median')
580±40μs 587±40μs 1.01 mpas_ocean.NeighborhoodReduce.time_reduce('480km', 'mean')
2.00±0.01ms 1.98±0.03ms 0.99 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')
364±4μs 362±10μs 0.99 mpas_ocean.PointInPolygon.time_face_search_lonlat('120km')
354±7μs 356±7μs 1.00 mpas_ocean.PointInPolygon.time_face_search_lonlat('480km')
333±7μs 328±7μs 0.99 mpas_ocean.PointInPolygon.time_face_search_xyz('120km')
325±4μs 326±8μs 1.00 mpas_ocean.PointInPolygon.time_face_search_xyz('480km')
223±0.07ms 222±0.6ms 0.99 mpas_ocean.RemapDownsample.time_bilinear_remapping
255±7ms 259±2ms 1.02 mpas_ocean.RemapDownsample.time_inverse_distance_weighted_remapping
14.9±0.2ms 14.7±0.1ms 0.99 mpas_ocean.RemapDownsample.time_nearest_neighbor_remapping
1.17±0.01s 1.17±0s 1.00 mpas_ocean.RemapUpsample.time_bilinear_remapping
36.2±0.4ms 35.6±0.4ms 0.98 mpas_ocean.RemapUpsample.time_inverse_distance_weighted_remapping
13.7±0.2ms 13.7±0.1ms 1.00 mpas_ocean.RemapUpsample.time_nearest_neighbor_remapping
10.7±0.09ms 10.9±0.2ms 1.01 mpas_ocean.ZonalAverage.time_zonal_average('120km')
5.12±0.08ms 5.16±0.03ms 1.01 mpas_ocean.ZonalAverage.time_zonal_average('480km')
357M 357M 1.00 mpas_ocean.ZonalAveragePeakMem.peakmem_zonal_average('120km')
341M 340M 1.00 mpas_ocean.ZonalAveragePeakMem.peakmem_zonal_average('480km')
6.33±0.1ms 6.29±0.01ms 0.99 quad_hexagon.QuadHexagon.time_open_dataset
5.22±0.03ms 5.25±0.02ms 1.01 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