Skip to content

Website: add the Complexity metric - #2493

Merged
alexey-milovidov merged 3 commits into
mainfrom
complexity-metric
Oct 9, 2026
Merged

alexey-milovidov merged 3 commits into
mainfrom
complexity-metric

Conversation

@alexey-milovidov

@alexey-milovidov alexey-milovidov commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

This came up during the conversation with @toschmidt at Open House Munich.

Adds the Complexity metric: how much code is needed to run the benchmark for a system. It is the byte size of the zstd-compressed (-19) concatenation of all the tracked text files in the system's directory — install, load, start, stop, query, check, benchmark.sh, the Python/Expect/etc. scripts they invoke, configs, and generated code — with full-line comments (including shebangs), blank lines, and redundant whitespace removed.

Not counted: results/, *.json, *.md, *.sql (queries and DDL), *.txt, lock files, and the shared driver in lib/ (the same for most systems, ~8.5 KB compressed, it would dominate the differences).

  • generate-results.sh: computes the value once per system directory and adds the complexity field to each entry. Systems without the install script (with a manual procedure) get null.
  • index.html: a new metric selector and a row in the detailed comparison. Cloud services are excluded. Each system is shown once (by its latest result), without the machine, as the value does not depend on it. It is not included in the Combined score.
  • results_preview.py: PR previews do not run or read the PR's scripts, so they reuse the values from data.generated.js of the base branch.

Preview: https://pastila.nl/?005fb6bd/65e94611aacde4c3ea1dc5a519479922.html.gz

data.generated.js will be rebuilt by the bot.

🤖 Generated with Claude Code

alexey-milovidov and others added 3 commits October 9, 2026 23:17
Complexity is the zstd-compressed size of all the scripts and configs in
a system's directory (install, load, start, stop, query, the Python and
Expect scripts they invoke, etc.), with full-line comments, blank lines,
and redundant whitespace removed. Queries, table definitions, results,
docs, and the shared driver in lib/ are not counted. It is calculated in
generate-results.sh; PR previews reuse the values of the base branch.

Systems without the install script and cloud services are excluded, as
their setup is not scripted. With this metric, each system is shown once,
as it does not depend on the machine.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@alexey-milovidov alexey-milovidov self-assigned this Oct 9, 2026
@alexey-milovidov
alexey-milovidov merged commit dfa9859 into main Oct 9, 2026
3 checks passed
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