diff --git a/README.md b/README.md index b6ffc94..ef39748 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,25 @@ -# coldstarttest +# ColdStartTest -To install dependencies: +Test of cold start time of different http server implementations. + +## Benchmark ```bash -bun install +bun run benchmark.ts ``` +![](results/Screenshot 2026-03-28 020535.png) -To run: +## Results -```bash -bun run index.ts -``` +![](results/image_2026-03-28_02-56-09.png) -This project was created using `bun init` in bun v1.3.4. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime. +| Framework | Version | 1 | 2 | 3 | 4 | 5 | Avg | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Kotlin JVM Ktor CIO | Temurin JVM 21 & Ktor 3.4.1 | 2739.8 | 2723.7 | 3066.5 | 3054.4 | 2986.3 | 2914.1 | +| Kotlin JVM Http4K Undertow | Temurin JVM 21 & Http4K 6.38.0.0 | 817.2 | 767.9 | 755.0 | 750.0 | 830.5 | 784.1 | +| Kotlin JVM Http4K SunHttp | Temurin JVM 21 & Http4K 6.38.0.0 | 531.3 | 629.1 | 939.7 | 741.4 | 575.0 | 683.3 | +| Bun ts (Bun.serve) | Bun 1.3.4 | 428.2 | 547.3 | 502.2 | 432.6 | 431.2 | 468.3 | +| Kotlin/Native Ktor | Kotlin/Native 2.3.0 & Ktor 3.4.1 | 74.5 | 93.9 | 79.5 | 80.6 | 78.9 | 81.5 | +| Kotlin GraalVM Http4K SunHttp | GraalVM 21.0.2 & Http4K 6.38.0.0 | 54.7 | 135.7 | 59.8 | 53.3 | 58.1 | 72.3 | +| Rust Hyper | rustc 1.92.0-nightly & Hyper 1.8.1 | 64.7 | 46.6 | 45.2 | 104.8 | 48.9 | 62.0 | +| Rust Axum | rustc 1.92.0-nightly & Axum 0.8.8 | 61.1 | 47.3 | 47.2 | 47.7 | 46.2 | 49.9 | \ No newline at end of file diff --git a/results/Screenshot 2026-03-28 013058.png b/results/Screenshot 2026-03-28 013058.png new file mode 100644 index 0000000..a853470 Binary files /dev/null and b/results/Screenshot 2026-03-28 013058.png differ diff --git a/results/Screenshot 2026-03-28 013435.png b/results/Screenshot 2026-03-28 013435.png new file mode 100644 index 0000000..28434ff Binary files /dev/null and b/results/Screenshot 2026-03-28 013435.png differ diff --git a/results/Screenshot 2026-03-28 013541.png b/results/Screenshot 2026-03-28 013541.png new file mode 100644 index 0000000..2bf8b5e Binary files /dev/null and b/results/Screenshot 2026-03-28 013541.png differ diff --git a/results/Screenshot 2026-03-28 014546.png b/results/Screenshot 2026-03-28 014546.png new file mode 100644 index 0000000..98ff666 Binary files /dev/null and b/results/Screenshot 2026-03-28 014546.png differ diff --git a/results/Screenshot 2026-03-28 015427.png b/results/Screenshot 2026-03-28 015427.png new file mode 100644 index 0000000..45423f6 Binary files /dev/null and b/results/Screenshot 2026-03-28 015427.png differ diff --git a/results/Screenshot 2026-03-28 020535.png b/results/Screenshot 2026-03-28 020535.png new file mode 100644 index 0000000..faf5c74 Binary files /dev/null and b/results/Screenshot 2026-03-28 020535.png differ diff --git a/results/Screenshot 2026-03-28 022820.png b/results/Screenshot 2026-03-28 022820.png new file mode 100644 index 0000000..8d35442 Binary files /dev/null and b/results/Screenshot 2026-03-28 022820.png differ diff --git a/results/Screenshot 2026-03-28 023407.png b/results/Screenshot 2026-03-28 023407.png new file mode 100644 index 0000000..20f22f9 Binary files /dev/null and b/results/Screenshot 2026-03-28 023407.png differ diff --git a/results/image_2026-03-28_02-56-09.png b/results/image_2026-03-28_02-56-09.png new file mode 100644 index 0000000..7a8aa81 Binary files /dev/null and b/results/image_2026-03-28_02-56-09.png differ