Skip to content

DuckDB backend for benchmarks website#7491

Open
AdamGS wants to merge 5 commits intodevelopfrom
adamg/website-duckdb
Open

DuckDB backend for benchmarks website#7491
AdamGS wants to merge 5 commits intodevelopfrom
adamg/website-duckdb

Conversation

@AdamGS
Copy link
Copy Markdown
Contributor

@AdamGS AdamGS commented Apr 16, 2026

Summary

This PR started as a joke with @joseph-isaacs, but I actually think the result is quite nice (even considering the diff size).

This PR changes the benchmarks website backend from having a specialized ETL in JS, to processing the raw JSON into DuckDB tables, and using SQL to serve all endpoints.

Tooling

Moving to SQL also makes it easier to explore data locally, and this change includes tools and documentation on how to get the data into a local DuckDB instance, including generating all required SQL statements and downloading the data.

Docs

This PR includes new docs about the benchmarks website:

  • README.md includes general setup, development and how to explore data locally.
  • SCHEMA.md describes the various tables and views, and how the API uses them
  • ETL.md attempts at describing the full lifecycle of the data, from being generated by the post-merge CI run, how various fields actually look and the processing steps it goes through before reaching the API.

@AdamGS AdamGS requested review from joseph-isaacs and palaska April 16, 2026 17:52
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 16, 2026

Merging this PR will not alter performance

✅ 1163 untouched benchmarks
⏩ 1457 skipped benchmarks1


Comparing adamg/website-duckdb (bac763c) with develop (6ac69e7)

Open in CodSpeed

Footnotes

  1. 1457 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@joseph-isaacs
Copy link
Copy Markdown
Contributor

Does this help with filter over graph points?

@AdamGS
Copy link
Copy Markdown
Contributor Author

AdamGS commented Apr 16, 2026

This PR is mostly just switches the logic from JS to SQL with DuckDB, the thing I realized though is that I would like to make the server more generic in general and maybe reshape the data so creating new graphs/groups becomes easier (hopefully).

@AdamGS AdamGS added the changelog/chore A trivial change label Apr 17, 2026
@AdamGS AdamGS force-pushed the adamg/website-duckdb branch from b31a943 to 24935a2 Compare April 17, 2026 08:44
Comment on lines +27 to +28
<source srcSet="/vortex_black_nobg.svg" media="(prefers-color-scheme: light)"/>
<source srcSet="/vortex_white_nobg.svg" media="(prefers-color-scheme: dark)"/>
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my browser was just angry at this

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the white logo should have transparent background, I think claude might be able to fix the svg

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it does? It was just angry that it was srcset and not srcSet

@AdamGS
Copy link
Copy Markdown
Contributor Author

AdamGS commented Apr 17, 2026

I actually think this is a really good step, the follow ups are:

  1. Normalize the raw data into more columns/fields.
  2. Benchmarks report actual raw data, instead of rations or any processing.
  3. Figure out a way to make the layouts and charts just config

@robert3005
Copy link
Copy Markdown
Contributor

You’re going to make yet another charting tool by converting charts to config. You’d think there’s something for it already?

@AdamGS AdamGS marked this pull request as ready for review April 17, 2026 10:07
@AdamGS
Copy link
Copy Markdown
Contributor Author

AdamGS commented Apr 17, 2026

yeah I sort of hope to find something minimal here eventually, I think that's currently a stretch goal, getting nicer data and easier exploration seems much more important

AdamGS added 5 commits April 17, 2026 11:45
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
.
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
@AdamGS AdamGS force-pushed the adamg/website-duckdb branch from 0bfd138 to bac763c Compare April 17, 2026 10:45
@AdamGS AdamGS requested a review from connortsui20 April 22, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants