In Linux runnervmvrwv9 6.17.0-1020-azure #20~24.04.1-Ubuntu SMP Fri Jun 19 20:09:14 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux,

Memory Usage: 1391/15993MB (8.70%)
Disk Usage: 59/145GB (41%)
CPU Load: 2.12
CPU core count:4
CPUs
cpu MHz		: 3245.245
cpu MHz		: 3244.732
cpu MHz		: 3243.035
cpu MHz		: 3240.811

Below is total package generation times for separate modules,

[INFO] [INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  0.220 s]
[INFO] [INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  0.013 s]
[INFO] [INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  0.271 s]
[INFO] [INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [  1.325 s]
[INFO] [INFO] micronaut-demo 5.0.1 ............................... SUCCESS [  1.437 s]
[INFO] [INFO] quarkus-demo 3.38.0 ................................ SUCCESS [  0.933 s]
[INFO] [INFO] springboot-webflux-demo 4.1.0 ...................... SUCCESS [  0.142 s]
[INFO] [INFO] springboot-demo-web 4.1.0 .......................... SUCCESS [  0.017 s]
[INFO] [INFO] vertx-demo 5.1.5 ................................... SUCCESS [  0.035 s]
[INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  2.826 s]
[INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  2.852 s]
[INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  4.571 s]
[INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [ 11.757 s]
[INFO] micronaut-demo 5.0.1 ............................... SUCCESS [ 24.170 s]
[INFO] quarkus-demo 3.38.0 ................................ SUCCESS [ 13.143 s]
[INFO] springboot-webflux-demo 4.1.0 ...................... SUCCESS [  1.889 s]
[INFO] springboot-demo-web 4.1.0 .......................... SUCCESS [  1.886 s]
[INFO] vertx-demo 5.1.5 ................................... SUCCESS [  5.116 s]

Size of created packages:

Size in MB Name
2.6M ./avaje-jex-jdk/target/avaje-jex-jdk-3.6.jar
2.6M ./avaje-jex-jdk/target/original-avaje-jex-jdk-3.6.jar
2.8M ./avaje-jex-robaho/target/avaje-jex-robaho-3.6.jar
2.8M ./avaje-jex-robaho/target/original-avaje-jex-robaho-3.6.jar
22M ./eclipse-microprofile-kumuluz-test/target/eclipse-microprofile-kumuluz-test-4.1.0.jar
21M ./ktor/target/ktor-demo-3.5.2-kotlin-2.4.10-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.1.0.jar
34M ./spring-boot-webflux/target/springboot-webflux-demo-4.1.0.jar
12M ./vertx/target/vertx-demo-5.1.5-fat.jar

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

---- Global Information --------------------------------------------------------
> request count       177304
> min response time   95.09µs
> max response time   1.2s
> mean response time  18.69ms
> p(90) response time 44.47ms
> p(95) response time 56.37ms
> mean requests/sec   11036.055168

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

---- Global Information --------------------------------------------------------
> request count       257286
> min response time   58.95µs
> max response time   140.65ms
> mean response time  16.22ms
> p(90) response time 41.24ms
> p(95) response time 49.74ms
> mean requests/sec   17098.329861

:: Spring Boot :: (v4.1.0) Started DemoWebFluxApplication in 1.652 seconds (process running for 2.171)

---- Global Information --------------------------------------------------------
> request count       87753
> min response time   303.41µs
> max response time   3.15s
> mean response time  56.97ms
> p(90) response time 102.23ms
> p(95) response time 133.28ms
> mean requests/sec   5781.377588

:: Spring Boot :: (v4.1.0) Started DemoApplication in 1.55 seconds (process running for 2.021)

---- Global Information --------------------------------------------------------
> request count       130892
> min response time   236.26µs
> max response time   242.19ms
> mean response time  32.84ms
> p(90) response time 68.7ms
> p(95) response time 89.11ms
> mean requests/sec   8686.765948

powered by Quarkus 3.38.0) started in 1.148s. Listening on: http://0.0.0.0:8080

---- Global Information --------------------------------------------------------
> request count       114638
> min response time   232.95µs
> max response time   311.65ms
> mean response time  34.9ms
> p(90) response time 72.71ms
> p(95) response time 91.34ms
> mean requests/sec   7609.490219

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

---- Global Information --------------------------------------------------------
> request count       196788
> min response time   112.67µs
> max response time   166.55ms
> mean response time  21.86ms
> p(90) response time 46.69ms
> p(95) response time 60.28ms
> mean requests/sec   13078.931934

vertx version:5.1.5

---- Global Information --------------------------------------------------------
> request count       294503
> min response time   49.25µs
> max response time   174.52ms
> mean response time  15.57ms
> p(90) response time 37.25ms
> p(95) response time 49.47ms
> mean requests/sec   19555.473755

kumuluz version:4.1.0 Server – Started Server@48d293ee{STARTING}[10.0.9,sto=0] @2729ms

---- Global Information --------------------------------------------------------
> request count       83480
> min response time   334.88µs
> max response time   535.63ms
> mean response time  47.93ms
> p(90) response time 113.97ms
> p(95) response time 136.04ms
> mean requests/sec   5523.267993

ktor:3.5.2

---- Global Information --------------------------------------------------------
> request count       199085
> min response time   83.14µs
> max response time   160.46ms
> mean response time  16.78ms
> p(90) response time 42.41ms
> p(95) response time 53.24ms
> mean requests/sec   12499.590597

Rust rest services

rustc 1.97.1 (8bab26f4f 2026-07-14)

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

---- Global Information --------------------------------------------------------
> request count       346296
> min response time   44.62µs
> max response time   134.08ms
> mean response time  12.18ms
> p(90) response time 32.26ms
> p(95) response time 39.5ms
> mean requests/sec   23027.597401

actix-web = 4.9.0

---- Global Information --------------------------------------------------------
> request count       324497
> min response time   46.24µs
> max response time   176.49ms
> mean response time  12.96ms
> p(90) response time 36.11ms
> p(95) response time 43.96ms
> mean requests/sec   21572.396006

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

---- Global Information --------------------------------------------------------
> request count       300387
> min response time   59.7µs
> max response time   148.66ms
> mean response time  14.3ms
> p(90) response time 37.84ms
> p(95) response time 46.85ms
> mean requests/sec   19953.948239

axum = 0.8.1

---- Global Information --------------------------------------------------------
> request count       340014
> min response time   47.02µs
> max response time   135.53ms
> mean response time  12.56ms
> p(90) response time 32.94ms
> p(95) response time 40.7ms
> mean requests/sec   22607.451623

Dotnet 7 rest service

---- Global Information --------------------------------------------------------
> request count       249618
> min response time   83.76µs
> max response time   158.64ms
> mean response time  17.31ms
> p(90) response time 43.54ms
> p(95) response time 55.53ms
> mean requests/sec   16547.244715

Dotnet 8 rest service

---- Global Information --------------------------------------------------------
> request count       274997
> min response time   79.46µs
> max response time   174.45ms
> mean response time  15.58ms
> p(90) response time 41.37ms
> p(95) response time 49.36ms
> mean requests/sec   18226.403949

Dotnet 9 rest service

---- Global Information --------------------------------------------------------
> request count       274177
> min response time   80.77µs
> max response time   180.77ms
> mean response time  15.86ms
> p(90) response time 41.8ms
> p(95) response time 49.87ms
> mean requests/sec   18214.890991

Golang rest service

go version go1.24.13 linux/amd64


Golang rest service

---- Global Information --------------------------------------------------------
> request count       278977
> min response time   62.72µs
> max response time   187.87ms
> mean response time  15.48ms
> p(90) response time 42.88ms
> p(95) response time 52.09ms
> mean requests/sec   18528.983382

Express.js rest service

Node.js v22.23.1


Express.js rest service

---- Global Information --------------------------------------------------------
> request count       76307
> min response time   204.93µs
> max response time   6.93s
> mean response time  65.84ms
> p(90) response time 56.86ms
> p(95) response time 59.62ms
> mean requests/sec   4760.6004

Bun rest service

Bun 1.3.14


Bun rest service

---- Global Information --------------------------------------------------------
> request count       352112
> min response time   46.8µs
> max response time   154.59ms
> mean response time  13.02ms
> p(90) response time 33.69ms
> p(95) response time 44.15ms
> mean requests/sec   23407.578872

graalvm native avaje-jex-jdk

---- Global Information --------------------------------------------------------
> request count       206988
> min response time   106.33µs
> max response time   2.08s
> mean response time  16.08ms
> p(90) response time 31.37ms
> p(95) response time 38.87ms
> mean requests/sec   12310.832742

graalvm native avaje-jex-robaho

---- Global Information --------------------------------------------------------
> request count       263444
> min response time   73.82µs
> max response time   198.02ms
> mean response time  16.33ms
> p(90) response time 45.16ms
> p(95) response time 56.16ms
> mean requests/sec   17485.118121

graalvm native quarkus

---- Global Information --------------------------------------------------------
> request count       172906
> min response time   159.21µs
> max response time   262.09ms
> mean response time  26.62ms
> p(90) response time 65.16ms
> p(95) response time 80.09ms
> mean requests/sec   11456.341195

graalvm native micronaut

---- Global Information --------------------------------------------------------
> request count       209496
> min response time   106.46µs
> max response time   241.71ms
> mean response time  21.2ms
> p(90) response time 55.13ms
> p(95) response time 68.22ms
> mean requests/sec   13838.133053

graalvm native spring-boot-web

---- Global Information --------------------------------------------------------
> request count       156715
> min response time   156.11µs
> max response time   522.12ms
> mean response time  27.7ms
> p(90) response time 74.58ms
> p(95) response time 95.95ms
> mean requests/sec   10380.584464

graalvm native spring-boot-webflux

---- Global Information --------------------------------------------------------
> request count       156071
> min response time   174.12µs
> max response time   1.09s
> mean response time  30.78ms
> p(90) response time 82.06ms
> p(95) response time 108.87ms
> mean requests/sec   10343.669505

graalvm native vertx

---- Global Information --------------------------------------------------------
> request count       237358
> min response time   66.86µs
> max response time   203.16ms
> mean response time  20.64ms
> p(90) response time 54.56ms
> p(95) response time 67.82ms
> mean requests/sec   15754.083521

graalvm native ktor rest service

---- Global Information --------------------------------------------------------
> request count       202238
> min response time   112.72µs
> max response time   3.17s
> mean response time  15.68ms
> p(90) response time 32.34ms
> p(95) response time 40.72ms
> mean requests/sec   12658.544143

GraalVM Native Binaries Sizes:

Size in MB Name
47 quarkus-demo-runner-bin
61 micronaut-demo-bin
66 springboot-demo-web-bin
96 springboot-webflux-demo-bin
50 vertx-demo-bin
50 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 ⇅
AVAJE17730495.09µs1.2s18.69ms44.47ms56.37ms11036.055168
ROBAHO25728658.95µs140.65ms16.22ms41.24ms49.74ms17098.329861
Started DemoWebFluxApplication87753303.41µs3.15s56.97ms102.23ms133.28ms5781.377588
Started DemoApplication130892236.26µs242.19ms32.84ms68.7ms89.11ms8686.765948
QUARKUS114638232.95µs311.65ms34.9ms72.71ms91.34ms7609.490219
Startup completed in196788112.67µs166.55ms21.86ms46.69ms60.28ms13078.931934
VERTX29450349.25µs174.52ms15.57ms37.25ms49.47ms19555.473755
Server -- Started83480334.88µs535.63ms47.93ms113.97ms136.04ms5523.267993
KTOR19908583.14µs160.46ms16.78ms42.41ms53.24ms12499.590597
WARP34629644.62µs134.08ms12.18ms32.26ms39.5ms23027.597401
ACTIX32449746.24µs176.49ms12.96ms36.11ms43.96ms21572.396006
ROCKET30038759.7µs148.66ms14.3ms37.84ms46.85ms19953.948239
AXUM34001447.02µs135.53ms12.56ms32.94ms40.7ms22607.451623
Dotnet 7 rest service24961883.76µs158.64ms17.31ms43.54ms55.53ms16547.244715
Dotnet 8 rest service27499779.46µs174.45ms15.58ms41.37ms49.36ms18226.403949
Dotnet 9 rest service27417780.77µs180.77ms15.86ms41.8ms49.87ms18214.890991
Golang rest service27897762.72µs187.87ms15.48ms42.88ms52.09ms18528.983382
Express.js rest service76307204.93µs6.93s65.84ms56.86ms59.62ms4760.6004
Bun rest service35211246.8µs154.59ms13.02ms33.69ms44.15ms23407.578872
graalvm native avaje-jex-jdk206988106.33µs2.08s16.08ms31.37ms38.87ms12310.832742
graalvm native avaje-jex-robaho26344473.82µs198.02ms16.33ms45.16ms56.16ms17485.118121
graalvm native quarkus172906159.21µs262.09ms26.62ms65.16ms80.09ms11456.341195
graalvm native micronaut209496106.46µs241.71ms21.2ms55.13ms68.22ms13838.133053
graalvm native spring-boot-web156715156.11µs522.12ms27.7ms74.58ms95.95ms10380.584464
graalvm native spring-boot-webflux156071174.12µs1.09s30.78ms82.06ms108.87ms10343.669505
graalvm native vertx23735866.86µs203.16ms20.64ms54.56ms67.82ms15754.083521
graalvm native ktor rest service202238112.72µs3.17s15.68ms32.34ms40.72ms12658.544143