1002 JPG and PNG images from Wikimedia Commons (Category:Images BFS, 23 subcats, PNG-first 400 + 5MB cap) compressed locally with vips at quality 85 balanced. No upload, no dry heuristic — real `heifsave`/`jpegsave`/`webpsave`.
Primary config: recompress JPG keep at quality 85 balanced (456 JPG files, 1285.7 MB → 542.5 MB).
Peak 92.4% · 779.3 MB saved
456 JPG files
1 failed file excluded
Same quality, different source. PNG converts to WebP for maximum.
457 JPG · keep · 1285.7 MB
545 PNG · to webp · 247.9 MB → 40.4 MB
457 JPG · to webp · 70.9% avg
Files >5MB excluded
Per user request: limited to 3 configs, each filtered by input extension (not all-file). Full 8-config matrix available in stats.json.
Filtered per config: `fileStats` → `filteredStats` by `inputExt`, `totalBeforeSuccess`/`totalAfterSuccess` for `avg`, `byFormat` from per-ext `_fullFiles` (not sliced 10, not heuristic 0.27/0.18).
Reproducible, local, no cloud. Details for H04 consumers.
Category:Images BFS recursion (1 file +23 subcats → queue, `cmtype=subcat|file`, `visited` set, `200/page`), PNG-first `400` from `PNG_files/Diagrams/Screenshots`, `5MB` cap, `545 PNG / 457 JPG`, avg `1.6MB` (was `6.5MB` without cap), `1003` files with `.gitkeep`, `1` failed file (`_Self-Portrait__...` `VipsForeignLoad`) excluded.
Wikimedia · BFS 23 subcats`deno run -A --config desktop-app/deno.json website/scripts/benchmark.ts` → `compressFiles` (`threads 4`, `vipsBin` `heifsave` for avif, not `avifsave`), `skip failed` (`before=0/after=0`), `_fullFiles` before `slice(0,10)`, `forceDryForConfig` fallback only if `0/456`.
vips 8.18.5 · heifsaveSource: `website/test-images` (BFS), `website/public/data/stats.json` (`generatedAt` `2026-08-26T10:38:46`, `version 1.0`), `site.config` `data: ["releases","stats"]` for `ctx.data.stats`.
10 samples per config from `stats.json` `samples` (full `_fullFiles` truncated for JSON size).
Full per-file results in `stats.json` `configs[0]._fullFiles` (omitted from JSON, `files` is `10` samples) + `samples` `20`.
Per user request for this run: `jpg->jpg`, `png->webp`, `jpg->webp` at `85` `balanced`. Full matrix (`75/85/90` × `balanced/fast/maximum` × `keep/webp/avif` × `resize`) is still supported — run without `inputExt` filter.
PNG is uncompressed source → WebP conversion is large; JPG recompress at same quality still saves `~58%` due to `mozjpeg` + `stripMeta`.
No. Benchmark is local `vips` via `desktop-app`. Your test images never leave your PC.
1002 Wikimedia images, vips `heifsave`/`jpegsave`/`webpsave`, filtered per input, failed files excluded.