Skip to content

bench: String Encoding groups for string-bench rows - #152

Merged
joseph-isaacs merged 1 commit into
mainfrom
ji/string-encoding-groups
Oct 30, 2026
Merged

joseph-isaacs merged 1 commit into
mainfrom
ji/string-encoding-groups

Conversation

@joseph-isaacs

Copy link
Copy Markdown
Contributor

Summary

vortex-data/vortex#11044 makes string-bench write its Vortex file results into compression_times and compression_sizes. Its rows use the dataset strings/<column>, put the encoder (onpair-12, onpair-16, fsst) in dataset_variant, and use vortex-file-compressed as format. This PR lists those rows in their own String Encoding and String Encoding Size groups, so they don't mix into the compress-bench groups.

No schema change or migration is needed. Either PR can merge first. If the monorepo PR lands first, its string charts appear inside the Compression groups until this deploys.

Changes

  • Compression group keys take an optional suite: 'strings'. The compress-bench group slugs stay byte-identical, so existing links and cache keys still resolve.
  • Group discovery splits each compression table by the strings/ prefix. String chart names drop the prefix, e.g. fineweb/text/onpair-12. The new groups sort right after Compression Size.
  • The string summaries rank each encoder against FSST at the newest string-bench commit, using the existing compression ranking code, which is now factored out of the Parquet summaries.
    • The throughput card shows the ratio to FSST plus aggregate MB/s and GB/s.
    • The size card's header names its baseline ("Vs FSST") instead of always saying Parquet.
    • The compress-bench summaries are unchanged.
  • The new groups link to benchmarks/string-bench/README.md and have hover descriptions.
  • CONTRACT.md records the strings/ prefix and the fsst baseline label as part of the ingest contract.

Checks

On the branch rebased onto main, in bench/web:

  • bun run biome ci bench, tsc --noEmit and next build all pass.
  • vitest run against a local Postgres 16 (BENCH_TEST_DATABASE_URL): 60 files, 839 tests passed.

New tests cover:

  • slug round-trips, the unchanged compress-bench slug, and rejecting an invalid suite
  • the docs link
  • the FSST summaries
  • a Postgres integration test of group discovery, both summaries and a chart bundle for string rows

Generated by Claude Code

string-bench now writes into compression_times and compression_sizes,
under the dataset `strings/<column>` with the encoder in
dataset_variant. List those rows in their own "String Encoding" and
"String Encoding Size" groups instead of mixing them into the
compress-bench groups.

- Compression group keys take an optional `suite: 'strings'`. The
  compress-bench group slugs stay byte-identical, so existing links and
  cache keys still resolve.
- The string summaries compare each encoder with FSST at the newest
  string-bench commit, reusing the compression ranking code. The size
  card names its baseline instead of always saying Parquet.
- The groups link to benchmarks/string-bench/README.md, and CONTRACT.md
  records the dataset prefix and the fsst baseline label.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UeniBE69Jeaf1h8ZkLq7QB
Signed-off-by: Joe Isaacs <[email protected]>
@vercel

vercel Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
vortex Ready Ready Preview Oct 30, 2026 3:30pm UTC

Request Review

@github-actions

Copy link
Copy Markdown

Bench preview for 5702ed04046e6ff1baac2f9738e52d7b2a7b4cf2: https://benchmarks-website-l76gily5n-vortex-data.vercel.app

@joseph-isaacs
joseph-isaacs merged commit 40ca870 into main Oct 30, 2026
21 checks passed
@joseph-isaacs
joseph-isaacs deleted the ji/string-encoding-groups branch October 30, 2026 15:35

This branch was successfully deployed

2 active deployments
bench-preview — 5702ed04 Deployed Oct 30, 2026 by joseph-isaacs via Bench: deploy #160
Preview — 5702ed04 Deployed Oct 30, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant