In Linux runnervmkkn4f 6.17.0-1018-azure #18~24.04.1-Ubuntu SMP Thu May 28 16:39:11 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux,

Memory Usage: 1403/15989MB (8.77%)
Disk Usage: 58/145GB (40%)
CPU Load: 1.26
CPU core count:4
CPUs
cpu MHz		: 3245.085
cpu MHz		: 3243.293
cpu MHz		: 3243.168
cpu MHz		: 3242.588

Below is total package generation times for separate modules,

[INFO] [INFO] Avaje Jex Example 3.5 .............................. SUCCESS [  0.344 s]
[INFO] [INFO] Avaje Jex Robaho Example 3.5 ....................... SUCCESS [  0.028 s]
[INFO] [INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  0.307 s]
[INFO] [INFO] ktor-demo 3.5.1-kotlin-2.4.0 ....................... SUCCESS [  1.372 s]
[INFO] [INFO] micronaut-demo 5.0.1 ............................... SUCCESS [  1.449 s]
[INFO] [INFO] quarkus-demo 3.36.0 ................................ SUCCESS [  0.818 s]
[INFO] [INFO] springboot-webflux-demo 4.0.6 ...................... SUCCESS [  0.193 s]
[INFO] [INFO] springboot-demo-web 4.0.6 .......................... SUCCESS [  0.021 s]
[INFO] [INFO] vertx-demo 5.0.10 .................................. SUCCESS [  0.030 s]
[INFO] Avaje Jex Example 3.5 .............................. SUCCESS [  2.953 s]
[INFO] Avaje Jex Robaho Example 3.5 ....................... SUCCESS [  2.951 s]
[INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  4.448 s]
[INFO] ktor-demo 3.5.1-kotlin-2.4.0 ....................... SUCCESS [ 13.425 s]
[INFO] micronaut-demo 5.0.1 ............................... SUCCESS [ 24.531 s]
[INFO] quarkus-demo 3.36.0 ................................ SUCCESS [ 13.883 s]
[INFO] springboot-webflux-demo 4.0.6 ...................... SUCCESS [  2.150 s]
[INFO] springboot-demo-web 4.0.6 .......................... SUCCESS [  2.154 s]
[INFO] vertx-demo 5.0.10 .................................. SUCCESS [  4.364 s]

Size of created packages:

Size in MB Name
2.6M ./avaje-jex-jdk/target/avaje-jex-jdk-3.5.jar
2.6M ./avaje-jex-jdk/target/original-avaje-jex-jdk-3.5.jar
2.8M ./avaje-jex-robaho/target/avaje-jex-robaho-3.5.jar
2.8M ./avaje-jex-robaho/target/original-avaje-jex-robaho-3.5.jar
22M ./eclipse-microprofile-kumuluz-test/target/eclipse-microprofile-kumuluz-test-4.1.0.jar
20M ./ktor/target/ktor-demo-3.5.1-kotlin-2.4.0-jar-with-dependencies.jar
15M ./micronaut/target/micronaut-demo-5.0.1.jar
20M ./quarkus/target/quarkus-demo-runner.jar
19M ./spring-boot-web/target/springboot-demo-web-4.0.6.jar
34M ./spring-boot-webflux/target/springboot-webflux-demo-4.0.6.jar
8.3M ./vertx/target/vertx-demo-5.0.10-fat.jar

Avaje Jex started class sun.net.httpserver.HttpServerImpl in 27ms on TCP http://0:0:0:0:0:0:0:0:8080

---- Global Information --------------------------------------------------------
> request count       178192
> min response time   80.41µs
> max response time   1.12s
> mean response time  17.68ms
> p(90) response time 41.53ms
> p(95) response time 52.46ms
> mean requests/sec   11105.691664

started class robaho.net.httpserver.HttpServerImpl in 58ms on TCP http://0.0.0.0:8080

---- Global Information --------------------------------------------------------
> request count       255800
> min response time   66.48µs
> max response time   173.62ms
> mean response time  16.73ms
> p(90) response time 41.94ms
> p(95) response time 51.92ms
> mean requests/sec   16961.645787

:: Spring Boot :: (v4.0.6) Started DemoWebFluxApplication in 1.616 seconds (process running for 2.146)

---- Global Information --------------------------------------------------------
> request count       87832
> min response time   314.39µs
> max response time   3.25s
> mean response time  56.6ms
> p(90) response time 94.34ms
> p(95) response time 120.77ms
> mean requests/sec   5807.782882

:: Spring Boot :: (v4.0.6) Started DemoApplication in 1.608 seconds (process running for 2.087)

---- Global Information --------------------------------------------------------
> request count       120547
> min response time   265.99µs
> max response time   276.59ms
> mean response time  35.45ms
> p(90) response time 75.96ms
> p(95) response time 91.39ms
> mean requests/sec   7993.455184

powered by Quarkus 3.36.0) started in 1.145s. Listening on: http://0.0.0.0:8080

---- Global Information --------------------------------------------------------
> request count       101477
> min response time   318.47µs
> max response time   357.04ms
> mean response time  41.27ms
> p(90) response time 92.35ms
> p(95) response time 116.54ms
> mean requests/sec   6726.410105

micronaut version: 4.9.0 Startup completed in 770ms. Server Running: http://localhost:8080

---- Global Information --------------------------------------------------------
> request count       205460
> min response time   85.83µs
> max response time   185.13ms
> mean response time  20.53ms
> p(90) response time 45.7ms
> p(95) response time 56.79ms
> mean requests/sec   13651.210337

vertx version:5.0.10

---- Global Information --------------------------------------------------------
> request count       288201
> min response time   42.04µs
> max response time   165.68ms
> mean response time  15.92ms
> p(90) response time 37.68ms
> p(95) response time 50.95ms
> mean requests/sec   19153.771122

kumuluz version:4.1.0 Server – Started Server@2ab0702e{STARTING}[10.0.9,sto=0] @2779ms

---- Global Information --------------------------------------------------------
> request count       81575
> min response time   258.05µs
> max response time   453.46ms
> mean response time  48.84ms
> p(90) response time 114.8ms
> p(95) response time 145.23ms
> mean requests/sec   5399.961702

ktor:3.5.1

---- Global Information --------------------------------------------------------
> request count       196951
> min response time   74.36µs
> max response time   1.12s
> mean response time  15.83ms
> p(90) response time 38.99ms
> p(95) response time 49.57ms
> mean requests/sec   12399.104992

Rust rest services

rustc 1.96.0 (ac68faa20 2026-05-25)

warp = { version = 0.4, features = [server] }

---- Global Information --------------------------------------------------------
> request count       334297
> min response time   42.06µs
> max response time   179.6ms
> mean response time  13.04ms
> p(90) response time 34.55ms
> p(95) response time 42.35ms
> mean requests/sec   22226.772714

actix-web = 4.9.0

---- Global Information --------------------------------------------------------
> request count       314892
> min response time   47.29µs
> max response time   150.13ms
> mean response time  13.75ms
> p(90) response time 38.25ms
> p(95) response time 46.62ms
> mean requests/sec   20929.362807

rocket = { version = 0.5.1, features = [json] }

---- Global Information --------------------------------------------------------
> request count       297614
> min response time   59.21µs
> max response time   146.73ms
> mean response time  14.44ms
> p(90) response time 38.04ms
> p(95) response time 46.3ms
> mean requests/sec   19781.895589

axum = 0.8.1

---- Global Information --------------------------------------------------------
> request count       336526
> min response time   45.61µs
> max response time   131.82ms
> mean response time  12.72ms
> p(90) response time 33.75ms
> p(95) response time 41.15ms
> mean requests/sec   22388.134893

Dotnet 7 rest service

---- Global Information --------------------------------------------------------
> request count       249266
> min response time   91.37µs
> max response time   153.82ms
> mean response time  17.36ms
> p(90) response time 44.04ms
> p(95) response time 53.44ms
> mean requests/sec   16500.884228

Dotnet 8 rest service

---- Global Information --------------------------------------------------------
> request count       273344
> min response time   72.38µs
> max response time   141.77ms
> mean response time  15.31ms
> p(90) response time 40.82ms
> p(95) response time 48.62ms
> mean requests/sec   18122.52376

Dotnet 9 rest service

---- Global Information --------------------------------------------------------
> request count       275247
> min response time   72.11µs
> max response time   183.37ms
> mean response time  15.59ms
> p(90) response time 41.18ms
> p(95) response time 50.96ms
> mean requests/sec   18249.473786

Golang rest service

go version go1.24.13 linux/amd64


Golang rest service

---- Global Information --------------------------------------------------------
> request count       281587
> min response time   63.08µs
> max response time   199.97ms
> mean response time  15.09ms
> p(90) response time 39.97ms
> p(95) response time 49.37ms
> mean requests/sec   18718.509115

Express.js rest service

Node.js v22.23.1


Express.js rest service

---- Global Information --------------------------------------------------------
> request count       72400
> min response time   211.71µs
> max response time   7.03s
> mean response time  68.85ms
> p(90) response time 61.28ms
> p(95) response time 65.68ms
> mean requests/sec   4493.32519

Bun rest service

Bun 1.3.14


Bun rest service

---- Global Information --------------------------------------------------------
> request count       347577
> min response time   44.89µs
> max response time   146.54ms
> mean response time  13.34ms
> p(90) response time 34.73ms
> p(95) response time 45.04ms
> mean requests/sec   23018.95457

graalvm native avaje-jex-jdk

---- Global Information --------------------------------------------------------
> request count       202436
> min response time   107.74µs
> max response time   2.24s
> mean response time  15.06ms
> p(90) response time 30.24ms
> p(95) response time 37.61ms
> mean requests/sec   12251.820614

graalvm native avaje-jex-robaho

---- Global Information --------------------------------------------------------
> request count       254225
> min response time   76.61µs
> max response time   206.94ms
> mean response time  17.36ms
> p(90) response time 45.98ms
> p(95) response time 56.66ms
> mean requests/sec   16895.52298

graalvm native quarkus

---- Global Information --------------------------------------------------------
> request count       167155
> min response time   180.76µs
> max response time   251.48ms
> mean response time  24.64ms
> p(90) response time 64.23ms
> p(95) response time 80.23ms
> mean requests/sec   11094.314434

graalvm native micronaut

---- Global Information --------------------------------------------------------
> request count       200255
> min response time   108.5µs
> max response time   259.61ms
> mean response time  21.78ms
> p(90) response time 60.46ms
> p(95) response time 77.75ms
> mean requests/sec   13285.970583

graalvm native spring-boot-web

---- Global Information --------------------------------------------------------
> request count       151242
> min response time   177.94µs
> max response time   552.55ms
> mean response time  31.16ms
> p(90) response time 79.64ms
> p(95) response time 108.9ms
> mean requests/sec   9985.783206

graalvm native spring-boot-webflux

---- Global Information --------------------------------------------------------
> request count       146422
> min response time   167.52µs
> max response time   1.3s
> mean response time  33.84ms
> p(90) response time 90.23ms
> p(95) response time 118.03ms
> mean requests/sec   9690.465783

graalvm native vertx

---- Global Information --------------------------------------------------------
> request count       226267
> min response time   70.73µs
> max response time   193.64ms
> mean response time  21.91ms
> p(90) response time 56.89ms
> p(95) response time 70.05ms
> mean requests/sec   14993.562596

graalvm native ktor rest service

---- Global Information --------------------------------------------------------
> request count       192212
> min response time   107.19µs
> max response time   2.17s
> mean response time  17.88ms
> p(90) response time 34.51ms
> p(95) response time 44.33ms
> mean requests/sec   12012.617807

GraalVM Native Binaries Sizes:

Size in MB Name
55 quarkus-demo-runner-bin
78 micronaut-demo-bin
80 springboot-demo-web-bin
111 springboot-webflux-demo-bin
52 vertx-demo-bin
65 ktor-demo-bin

source code for the java and dotnet tests 👈 source code for the rust tests 👈 github action 👈

Framework ⇅ Requests ⇅ Min ⇅ Max ⇅ Mean ⇅ P90 ⇅ P95 ⇅ Req/Sec ⇅
AVAJE17819280.41µs1.12s17.68ms41.53ms52.46ms11105.691664
ROBAHO25580066.48µs173.62ms16.73ms41.94ms51.92ms16961.645787
Started DemoWebFluxApplication87832314.39µs3.25s56.6ms94.34ms120.77ms5807.782882
Started DemoApplication120547265.99µs276.59ms35.45ms75.96ms91.39ms7993.455184
QUARKUS101477318.47µs357.04ms41.27ms92.35ms116.54ms6726.410105
Startup completed in20546085.83µs185.13ms20.53ms45.7ms56.79ms13651.210337
VERTX28820142.04µs165.68ms15.92ms37.68ms50.95ms19153.771122
Server -- Started81575258.05µs453.46ms48.84ms114.8ms145.23ms5399.961702
KTOR19695174.36µs1.12s15.83ms38.99ms49.57ms12399.104992
WARP33429742.06µs179.6ms13.04ms34.55ms42.35ms22226.772714
ACTIX31489247.29µs150.13ms13.75ms38.25ms46.62ms20929.362807
ROCKET29761459.21µs146.73ms14.44ms38.04ms46.3ms19781.895589
AXUM33652645.61µs131.82ms12.72ms33.75ms41.15ms22388.134893
Dotnet 7 rest service24926691.37µs153.82ms17.36ms44.04ms53.44ms16500.884228
Dotnet 8 rest service27334472.38µs141.77ms15.31ms40.82ms48.62ms18122.52376
Dotnet 9 rest service27524772.11µs183.37ms15.59ms41.18ms50.96ms18249.473786
Golang rest service28158763.08µs199.97ms15.09ms39.97ms49.37ms18718.509115
Express.js rest service72400211.71µs7.03s68.85ms61.28ms65.68ms4493.32519
Bun rest service34757744.89µs146.54ms13.34ms34.73ms45.04ms23018.95457
graalvm native avaje-jex-jdk202436107.74µs2.24s15.06ms30.24ms37.61ms12251.820614
graalvm native avaje-jex-robaho25422576.61µs206.94ms17.36ms45.98ms56.66ms16895.52298
graalvm native quarkus167155180.76µs251.48ms24.64ms64.23ms80.23ms11094.314434
graalvm native micronaut200255108.5µs259.61ms21.78ms60.46ms77.75ms13285.970583
graalvm native spring-boot-web151242177.94µs552.55ms31.16ms79.64ms108.9ms9985.783206
graalvm native spring-boot-webflux146422167.52µs1.3s33.84ms90.23ms118.03ms9690.465783
graalvm native vertx22626770.73µs193.64ms21.91ms56.89ms70.05ms14993.562596
graalvm native ktor rest service192212107.19µs2.17s17.88ms34.51ms44.33ms12012.617807