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.