Skip to content

Show the preliminary deploy benchmarks on the website [skip ci] - #321

Merged
matuscongrady merged 4 commits into
mainfrom
feat/website-benchmarks
Oct 27, 2026
Merged

matuscongrady merged 4 commits into
mainfrom
feat/website-benchmarks

Conversation

@matuscongrady

@matuscongrady matuscongrady commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Adds a /benchmarks page and one benchmark result under homepage sections 02 and 03. All numbers are published medians from stacktape/deploy-benchmarks (22 and 23 October 2026), labelled as preliminary.

What changed

  • /benchmarks uses the homepage's README layout: the repo header, one document and an "About these results" column. The document holds one chart with five tabs: Packaging, Lambda deploy (handler or shared-code change), Container deploy, Git push and Image size. Each tab draws horizontal bars on one scale. Stacktape is teal, other tools are grey, values sit at the bar tips and the fastest tool in each group is marked. Tabs use the shared @stacktape/ui-react Tabs (arrow keys, role="tablist"). The island is server-rendered, so the first tab shows without JavaScript. #git-push and the other tab IDs select a tab.
  • Homepage: 02 shows packaging for 25 Lambda functions (3.8 s against 17.6–28.4 s). 03 shows a handler-change deploy for 25 functions (14.5 s against 35.0–71.8 s). Both link to their tab. The homepage copy is unchanged.
  • Data: apps/website/src/data/deploy-benchmarks.json stores the source URL and the run dates. Each value records its median, range, run count, date and the results file it came from.
  • The header's "How it works" and "Get started" links are now /#designs and /#get-started, so they work from /benchmarks too.

Honesty choices

  • Both known losses are shown and explained: the 5-function shared-code change (17.3 s against CDK hotswap's 16.4 s) and the Python Git push to Heroku.
  • Git push uses the console-app#130 series for Stacktape's warm pushes: 17.1, 23.9 and 17.2 s, from results/2026-10-23/console-app-130. The benchmark README now presents that fix as part of the current product. Stacktape still loses the Python push to Heroku (23.9 s against 20.0 s), and the note under the chart says so. The note also gives the smaller run counts (5 or 6) and the earlier pre-fix times (58.4 and 80.9 s).
  • Container deploys say that code swap is opt-in (codeSwap: true), and they give the image-deploy times from 17 October, which lose.
  • Ravion is not shown.

Checks

  • pnpm --filter @stacktape/website typecheck and build pass.
  • / and /benchmarks return 200 in astro preview.
  • No horizontal overflow at 1440, 390 or 375 px; scrollWidth equals the viewport width.
  • The site has no light theme, so the chart uses the site's dark palette.

🤖 Generated with Claude Code

@matuscongrady
matuscongrady merged commit d26420c into main Oct 27, 2026
@matuscongrady
matuscongrady deleted the feat/website-benchmarks branch October 27, 2026 14:51
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