From 089f1aed0df80007282d5ba77ac53d614aa80140 Mon Sep 17 00:00:00 2001
From: Alexander Karan <47707063+AlexanderKaran@users.noreply.github.com>
Date: Wed, 15 Jul 2026 06:45:42 +0800
Subject: [PATCH 1/2] Updated Client Side Notes for Astro
---
packages/docs/src/content/docs/methodology.md | 10 +++++-----
packages/docs/src/content/docs/run-time.mdx | 2 ++
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/packages/docs/src/content/docs/methodology.md b/packages/docs/src/content/docs/methodology.md
index 6bd839f3..d183d49a 100644
--- a/packages/docs/src/content/docs/methodology.md
+++ b/packages/docs/src/content/docs/methodology.md
@@ -115,19 +115,19 @@ throughput, and load behavior for comparable production apps.
- Interaction to Next Paint is measured by clicking the first row's detail link
and waiting for the detail view.
- Benchmarks run 5 times by default and average successful metrics.
+- Client-side rendered tests use each framework's normal production build
+ because SPA-only build modes are not supported consistently across the
+ compared frameworks.
- Next.js wraps the client-side rendered table in a `dynamic` import with
`ssr: false` to prevent build-time prerendering.
- TanStack Start, Nuxt, SvelteKit, and SolidStart disable SSR per route.
- React Router uses route-level `clientLoader` functions with `HydrateFallback`
so the client-rendered routes are not server-rendered.
-- Astro uses client-only React islands for client-side rendered routes.
-- Client-side rendered tests use each framework's normal production build
- because SPA-only build modes are not supported consistently across the
- compared frameworks.
- Astro's benchmark table and detail components are React islands rendered with
`client:only="react"`. Astro's `ClientRouter` is not used for this test
because it changes navigation behavior rather than making components
- client-only.
+ client-only. Using `client:only` is often considered an anti pattern in Astro but needed to make the tests fair and measure just client side performance.
+- We also chose React for Astro as its the currently the most popular. 23% of projects according to the Astro team as of writing this (15/07/2026).
### Server Side Rendered Tests
diff --git a/packages/docs/src/content/docs/run-time.mdx b/packages/docs/src/content/docs/run-time.mdx
index 4726f39d..31e9441c 100644
--- a/packages/docs/src/content/docs/run-time.mdx
+++ b/packages/docs/src/content/docs/run-time.mdx
@@ -21,6 +21,8 @@ import SSRRequestThroughputStatsTable from '../../components/SSRRequestThroughpu
Methodology: [Client Side Rendered Tests](/methodology/#client-side-rendered-tests).
+Some frameworks have been moved off their golden path to make a client side tests fair when comparing. See the methodology link above for the full details.
+
From efa97f86cbf37c09937d588835f85cf5f66c7b2c Mon Sep 17 00:00:00 2001
From: Alexander Karan <47707063+AlexanderKaran@users.noreply.github.com>
Date: Wed, 15 Jul 2026 06:48:12 +0800
Subject: [PATCH 2/2] Wording tweaks
---
packages/docs/src/content/docs/run-time.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/docs/src/content/docs/run-time.mdx b/packages/docs/src/content/docs/run-time.mdx
index 31e9441c..5873034f 100644
--- a/packages/docs/src/content/docs/run-time.mdx
+++ b/packages/docs/src/content/docs/run-time.mdx
@@ -21,7 +21,7 @@ import SSRRequestThroughputStatsTable from '../../components/SSRRequestThroughpu
Methodology: [Client Side Rendered Tests](/methodology/#client-side-rendered-tests).
-Some frameworks have been moved off their golden path to make a client side tests fair when comparing. See the methodology link above for the full details.
+Some frameworks have been moved off their golden path to make client side tests fair when comparing. See the methodology link above for the full details.