This directory is for the benchmark of Mini-Van's SSR performance (van-plate
mode is being used) on Bun, Deno and Node.js.
We want to benchmark the SSR performance of Mini-Van for webpages with typical complexity. For that reason, https://vanjs.org/minivan was used. We downloaded the HTML file for https://vanjs.org/minivan, converted the HTML file to the equivalent VanJS code via VanJS Code Converter, and built HTTP servers with Bun, Deno and Node.js to serve the converted VanJS component.
The HTML file used for benchmark is minivan.html
(page.js
for the converted Mini-Van component). http_load_test
is used for measurement. We're benchmarking both [email protected]
and [email protected]
(where an optimization to reduce string concatenations was implemented).
Tests were conducted on a MacBook Air, M1, 2020, running macOS 13.0 (Ventura).
Req/Sec (higher is better)
[email protected] |
[email protected] |
|
---|---|---|
Bun (1.0.3 ) |
2771 | 3397 |
Deno (1.37.0 ) |
3092 | 3294 |
Node (20.0.0 ) |
2704 | 3145 |
In addition, we also compared the SSR performance between React and Mini-Van on Bun, Deno and Node.js, using the Hello, World!
examples here.
Req/Sec (higher is better)
[email protected] |
[email protected] |
[email protected] |
|
---|---|---|---|
Bun (1.0.3 ) |
57056 | 98905 | 100538 |
Deno (1.37.0 ) |
43401 | 84611 | 86502 |
Node (20.0.0 ) |
30721 | 67724 | 68807 |
As we can see, Mini-Van is roughly 1.75X ~ 2.25X more efficient compared to React.
run.sh
: the script used for benchmark.run-logs.md
: the detailed benchmark logs.