Skip to main content

A zarr-based compression benchmarking tool

Project description

Zarrzipan: A raster compression benchmarking tool

Zarrzipan is a compression benchmarking tool based on Zarr. It features a python API for declaratively describing numpy arrays and zarr compression pipelines to be benchmarked.

Note that this is experimental software written with significant LLM assistance. Some metrics such as memory usage and timing may not be accurately measured.

Usage

Zarrzipan includes a little CLI tool. Configure your arrays and jobs in a yaml file as demonstrated in zarrzipan.yaml and then run:

uv run zarrzipan compare | uv run zarrzipan render

The output of zarrzipan compare is ndjson, so if you are doing many runs you can build out your results over time:

uv run zarrzipan compare >> output.json

And render the output independently:

uv run zarrzipan render -f output.json

Benchmark Results

The following table summarizes the benchmark results described in zarrzipan.yaml:

Dataset Name Pipeline Name Chunk Shape Iterations Compression Ratio Space Saving Avg Compress Time (ms) Avg Decompress Time (ms) Lossiness (MAE)
Single band COG Zlib level 5 (1024, 1024) 1 2.08x 0.48 3651.11 383.99 None
Single band COG Blosc (defaults) (1024, 1024) 1 1.15x 0.87 88.99 43.78 None
Single band COG Zlib level 5 (2048, 2048) 1 2.06x 0.49 3609.53 402.76 None
Single band COG Blosc (defaults) (2048, 2048) 1 1.15x 0.87 79.99 41.48 None
Single band COG Zlib level 5 (4096, 4096) 1 2.05x 0.49 3593.96 398.66 None
Single band COG Blosc (defaults) (4096, 4096) 1 1.15x 0.87 65.32 42.13 None

Other tooling like this

geotiff-benchmark

The geotiff-benchmark tool is a gdal-based compression benchmarking solution targeting the GeoTIFF format specifically. While not know to us prior to the initial Zarrzipan development, geotiff-benchmark is similar in its goals, and allows testing a set of declaratively-configured GeoTIFF compression pipelines. Read the corresponding blog post to learn more about the tool.

What does "zarrzipan" mean?

Zarrzipan, pronounced like marzipan, is like "Zarr zip analysis", where zip is a general allusion to compression and not a reference to the specific zip archive format.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zarrzipan-0.1.0.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zarrzipan-0.1.0-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file zarrzipan-0.1.0.tar.gz.

File metadata

  • Download URL: zarrzipan-0.1.0.tar.gz
  • Upload date:
  • Size: 52.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zarrzipan-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d336df74e2882013855ea549eab8a905c94757f9d043e1c06da3dcd9a36c5b0b
MD5 66e29efe648e330b42fd927787db77cf
BLAKE2b-256 1a2390c7575169f42daa5ff2123254dfa67d0dcc93c07e9cdf297960235f4889

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrzipan-0.1.0.tar.gz:

Publisher: release.yml on jkeifer/zarrzipan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrzipan-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: zarrzipan-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zarrzipan-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7ad59b14e53efaf6e6d7611b31bd2c0f2e3c378aaf4cfb5c6f2f87d22f0e201
MD5 dd4fde263aed540957c6d2bb9d13a1c2
BLAKE2b-256 bb25f5967c6644ab4f6deacb3cf62ffafff2e9c0a7ea3c5060c27e3dd5bd6090

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrzipan-0.1.0-py3-none-any.whl:

Publisher: release.yml on jkeifer/zarrzipan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page