Performance as inputs grow
Each section varies one input size while other settings stay fixed. Select a comparison to show or hide its plot.
Operation only Calculation after the execution mode has been initialized.Elapsed time Prepared inputs through completed output, including worker or CLI startup.Peak memory Highest combined memory of the benchmark process and its child workers.
Scaling with raster size
Raster width and height vary together; other inputs remain fixed.
GeoUtils and Flox grouped statistics by raster sizeCompares GeoUtils stats() with Flox on two prebuilt float64 arrays, the same boolean mask and declared categories. Both return finite count, mean and population standard deviation (ddof=0), including completed Dask results and dataframe construction. Dask uses one threaded worker; GeoUtils multiprocessing uses one persistent process initialized before the arrays. Both use 256 × 256 tiles. Worker startup is excluded, while tile serialization and merging are timed. Flox uses its default engine and map-reduce for lazy group labels.Execution modes
Grouped moments by raster size and execution modeComputes count, mean, standard deviation and extrema for two values with independent missing data in 64 rectangular groups. Dask reads chunks lazily; multiprocessing loads the input in the client.Execution modes
Grouped reduction strategies by raster sizeComputes count, mean, standard deviation and extrema for two values with independent gaps. Dense summaries allocate every declared group per chunk; sparse summaries retain encountered groups; groupwise gathers complete observations. Automatic uses the declared group count.Chunk strategies
Exact grouped median and NMAD by raster sizeGathers complete observations in 64 rectangular groups to calculate exact medians and NMAD for two values with independent missing data. Memory depends on the largest complete group.Execution modes
Nearest reprojection by raster size (Rasterio/GDAL engine)Reprojects a WGS84 (EPSG:4326) raster to UTM zone 32N (EPSG:32632) with nearest-neighbor resampling while preserving the selected output dimensions.Execution modes
Label-stitch polygonization by raster size (Rasterio/GDAL engine)Polygonizes value-1 pixels in a WGS84 raster containing 21 × 21 disconnected rectangles while varying raster size.Execution modes
Polygonization chunk strategy (Dask execution)Polygonizes the same 21 × 21 disconnected rectangles with Dask while comparing how polygons crossing chunk boundaries are reconciled.Chunk strategies
Rasterization by raster size (Rasterio/GDAL engine)Burns 51 × 51 regularly spaced WGS84 polygons as value 1 into a byte raster with background 0.Execution modes
Raster to point cloud by raster sizeConverts every raster cell to its center coordinate and band value, then completes the Dask dataframe or GeoPackage output.Execution modes
LAS/LAZ raster to point cloud conversion compared with PDALConverts every raster cell to its center coordinate and writes the raster value as native elevation. GeoUtils multiprocessing and PDAL CLI each write both LAS and LAZ.Point output formats
Nearest gridding execution mode (SciPy engine)Grids a 17 × 17 regular WGS84 point set with unlimited nearest-neighbor support onto a square WGS84 raster.Execution modes
Linear (Delaunay) gridding execution mode (SciPy engine)Grids a 17 × 17 regular WGS84 point set with Delaunay linear interpolation onto a square WGS84 raster.Execution modes
Inverse-distance gridding execution mode (SciPy engine)Grids a 17 × 17 regular WGS84 point set with inverse-distance weighting and 16-pixel support onto a square WGS84 raster.Execution modes
Circular mean gridding execution mode (SciPy engine)Grids a 17 × 17 regular WGS84 point set with a circular mean and 16-pixel support onto a square WGS84 raster.Execution modes
Gridding method (SciPy engine, eager execution)Grids regular WGS84 point sets onto square WGS84 rasters using the fixture and support selected for each numerical method.Methods
Nearest gridding calculation engine (eager execution)Grids a 17 × 17 regular WGS84 point set with unlimited nearest-neighbor support onto a square WGS84 raster.Calculation engines
Inverse-distance gridding calculation engine (eager execution)Grids a 17 × 17 regular WGS84 point set with inverse-distance weighting and 16-pixel support onto a square WGS84 raster.Calculation engines
Circular mean gridding calculation engine (eager execution)Grids a 17 × 17 regular WGS84 point set with a circular mean and 16-pixel support onto a square WGS84 raster.Calculation engines
Scaling with chunk size
Chunk width and height vary while the complete raster remains fixed.
Grouped reduction strategies by chunk size (local groups)Computes count, mean, standard deviation and extrema for two values with independent gaps. Dense summaries allocate every declared group per chunk; sparse summaries retain encountered groups; groupwise gathers complete observations. Automatic uses the declared group count.Chunk strategies
Grouped reduction strategies by chunk size (interleaved groups)Computes count, mean, standard deviation and extrema for two values with independent gaps. Dense summaries allocate every declared group per chunk; sparse summaries retain encountered groups; groupwise gathers complete observations. Automatic uses the declared group count.Chunk strategies
Mean filter by chunk size (SciPy engine)Applies a 5 × 5 mean filter to a 2048 × 2048 WGS84 raster while varying square chunk size.Execution modes
Scaling with the number of interpolated points
The number of requested point locations varies while the source raster remains fixed.
Linear interpolation by number of points (SciPy engine)Interpolates deterministic WGS84 points from a 2048 × 2048 WGS84 raster with 512 × 512 chunks.Execution modes
Scaling with the number of source points
The number of source points varies while the output raster remains fixed.
Nearest gridding by number of source points (eager execution)Grids a regular WGS84 point set with unlimited nearest-neighbor support onto a fixed 1024 × 1024 WGS84 raster.Calculation engines
Scaling with the number of output points
The point cloud size varies while the source raster remains fixed.
Raster subsampling by execution modeSelects a fixed number of cells, calculates their center coordinates and band values, and completes the Dask dataframe or GeoPackage output. Both GeoUtils and PDAL use random seed 42 before keeping the requested count.Execution modes
LAS/LAZ raster subsampling compared with PDALSelects a fixed number of raster cells and writes their center coordinates with the raster value as native elevation. GeoUtils multiprocessing and PDAL CLI each write both LAS and LAZ.Point output formats
Scaling with the number of groups
The number of rectangular groups varies while raster and chunk dimensions remain fixed.