Skip to content

Cache the asv environment and fixtures, and report durations - #2

Draft
cmdupuis3 wants to merge 21 commits into
cmd/bench_iofrom
cmd/bench_shards
Draft

Cache the asv environment and fixtures, and report durations#2
cmdupuis3 wants to merge 21 commits into
cmd/bench_iofrom
cmd/bench_shards

Conversation

@cmdupuis3

@cmdupuis3 cmdupuis3 commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Companion to UXARRAY#1700

Overview

Expected Usage

import uxarray as ux

grid_path = "/path/to/grid.nc"
data_path = "/path/to/data.nc"

uxds = ux.open_dataset(grid_path, data_path)

# this is how you use this function
some_output = uxds.some_function()

# this is another way to use this function
other_output = uxds.some_function(some_param = True)

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

  • There is adequate test coverage of changes from this PR (add new tests if needed)
  • If this PR could affect performance, ran ASV benchmarks and confirmed they show expected behavior (add a new benchmark if necessary)

Documentation and Examples

  • Docstrings updated with any function changes, and included in all new functions
  • User (public) functions added to docs/api.rst; internal (private) function names start with an underscore (_)
  • If touched any notebook files, cleared the output of all cells before committing
  • If added new notebook files, put into appropriate directories and referenced in appropriate files

AI Disclosure

AI Usage: Claude Opus 5

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

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown

ASV Benchmarking

Benchmark Comparison Results

Benchmarks that have improved:

Change Before [dbbd6ca] After [54ac051] Ratio Benchmark (Parameter)
- 391M 336M 0.86 face_bounds.FaceBoundsColdStartRss.track_peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
- 391M 338M 0.86 face_bounds.FaceBoundsColdStartRss.track_peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
- 391M 338M 0.86 face_bounds.FaceBoundsColdStartRss.track_peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
- 392M 292M 0.74 import.Imports.track_peakmem_import_uxarray
- 392M 356M 0.91 mpas_ocean.CrossSectionsPeakMem.track_peakmem_const_lat('120km', 1)
- 392M 356M 0.91 mpas_ocean.CrossSectionsPeakMem.track_peakmem_const_lat('120km', 2)
- 392M 357M 0.91 mpas_ocean.CrossSectionsPeakMem.track_peakmem_const_lat('120km', 4)
- 392M 340M 0.87 mpas_ocean.CrossSectionsPeakMem.track_peakmem_const_lat('480km', 1)
- 392M 339M 0.86 mpas_ocean.CrossSectionsPeakMem.track_peakmem_const_lat('480km', 2)
- 392M 340M 0.87 mpas_ocean.CrossSectionsPeakMem.track_peakmem_const_lat('480km', 4)
- 396M 352M 0.89 mpas_ocean.GradientColdStartRss.track_peakmem_gradient('120km')
- 396M 332M 0.84 mpas_ocean.GradientColdStartRss.track_peakmem_gradient('480km')
- 392M 342M 0.87 mpas_ocean.ZonalAveragePeakMem.track_peakmem_zonal_average('480km')

Benchmarks that have stayed the same:

Change Before [dbbd6ca] After [54ac051] Ratio Benchmark (Parameter)
196±2ms 199±2ms 1.02 bench_connectivity.Connectivity.time_edge_face('120km')
11.7±0.1ms 11.8±0.1ms 1.01 bench_connectivity.Connectivity.time_edge_face('480km')
196±2ms 197±2ms 1.01 bench_connectivity.Connectivity.time_edge_node('120km')
10.7±0.07ms 10.9±0.1ms 1.01 bench_connectivity.Connectivity.time_edge_node('480km')
194±1ms 197±2ms 1.01 bench_connectivity.Connectivity.time_face_edge('120km')
11.0±0.06ms 11.1±0.05ms 1.01 bench_connectivity.Connectivity.time_face_edge('480km')
793±4ms 793±10ms 1.00 bench_connectivity.Connectivity.time_face_face('120km')
49.2±0.2ms 48.4±0.4ms 0.98 bench_connectivity.Connectivity.time_face_face('480km')
46.0±5μs 45.8±0.7μs 1.00 bench_connectivity.Connectivity.time_face_node('120km')
44.4±0.4μs 46.7±1μs 1.05 bench_connectivity.Connectivity.time_face_node('480km')
342±8μs 339±6μs 0.99 bench_connectivity.Connectivity.time_n_nodes_per_face('120km')
274±10μs 262±9μs 0.96 bench_connectivity.Connectivity.time_n_nodes_per_face('480km')
196±2ms 196±1ms 1.00 bench_connectivity.Connectivity.time_node_edge('120km')
11.1±0.04ms 11.2±0.05ms 1.00 bench_connectivity.Connectivity.time_node_edge('480km')
87.3±4ms 83.8±2ms 0.96 bench_connectivity.Connectivity.time_node_face('120km')
4.75±0.06ms 4.63±0.02ms 0.98 bench_connectivity.Connectivity.time_node_face('480km')
6.93±0.2ms 6.69±0.3ms 0.97 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
2.24±0.02ms 2.20±0.02ms 0.98 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
10.4±10s 7.99±10ms ~0.00 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
1.32±0.03ms 1.33±0.02ms 1.01 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.96M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
1.95M 1.95M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
2.11M 2.11M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
35.5k 35.5k 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
391M 368M 0.94 face_bounds.FaceBoundsColdStartRss.track_peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
1.24±0.02μs 1.20±0.02μs 0.97 geometry_kernels.AccucrossKernels.time_accucross
2.82±0.03μs 2.73±0.02μs 0.97 geometry_kernels.AccucrossKernels.time_accucross_pair
446±10ns 441±9ns 0.99 geometry_kernels.EFTPrimitives.time_acc_sqrt_re
446±8ns 421±5ns 0.94 geometry_kernels.EFTPrimitives.time_diff_of_products
391±9ns 381±10ns 0.97 geometry_kernels.EFTPrimitives.time_two_prod
391±20ns 381±20ns 0.97 geometry_kernels.EFTPrimitives.time_two_sum
1.61±0.03μs 1.54±0.03μs 0.96 geometry_kernels.GCAConstLatIntersection.time_accux_constlat_kernel
1.19±0.03μs 1.18±0.05μs 0.99 geometry_kernels.GCAConstLatIntersection.time_gca_const_lat_intersection
2.03±0.03μs 2.04±0.01μs 1.00 geometry_kernels.GCAConstLatIntersection.time_try_gca_const_lat_intersection
3.37±0.02μs 3.33±0.04μs 0.99 geometry_kernels.GCAGCAIntersection.time_accux_gca_kernel
1.17±0.03μs 1.16±0.02μs 0.99 geometry_kernels.GCAGCAIntersection.time_gca_gca_intersection
3.56±0.04μs 3.43±0.03μs 0.96 geometry_kernels.GCAGCAIntersection.time_try_gca_gca_intersection
52.9±1μs 53.5±0.6μs 1.01 geometry_kernels.OrientPredicates.time_on_minor_arc
51.8±1μs 52.0±0.5μs 1.00 geometry_kernels.OrientPredicates.time_orient3d_on_sphere
2.87±0.01ms 2.84±0.03ms 0.99 geometry_samebody.SameBodyConstLat.time_accux_dispatch
1.16±0ms 1.16±0ms 1.00 geometry_samebody.SameBodyConstLat.time_accux_kernel
1.84±0.1ms 1.72±0ms 0.93 geometry_samebody.SameBodyConstLat.time_fp64_dispatch
144±0.3μs 143±0.3μs 1.00 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±7ms 763±5ms 1.02 import.Imports.timeraw_import_uxarray
2.50±0.02ms 2.51±0.03ms 1.00 mpas_ocean.CheckNorm.time_check_norm('120km')
2.14±0.05ms 2.13±0.05ms 1.00 mpas_ocean.CheckNorm.time_check_norm('480km')
829±7ms 816±10ms 0.98 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('120km')
54.6±0.5ms 53.2±0.3ms 0.98 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('480km')
631±20μs 617±10μs 0.98 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('120km')
592±20μs 562±10μs 0.95 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('480km')
5.42±0.02ms 5.34±0.01ms 0.98 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('120km')
3.95±0.04ms 3.86±0.02ms 0.98 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('480km')
94.7±0.3ms 94.5±0.4ms 1.00 mpas_ocean.ConstructFaceLatLon.time_welzl('120km')
10.1±0.5ms 9.31±0.3ms 0.92 mpas_ocean.ConstructFaceLatLon.time_welzl('480km')
18.3±0.02ms 18.3±0.02ms 1.00 mpas_ocean.ConstructTreeStructures.time_ball_tree('120km')
985±30μs 980±10μs 0.99 mpas_ocean.ConstructTreeStructures.time_ball_tree('480km')
10.9±0.04ms 10.8±0.03ms 1.00 mpas_ocean.ConstructTreeStructures.time_kd_tree('120km')
647±10μs 660±20μs 1.02 mpas_ocean.ConstructTreeStructures.time_kd_tree('480km')
602±6ms 582±0.4ms 0.97 mpas_ocean.CrossSections.time_const_lat('120km', 1)
300±4ms 295±1ms 0.98 mpas_ocean.CrossSections.time_const_lat('120km', 2)
153±2ms 152±0.4ms 1.00 mpas_ocean.CrossSections.time_const_lat('120km', 4)
544±5ms 542±5ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 1)
271±4ms 271±5ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 2)
140±0.7ms 138±1ms 0.99 mpas_ocean.CrossSections.time_const_lat('480km', 4)
22.0±0.04ms 22.0±0.07ms 1.00 mpas_ocean.DualMesh.time_dual_mesh_construction('120km')
2.53±0.05ms 2.55±0.01ms 1.01 mpas_ocean.DualMesh.time_dual_mesh_construction('480km')
61.8±2ms 65.4±2ms 1.06 mpas_ocean.FaceAreas.time_face_areas('120km')
5.10±5s 7.39±7ms ~0.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.13M 2.13M 1.00 mpas_ocean.FaceAreas.track_peakmem_face_areas('120km')
809k 810k 1.00 mpas_ocean.FaceAreas.track_peakmem_face_areas('480km')
952±7ms 958±6ms 1.01 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', False)
53.7±0.9ms 53.3±2ms 0.99 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', True)
86.8±0.7ms 85.4±2ms 0.98 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', False)
5.23±0.2ms 5.07±0.3ms 0.97 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', True)
174±0.3ms 174±0.6ms 1.00 mpas_ocean.Gradient.time_gradient('120km')
12.0±0.03ms 12.0±0.03ms 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')
4.86M 4.86M 1.00 mpas_ocean.Gradient.track_peakmem_gradient('120km')
313k 313k 1.00 mpas_ocean.Gradient.track_peakmem_gradient('480km')
276±10μs 262±9μs 0.95 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('120km')
130±2μs 126±3μs 0.96 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('480km')
214±10μs 206±9μs 0.96 mpas_ocean.Integrate.time_integrate('120km')
193±9μs 191±5μs 0.99 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')
178±1ms 183±2ms 1.03 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'exclude')
178±0.4ms 182±2ms 1.02 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'include')
181±1ms 183±4ms 1.01 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'split')
13.0±0.1ms 13.3±0.2ms 1.03 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'exclude')
13.5±0.2ms 13.5±0.4ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'include')
13.0±0.07ms 13.1±0.1ms 1.01 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'split')
256±0.2ms 257±0.4ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 1.0)
1.37±0s 1.37±0s 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 15.0)
532±2ms 531±1ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 5.0)
14.1±0.07ms 14.0±0.08ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('480km', 1.0)
26.5±0.07ms 26.8±0.02ms 1.01 mpas_ocean.NeighborhoodBuild.time_build('480km', 15.0)
17.2±0.04ms 17.5±0.02ms 1.02 mpas_ocean.NeighborhoodBuild.time_build('480km', 5.0)
252±0.2ms 253±1ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 1.0)
1.34±0s 1.35±0s 1.01 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 15.0)
525±3ms 526±0.7ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 5.0)
13.6±0.03ms 13.7±0.05ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 1.0)
26.1±0.04ms 26.5±0.2ms 1.01 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 15.0)
16.9±0.02ms 16.9±0.04ms 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)
824k 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)
44.5±0.4ms 44.6±0.7ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('120km', 'grid_chunks')
22.6±0.05ms 22.5±0.07ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('120km', 'numpy')
40.4±0.2ms 40.6±0.5ms 1.01 mpas_ocean.NeighborhoodDask.time_mean('120km', 'time_chunks')
12.4±0.09ms 12.4±0.1ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('480km', 'grid_chunks')
683±30μs 676±20μs 0.99 mpas_ocean.NeighborhoodDask.time_mean('480km', 'numpy')
8.94±0.2ms 8.97±0.2ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('480km', 'time_chunks')
5.83M 5.82M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'grid_chunks')
2.75M 2.75M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'numpy')
5.67M 5.68M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'time_chunks')
682k 682k 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'grid_chunks')
177k 177k 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'numpy')
531k 533k 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'time_chunks')
9.92±0s 9.92±0.01s 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'mean')
10.9±0.01s 10.9±0.01s 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'median')
178±0.3ms 179±0.9ms 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'mean')
185±0.2ms 184±0.4ms 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'median')
1.01±0s 1.01±0s 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'mean')
1.21±0s 1.21±0s 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'median')
20.4±0.06ms 20.4±0.08ms 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'mean')
21.7±0.08ms 21.7±0.08ms 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'median')
35.4±0.2ms 35.3±0.3ms 1.00 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'mean')
238±0.8ms 237±0.7ms 0.99 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'median')
536±10μs 505±10μs 0.94 mpas_ocean.NeighborhoodReduce.time_reduce('480km', 'mean')
1.88±0.01ms 1.84±0.01ms 0.98 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.3k 19.3k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('480km', 'mean')
19.8k 19.8k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('480km', 'median')
438±10μs 433±8μs 0.99 mpas_ocean.PointInPolygon.time_face_search_lonlat('120km')
411±20μs 422±10μs 1.03 mpas_ocean.PointInPolygon.time_face_search_lonlat('480km')
415±10μs 389±10μs 0.94 mpas_ocean.PointInPolygon.time_face_search_xyz('120km')
385±10μs 392±10μs 1.02 mpas_ocean.PointInPolygon.time_face_search_xyz('480km')
129±0.3ms 125±1ms 0.97 mpas_ocean.RemapDownsample.time_bilinear_remapping
17.1±0.05ms 17.2±0.09ms 1.00 mpas_ocean.RemapDownsample.time_inverse_distance_weighted_remapping
15.4±0.07ms 15.5±0.1ms 1.00 mpas_ocean.RemapDownsample.time_nearest_neighbor_remapping
1.44±0s 1.43±0.01s 0.99 mpas_ocean.RemapUpsample.time_bilinear_remapping
26.1±0.2ms 25.8±0.5ms 0.99 mpas_ocean.RemapUpsample.time_inverse_distance_weighted_remapping
11.8±0.04ms 11.7±0.05ms 0.99 mpas_ocean.RemapUpsample.time_nearest_neighbor_remapping
8.81±0.1ms 9.08±0.2ms 1.03 mpas_ocean.ZonalAverage.time_zonal_average('120km')
5.44±0.1ms 5.28±0.08ms 0.97 mpas_ocean.ZonalAverage.time_zonal_average('480km')
392M 358M 0.91 mpas_ocean.ZonalAveragePeakMem.track_peakmem_zonal_average('120km')
6.78±0.04ms 6.86±0.1ms 1.01 quad_hexagon.QuadHexagon.time_open_dataset
5.80±0.03ms 5.71±0.02ms 0.98 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.6k 73.6k 1.00 quad_hexagon.QuadHexagon.track_peakmem_open_dataset
72.7k 72.7k 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant