Cold Spare

RAW DATA

The scripts, the corpus, and every line of output

A measurement you cannot rerun is an opinion with a decimal point. Everything behind the pages on this site is here, in the form it was produced.

The machine

Apple M4, 10 cores, 16 GB RAM
macOS 26.3.1 (build 25D771280a), internal NVMe
zstd 1.5.7 · xz 5.8.3 · Apple gzip 475 · bzip2 1.0.8
SQLite 3.38.4 (as bundled with Python 3.11.0)

This is a laptop, not a server, and that matters when you read the absolute numbers: ten fast cores flatter the multi-threaded settings, and an internal NVMe flatters everything. The orderings should carry to slower hardware. The margins should not be quoted.

Scripts

Results

Both files are JSON Lines, which means jq reads them without ceremony:

curl -s https://iotlinefair.com/bench/compress-results.jsonl \
  | jq -r 'select(.record=="measure" and .corpus=="photos")
           | "\(.codec)\t\(.ratio)"'

Reproducing it

curl -O https://iotlinefair.com/bench/build-corpus.sh
curl -O https://iotlinefair.com/bench/photo-urls.txt
curl -O https://iotlinefair.com/bench/compress-bench.py
chmod +x build-corpus.sh compress-bench.py
./build-corpus.sh corpus          # about 280 MB of downloads
./compress-bench.py corpus > my-results.jsonl

The corpus builder is idempotent and resumes, so an interrupted download can be restarted. It identifies itself in its User-Agent, as Wikimedia asks clients to; anonymous bulk fetches there get throttled to a stall.

The SQLite benchmark needs nothing but Python:

curl -O https://iotlinefair.com/bench/sqlite-durability-bench.py
python3 sqlite-durability-bench.py 20000 > my-sqlite-results.jsonl

Licence

The result files and the scripts are placed in the public domain under CC0. Use them, quote them, contradict them. The corpus contents belong to their own authors under their own licences — Wikimedia Commons images under their individual terms, the video clip under CC-BY to the Blender Foundation, the Gutenberg texts under the Project Gutenberg licence, the SQLite source in the public domain, and the OurAirports data as published by OurAirports.

If your numbers differ

They probably will, and that is the interesting case rather than a problem. Different hardware, a different corpus mix, a newer codec build — any of those moves the figures. Send what you got to hello@iotlinefair.com and it will be published alongside, with a correction to the original page if the original page was wrong.