SnapFire FSR Size benchmarks

What a deployment carries and what each page costs a browser.

Throughput in req/s: Responses read in full per second. Measured on Apple M4 Pro (14 cores).

Higher is better for requests per second. Lower is better for latency, memory, build time and size. Bold marks the best figure in a row and every figure within 5% of it.

Deploy

Measurefsrnextjssveltekitnuxtleptosdioxus
Deploy tree28.2 MiB44.5 MiB1.5 MiB2.4 MiB13.3 MiB8.6 MiB
Files in the tree4601,35118116866
Server binary as built24.6 MiB---12.5 MiB7.3 MiB
Server binary stripped18.9 MiB---7.1 MiB4.7 MiB
Runtime needed beside it-Node v23.9.0, 107.3 MiBNode v23.9.0, 107.3 MiBNode v23.9.0, 107.3 MiB--
Total to deploy28.2 MiB151.8 MiB108.8 MiB109.7 MiB13.3 MiB8.6 MiB

The total is the deploy tree, which holds the server binary where there is one, plus the runtime that has to be installed beside it.

Document

Pagefsrnextjssveltekitnuxtleptosdioxus
home1.9 KiB (5.9 KiB raw)1.9 KiB (6.4 KiB raw)1.1 KiB (2.7 KiB raw)1.1 KiB (2.3 KiB raw)1.1 KiB (2.2 KiB raw)1.1 KiB (2.5 KiB raw)
counter1.7 KiB (5.8 KiB raw)1.7 KiB (5.9 KiB raw)0.9 KiB (2.2 KiB raw)0.9 KiB (1.9 KiB raw)0.9 KiB (1.8 KiB raw)0.9 KiB (1.9 KiB raw)
catalog2.5 KiB (14.4 KiB raw)3.7 KiB (34.2 KiB raw)2.4 KiB (15.0 KiB raw)2.9 KiB (15.4 KiB raw)2.7 KiB (15.5 KiB raw)4.3 KiB (27.9 KiB raw)
product1.9 KiB (6.5 KiB raw)2.1 KiB (9.2 KiB raw)1.3 KiB (3.7 KiB raw)1.3 KiB (3.5 KiB raw)1.6 KiB (4.0 KiB raw)1.7 KiB (4.9 KiB raw)
search2.0 KiB (7.7 KiB raw)2.4 KiB (12.9 KiB raw)1.5 KiB (5.4 KiB raw)1.6 KiB (5.3 KiB raw)1.8 KiB (5.7 KiB raw)2.1 KiB (8.2 KiB raw)
primes1.7 KiB (5.7 KiB raw)1.8 KiB (6.8 KiB raw)1.0 KiB (2.4 KiB raw)1.0 KiB (2.2 KiB raw)1.3 KiB (2.8 KiB raw)1.1 KiB (2.6 KiB raw)
report2.0 KiB (6.7 KiB raw)2.4 KiB (10.8 KiB raw)1.6 KiB (4.6 KiB raw)1.7 KiB (4.6 KiB raw)1.9 KiB (5.2 KiB raw)2.2 KiB (7.2 KiB raw)
words1.8 KiB (6.0 KiB raw)2.0 KiB (8.2 KiB raw)1.2 KiB (3.1 KiB raw)1.2 KiB (3.0 KiB raw)1.4 KiB (3.6 KiB raw)1.4 KiB (4.3 KiB raw)
table4.9 KiB (54.1 KiB raw)13.5 KiB (203.6 KiB raw)7.3 KiB (92.7 KiB raw)10.8 KiB (91.3 KiB raw)8.3 KiB (107.5 KiB raw)22.5 KiB (229.0 KiB raw)

Gzipped, with the raw size beside it.

JavaScript

Pagefsrnextjssveltekitnuxtleptosdioxus
home40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)33.9 KiB (88.1 KiB raw)69.5 KiB (185.3 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
counter40.0 KiB (115.2 KiB raw)135.0 KiB (454.5 KiB raw)33.7 KiB (87.8 KiB raw)69.3 KiB (184.9 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
catalog40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)34.0 KiB (88.4 KiB raw)74.5 KiB (204.5 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
product40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)34.2 KiB (88.7 KiB raw)74.6 KiB (204.7 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
search40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)34.1 KiB (88.4 KiB raw)74.5 KiB (204.4 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
primes40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)33.5 KiB (87.5 KiB raw)74.6 KiB (204.6 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
report40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)33.8 KiB (88.0 KiB raw)74.8 KiB (205.1 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
words40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)33.5 KiB (87.5 KiB raw)74.6 KiB (204.6 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)
table40.0 KiB (115.2 KiB raw)134.7 KiB (454.0 KiB raw)33.7 KiB (87.9 KiB raw)74.8 KiB (204.9 KiB raw)6.7 KiB (23.0 KiB raw)15.8 KiB (67.2 KiB raw)

Gzipped, with the raw size beside it.

WebAssembly

Pagefsrnextjssveltekitnuxtleptosdioxus
home----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
counter----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
catalog----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
product----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
search----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
primes----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
report----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
words----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)
table----257.1 KiB (721.9 KiB raw)483.2 KiB (1.3 MiB raw)

Gzipped, with the raw size beside it.

Leptos and Dioxus hydrate by loading the whole app compiled to WebAssembly, so a page costs a browser this on top of its JavaScript. The other four hydrate with JavaScript alone and load none.

CSS

Pagefsrnextjssveltekitnuxtleptosdioxus
home0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
counter0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
catalog0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
product0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
search0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
primes0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
report0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
words0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)
table0.7 KiB (1.3 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.2 KiB raw)0.6 KiB (1.3 KiB raw)0.6 KiB (1.3 KiB raw)

Gzipped, with the raw size beside it.

Requests to show the page

Pagefsrnextjssveltekitnuxtleptosdioxus
home32, then 7 later (79.8 KiB)812644
counter32, then 7 later (79.8 KiB)912644
catalog32, then 7 later (79.8 KiB)812944
product32, then 7 later (79.8 KiB)812944
search32, then 7 later (79.8 KiB)812944
primes32, then 7 later (79.8 KiB)810844
report32, then 7 later (79.8 KiB)811944
words32, then 7 later (79.8 KiB)810844
table32, then 7 later (79.8 KiB)811944

The document, stylesheets, WebAssembly and scripts a browser fetches before the page is whole. Modules reached only through a dynamic import() follow as loaded later, gzipped.