SnapFire FSR Latency benchmarks
From sending a request to having read its body, median and 99th percentile.
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.
home: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.02 / 0.04 | 0.12 / 0.39 | 0.07 / 0.26 | 0.09 / 0.11 | 0.04 / 0.06 | 0.10 / 0.13 |
| 8 | 0.05 / 0.09 | 0.77 / 1.93 | 0.26 / 1.15 | 0.26 / 0.55 | 0.08 / 0.12 | 0.21 / 0.47 |
| 32 | 0.18 / 0.27 | 3.56 / 7.31 | 1.00 / 2.19 | 1.00 / 1.52 | 0.20 / 0.35 | 0.79 / 2.45 |
| 64 | 0.36 / 0.48 | 7.35 / 10.84 | 1.97 / 2.57 | 2.02 / 2.91 | 0.38 / 0.71 | 1.68 / 3.77 |
| 128 | 0.74 / 0.88 | 14.76 / 22.07 | 4.00 / 4.74 | 4.31 / 5.74 | 0.75 / 1.43 | 3.45 / 6.19 |
| 256 | 1.50 / 1.69 | 29.65 / 44.12 | 8.52 / 11.97 | 8.75 / 11.00 | 1.45 / 2.94 | 6.97 / 10.56 |
Ranked on p99.
counter: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.02 / 0.04 | 0.12 / 0.40 | 0.07 / 0.10 | 0.09 / 0.11 | 0.04 / 0.06 | 0.09 / 0.12 |
| 8 | 0.05 / 0.09 | 0.78 / 1.96 | 0.25 / 0.47 | 0.27 / 0.55 | 0.08 / 0.12 | 0.21 / 0.48 |
| 32 | 0.18 / 0.26 | 3.49 / 7.22 | 0.99 / 1.44 | 1.02 / 1.55 | 0.20 / 0.35 | 0.79 / 2.46 |
| 64 | 0.37 / 0.48 | 7.32 / 11.10 | 1.98 / 2.62 | 2.04 / 3.00 | 0.38 / 0.70 | 1.67 / 3.81 |
| 128 | 0.74 / 0.88 | 14.78 / 20.95 | 4.00 / 4.83 | 4.32 / 5.87 | 0.74 / 1.42 | 3.43 / 6.16 |
| 256 | 1.50 / 1.69 | 29.69 / 43.53 | 8.53 / 11.91 | 8.91 / 11.45 | 1.47 / 2.93 | 6.89 / 10.64 |
Ranked on p99.
catalog: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.14 / 0.16 | 1.12 / 1.93 | 0.16 / 0.38 | 0.54 / 0.92 | 0.24 / 0.27 | 0.30 / 0.34 |
| 8 | 0.21 / 0.28 | 8.67 / 11.93 | 1.03 / 2.48 | 3.96 / 6.57 | 0.34 / 0.43 | 0.54 / 1.04 |
| 32 | 0.52 / 1.06 | 35.69 / 44.74 | 4.86 / 7.96 | 13.48 / 35.23 | 0.87 / 1.83 | 2.41 / 4.47 |
| 64 | 1.07 / 2.05 | 71.75 / 92.39 | 9.72 / 16.28 | 30.10 / 78.66 | 1.76 / 3.61 | 4.85 / 7.38 |
| 128 | 2.15 / 4.38 | 141.70 / 308.39 | 19.70 / 33.19 | 60.15 / 127.95 | 3.49 / 8.13 | 9.71 / 13.38 |
| 256 | 4.29 / 9.82 | 215.52 / 4341.42 | 38.83 / 61.20 | 75.48 / 810.49 | 6.88 / 20.06 | 19.59 / 25.35 |
Ranked on p99.
product: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.06 / 0.08 | 0.69 / 1.47 | 0.09 / 0.36 | 0.29 / 0.96 | 0.08 / 0.10 | 0.11 / 0.14 |
| 8 | 0.11 / 0.16 | 5.09 / 7.68 | 0.47 / 1.33 | 1.84 / 4.29 | 0.14 / 0.21 | 0.24 / 0.48 |
| 32 | 0.25 / 0.55 | 20.57 / 27.78 | 2.15 / 3.95 | 8.95 / 16.77 | 0.33 / 0.61 | 0.90 / 2.51 |
| 64 | 0.51 / 1.02 | 42.86 / 54.46 | 4.66 / 8.00 | 15.12 / 37.05 | 0.62 / 1.18 | 1.91 / 3.93 |
| 128 | 1.01 / 2.12 | 83.64 / 106.71 | 9.33 / 16.52 | 27.02 / 77.04 | 1.17 / 2.77 | 3.89 / 6.49 |
| 256 | 1.97 / 4.54 | 156.84 / 996.46 | 19.27 / 33.15 | 50.65 / 130.54 | 2.29 / 6.44 | 7.89 / 11.54 |
Ranked on p99.
search: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.08 / 0.10 | 0.72 / 1.40 | 0.10 / 0.40 | 0.34 / 0.93 | 0.11 / 0.13 | 0.14 / 0.21 |
| 8 | 0.13 / 0.18 | 5.42 / 7.95 | 0.58 / 1.63 | 2.15 / 4.90 | 0.17 / 0.25 | 0.29 / 0.57 |
| 32 | 0.29 / 0.69 | 21.26 / 28.38 | 2.67 / 4.67 | 10.54 / 19.92 | 0.39 / 0.98 | 1.10 / 2.74 |
| 64 | 0.59 / 1.18 | 44.45 / 56.45 | 5.52 / 9.21 | 17.21 / 44.35 | 0.77 / 1.69 | 2.30 / 4.37 |
| 128 | 1.18 / 2.44 | 86.82 / 110.80 | 11.14 / 18.78 | 30.86 / 88.20 | 1.53 / 3.64 | 4.67 / 7.31 |
| 256 | 2.30 / 5.25 | 166.36 / 1203.57 | 22.63 / 38.23 | 56.50 / 156.54 | 2.90 / 8.22 | 9.54 / 13.93 |
Ranked on p99.
missing: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.05 / 0.07 | 0.81 / 1.55 | 0.07 / 0.38 | 0.46 / 1.28 | 0.06 / 0.08 | 0.09 / 0.16 |
| 8 | 0.09 / 0.14 | 6.09 / 9.24 | 0.40 / 1.21 | 3.02 / 6.37 | 0.12 / 0.18 | 0.22 / 0.50 |
| 32 | 0.22 / 0.42 | 24.25 / 33.48 | 1.84 / 3.48 | 12.85 / 19.89 | 0.30 / 0.47 | 0.82 / 2.51 |
| 64 | 0.43 / 0.83 | 50.29 / 64.34 | 3.97 / 7.20 | 25.84 / 38.47 | 0.58 / 0.88 | 1.76 / 3.95 |
| 128 | 0.84 / 1.74 | 98.60 / 128.41 | 7.97 / 13.75 | 51.74 / 79.19 | 1.12 / 1.72 | 3.57 / 6.27 |
| 256 | 1.60 / 3.70 | 173.43 / 1745.76 | 16.24 / 28.26 | 95.71 / 134.89 | 2.18 / 3.44 | 7.20 / 10.80 |
Ranked on p99.
api: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.04 / 0.06 | 0.14 / 0.53 | 0.05 / 0.11 | 0.04 / 0.06 | 0.03 / 0.05 | 0.05 / 0.07 |
| 8 | 0.07 / 0.12 | 1.08 / 2.35 | 0.25 / 0.77 | 0.16 / 0.48 | 0.06 / 0.10 | 0.10 / 0.14 |
| 32 | 0.19 / 0.34 | 4.70 / 8.66 | 1.16 / 2.81 | 0.69 / 1.56 | 0.18 / 0.29 | 0.21 / 0.37 |
| 64 | 0.37 / 0.68 | 9.26 / 15.31 | 2.35 / 4.56 | 1.44 / 3.08 | 0.37 / 0.55 | 0.38 / 0.72 |
| 128 | 0.73 / 1.42 | 18.32 / 29.94 | 5.02 / 8.61 | 3.07 / 5.06 | 0.75 / 0.99 | 0.73 / 1.36 |
| 256 | 1.43 / 2.93 | 36.50 / 59.72 | 10.37 / 17.35 | 6.34 / 7.99 | 1.51 / 1.82 | 1.44 / 2.70 |
Ranked on p99.
primes: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | native 0.11 / 0.134.91 / 5.09 | 0.96 / 1.84 | 0.38 / 1.13 | 0.58 / 1.63 | 0.12 / 0.14 | 0.16 / 0.20 |
| 8 | native 0.16 / 0.225.95 / 8.42 | 7.57 / 9.52 | 2.36 / 5.96 | 4.20 / 7.17 | 0.19 / 0.28 | 0.26 / 0.44 |
| 32 | native 0.37 / 0.7816.20 / 29.45 | 29.91 / 37.45 | 11.78 / 23.01 | 19.51 / 38.03 | 0.42 / 0.98 | 0.93 / 2.41 |
| 64 | native 0.76 / 1.5033.36 / 61.83 | 59.92 / 75.25 | 24.08 / 35.26 | 32.82 / 80.31 | 0.83 / 1.81 | 1.92 / 3.72 |
| 128 | native 1.51 / 3.0967.06 / 138.06 | 119.27 / 143.37 | 45.23 / 53.61 | 52.18 / 133.47 | 1.64 / 3.95 | 3.93 / 6.34 |
| 256 | native 2.95 / 6.61132.33 / 299.46 | 197.12 / 2730.35 | 59.41 / 94.44 | 80.19 / 1116.26 | 3.16 / 9.17 | 7.92 / 11.10 |
Ranked on p99.
Under FSR's figure, marked native: the same page with its loader calling the Rust in shared/compute.rs through #[native], the code Leptos and Dioxus run. The view and the render are FSR's either way. It is ranked with the other figures.
report: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | native 0.08 / 0.101.61 / 1.69 | 0.68 / 1.36 | 0.11 / 0.39 | 0.30 / 1.04 | 0.10 / 0.12 | 0.13 / 0.16 |
| 8 | native 0.13 / 0.181.75 / 2.58 | 5.21 / 7.39 | 0.66 / 1.72 | 1.86 / 4.31 | 0.15 / 0.23 | 0.24 / 0.45 |
| 32 | native 0.28 / 0.654.76 / 8.97 | 20.13 / 26.90 | 3.04 / 4.99 | 9.39 / 16.90 | 0.35 / 0.68 | 0.88 / 2.40 |
| 64 | native 0.57 / 1.129.87 / 19.09 | 41.39 / 50.74 | 6.32 / 10.15 | 15.00 / 38.44 | 0.67 / 1.50 | 1.85 / 3.82 |
| 128 | native 1.13 / 2.3619.40 / 39.11 | 83.70 / 110.37 | 12.73 / 20.47 | 27.58 / 80.06 | 1.31 / 3.17 | 3.79 / 6.44 |
| 256 | native 2.20 / 4.9937.63 / 88.83 | 163.11 / 1048.23 | 25.63 / 41.45 | 51.21 / 134.55 | 2.51 / 7.10 | 7.65 / 11.20 |
Ranked on p99.
Under FSR's figure, marked native: the same page with its loader calling the Rust in shared/compute.rs through #[native], the code Leptos and Dioxus run. The view and the render are FSR's either way. It is ranked with the other figures.
words: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | native 1.93 / 2.057.13 / 7.64 | 2.20 / 3.10 | 1.71 / 1.86 | 1.83 / 2.19 | 1.84 / 1.93 | 1.92 / 1.99 |
| 8 | native 2.03 / 2.968.04 / 11.45 | 17.43 / 21.14 | 11.59 / 23.74 | 14.25 / 19.09 | 1.92 / 3.36 | 2.05 / 2.24 |
| 32 | native 5.44 / 10.4621.48 / 37.93 | 69.97 / 81.44 | 52.33 / 103.28 | 62.09 / 98.28 | 5.16 / 11.23 | 5.25 / 17.08 |
| 64 | native 10.98 / 21.0343.53 / 80.50 | 140.00 / 167.90 | 105.49 / 134.47 | 92.46 / 206.57 | 10.50 / 21.86 | 10.92 / 28.86 |
| 128 | native 22.11 / 44.3186.83 / 175.78 | 277.40 / 2083.38 | 131.27 / 3758.00 | 143.56 / 3034.56 | 20.64 / 49.28 | 23.31 / 44.31 |
| 256 | native 43.42 / 99.11171.21 / 387.47 | 309.07 / 7513.16 | 131.72 / 9051.66 | 146.39 / 8474.96 | 39.47 / 115.59 | 48.77 / 81.37 |
Ranked on p99.
Under FSR's figure, marked native: the same page with its loader calling the Rust in shared/compute.rs through #[native], the code Leptos and Dioxus run. The view and the render are FSR's either way. It is ranked with the other figures.
table: p50 / p99 ms
| Clients | fsr | nextjs | sveltekit | nuxt | leptos | dioxus |
|---|---|---|---|---|---|---|
| 1 | 0.67 / 0.70 | 5.84 / 8.61 | 0.91 / 1.13 | 0.82 / 1.31 | 0.65 / 0.74 | 0.73 / 0.78 |
| 8 | 0.72 / 0.99 | 44.98 / 56.19 | 5.95 / 12.71 | 6.16 / 9.83 | 0.76 / 0.98 | 0.89 / 1.10 |
| 32 | 1.94 / 3.63 | 172.94 / 217.63 | 26.42 / 51.64 | 23.55 / 53.12 | 2.13 / 4.45 | 2.62 / 7.64 |
| 64 | 3.94 / 7.54 | 341.58 / 1675.35 | 54.00 / 73.09 | 46.38 / 106.30 | 4.42 / 9.33 | 5.56 / 12.68 |
| 128 | 8.02 / 16.48 | 480.87 / 8649.69 | 91.39 / 124.30 | 79.56 / 198.83 | 8.73 / 19.36 | 11.48 / 21.51 |
| 256 | 15.79 / 35.43 | 503.09 / 10205.06 | 91.46 / 4856.65 | 92.16 / 4319.88 | 16.66 / 47.07 | 23.08 / 37.99 |
Ranked on p99.
