Skip to content

docs(website): add the comparison page - #235

Draft
dangreen wants to merge 3 commits into
mainfrom
docs/comparison-page
Draft

docs(website): add the comparison page#235
dangreen wants to merge 3 commits into
mainfrom
docs/comparison-page

Conversation

@dangreen

@dangreen dangreen commented Sep 6, 2026

Copy link
Copy Markdown
Member

Draft. Stacked on #234: the base is chore/effect-benchmark-refresh, so this diff shows only the comparison page; GitHub retargets it to main once that PR merges.

What

New getting-started/comparison page, second item in Getting Started, with the Introduction pinned first in the sidebar.

  • Store layer: Nano Stores, Zustand, Jotai. Feature table, size table, then Nano Kit vs … for each.
  • Query layer: @nanostores/query, TanStack Query. Same structure.
  • Router layer: @nanostores/router, TanStack Router. Same structure, plus three @nano_kit/router import sets so the TanStack row compares like for like.
  • Trade-offs: what Nano Kit gives up today and what it gives back for it.

Numbers

Sizes: Vite 8.2.1 with rolldown 1.2.7, app build of one entry that imports the listed names, default minifier, ES2022, gzip level 9, versions listed in the note at the top of the page. Benchmark figures quoted in the text come from the tables refreshed in the base PR.

Every claim about another library was checked against that library's README or exports; every size claim is tied to the measured import set.

… benchmark

Also drop the `bench.warmup()` call in `effectScope.js`: tinybench 6 warms up inside `run()` and has no such method, so the file did not start.
Numbers measured on AMD Ryzen 5 PRO 3400G with Node.js v24.14.1: every case in a fresh Node.js process in shuffled order, median of 11 rounds. tinybench 6 runs each task once inside `add()`, so cases were isolated to keep one library's setup from affecting another's numbers. The Introduction table gains Zustand and Preact Signals, the kida README table is aligned with it.
Nano Kit next to Nano Stores, Zustand, Jotai, TanStack Query, TanStack Router and the `@nanostores` packages: feature tables per layer, sizes measured with Vite 8.2.1 and rolldown 1.2.7, and a "Nano Kit vs" section for every library in the tables. The page sits right after the Introduction in Getting Started.
@codecov

codecov Bot commented Sep 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.75%. Comparing base (652b32c) to head (5cde938).

Additional details and impacted files
@@                       Coverage Diff                       @@
##           chore/effect-benchmark-refresh     #235   +/-   ##
===============================================================
  Coverage                           82.75%   82.75%           
===============================================================
  Files                                  98       98           
  Lines                                2465     2465           
  Branches                              521      521           
===============================================================
  Hits                                 2040     2040           
  Misses                                315      315           
  Partials                              110      110           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Base automatically changed from chore/effect-benchmark-refresh to main September 6, 2026 12:56
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