Skip to content

Latest commit

 

History

History

bench

Benchmark the SSR Performance of Mini-Van on Bun, Deno and Node.js

This directory is for the benchmark of Mini-Van's SSR performance (van-plate mode is being used) on Bun, Deno and Node.js.

Methodology

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).

Result

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

React vs. Mini-Van

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.

Appendix