In Linux runnervmgx7h7 6.17.0-1022-azure #22-Ubuntu SMP Mon Jul 27 17:24:03 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux,

Memory Usage: 1382/15989MB (8.64%)
Disk Usage: 61/145GB (43%)
CPU Load: 1.37
CPU core count:4
CPUs
cpu MHz		: 3239.741
cpu MHz		: 3242.157
cpu MHz		: 3246.154
cpu MHz		: 3236.437

Below is total package generation times for separate modules,

[INFO] [INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  0.312 s]
[INFO] [INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  0.024 s]
[INFO] [INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  0.331 s]
[INFO] [INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [  1.317 s]
[INFO] [INFO] micronaut-demo 5.1.3 ............................... SUCCESS [  1.514 s]
[INFO] [INFO] quarkus-demo 3.39.2 ................................ SUCCESS [  0.967 s]
[INFO] [INFO] springboot-webflux-demo 4.1.1 ...................... SUCCESS [  0.139 s]
[INFO] [INFO] springboot-demo-web 4.1.1 .......................... SUCCESS [  0.020 s]
[INFO] [INFO] vertx-demo 5.1.7 ................................... SUCCESS [  0.035 s]
[INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  2.701 s]
[INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  2.851 s]
[INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  5.191 s]
[INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [ 12.207 s]
[INFO] micronaut-demo 5.1.3 ............................... SUCCESS [ 26.374 s]
[INFO] quarkus-demo 3.39.2 ................................ SUCCESS [ 14.717 s]
[INFO] springboot-webflux-demo 4.1.1 ...................... SUCCESS [  2.269 s]
[INFO] springboot-demo-web 4.1.1 .......................... SUCCESS [  2.277 s]
[INFO] vertx-demo 5.1.7 ................................... SUCCESS [  5.060 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.1.3.jar
20M ./quarkus/target/quarkus-demo-runner.jar
19M ./spring-boot-web/target/springboot-demo-web-4.1.1.jar
34M ./spring-boot-webflux/target/springboot-webflux-demo-4.1.1.jar
12M ./vertx/target/vertx-demo-5.1.7-fat.jar

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

---- Global Information --------------------------------------------------------
> request count       147446
> min response time   124.11µs
> max response time   244.82ms
> mean response time  22.3ms
> p(90) response time 55.31ms
> p(95) response time 70.6ms
> mean requests/sec   9204.787543

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

---- Global Information --------------------------------------------------------
> request count       226928
> min response time   61.87µs
> max response time   203.01ms
> mean response time  18.13ms
> p(90) response time 43.57ms
> p(95) response time 53.97ms
> mean requests/sec   15080.903202

:: Spring Boot :: (v4.1.1) Started DemoWebFluxApplication in 1.775 seconds (process running for 2.301)

---- Global Information --------------------------------------------------------
> request count       99149
> min response time   272.29µs
> max response time   1.66s
> mean response time  48.21ms
> p(90) response time 103.48ms
> p(95) response time 137.42ms
> mean requests/sec   6539.552757

:: Spring Boot :: (v4.1.1) Started DemoApplication in 1.636 seconds (process running for 2.108)

---- Global Information --------------------------------------------------------
> request count       113729
> min response time   198.67µs
> max response time   311.29ms
> mean response time  36.14ms
> p(90) response time 81.76ms
> p(95) response time 97.86ms
> mean requests/sec   7542.390414

powered by Quarkus 3.39.2) started in 1.198s. Listening on: http://0.0.0.0:8080

---- Global Information --------------------------------------------------------
> request count       107253
> min response time   261.72µs
> max response time   341.74ms
> mean response time  36.92ms
> p(90) response time 79.13ms
> p(95) response time 94.02ms
> mean requests/sec   7103.027485

micronaut version: unknown Startup completed in 744ms. Server Running: http://localhost:8080

---- Global Information --------------------------------------------------------
> request count       170792
> min response time   112.6µs
> max response time   215.88ms
> mean response time  25.55ms
> p(90) response time 55.88ms
> p(95) response time 70.93ms
> mean requests/sec   11345.793553

vertx version:5.1.7

---- Global Information --------------------------------------------------------
> request count       275326
> min response time   52.49µs
> max response time   168.35ms
> mean response time  16.63ms
> p(90) response time 38.84ms
> p(95) response time 50.76ms
> mean requests/sec   18218.888731

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

---- Global Information --------------------------------------------------------
> request count       74876
> min response time   359.04µs
> max response time   560.63ms
> mean response time  53.48ms
> p(90) response time 125.84ms
> p(95) response time 164.74ms
> mean requests/sec   4944.549421

ktor:3.5.2

---- Global Information --------------------------------------------------------
> request count       172595
> min response time   100.3µs
> max response time   1.09s
> mean response time  17.82ms
> p(90) response time 43.21ms
> p(95) response time 54.23ms
> mean requests/sec   10785.999405

Rust rest services

rustc 1.98.0 (88d9e12ae 2026-08-18)

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

---- Global Information --------------------------------------------------------
> request count       337375
> min response time   47.88µs
> max response time   166.64ms
> mean response time  12.47ms
> p(90) response time 32.95ms
> p(95) response time 39.88ms
> mean requests/sec   22432.262969

actix-web = 4.9.0

---- Global Information --------------------------------------------------------
> request count       317117
> min response time   49.51µs
> max response time   163.16ms
> mean response time  13.68ms
> p(90) response time 37.76ms
> p(95) response time 46.01ms
> mean requests/sec   21076.400384

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

---- Global Information --------------------------------------------------------
> request count       294866
> min response time   63.57µs
> max response time   152.38ms
> mean response time  14.27ms
> p(90) response time 38.07ms
> p(95) response time 46.57ms
> mean requests/sec   19603.319086

axum = 0.8.1

---- Global Information --------------------------------------------------------
> request count       327023
> min response time   49.06µs
> max response time   175.19ms
> mean response time  13.43ms
> p(90) response time 36.04ms
> p(95) response time 45.82ms
> mean requests/sec   21704.503344

Dotnet 7 rest service

---- Global Information --------------------------------------------------------
> request count       244820
> min response time   90.58µs
> max response time   189.57ms
> mean response time  17.34ms
> p(90) response time 44.47ms
> p(95) response time 53.55ms
> mean requests/sec   16268.324299

Dotnet 8 rest service

---- Global Information --------------------------------------------------------
> request count       270707
> min response time   75.36µs
> max response time   159.73ms
> mean response time  15.89ms
> p(90) response time 40.24ms
> p(95) response time 49.07ms
> mean requests/sec   17904.159112

Dotnet 9 rest service

---- Global Information --------------------------------------------------------
> request count       270000
> min response time   74.68µs
> max response time   156.24ms
> mean response time  16.09ms
> p(90) response time 41.79ms
> p(95) response time 52.14ms
> mean requests/sec   17945.98939

Golang rest service

go version go1.24.13 linux/amd64


Golang rest service

---- Global Information --------------------------------------------------------
> request count       271443
> min response time   63.84µs
> max response time   150.91ms
> mean response time  15.76ms
> p(90) response time 42.8ms
> p(95) response time 51.38ms
> mean requests/sec   18027.446885

Express.js rest service

Node.js v22.23.2


Express.js rest service

---- Global Information --------------------------------------------------------
> request count       126795
> min response time   116.12µs
> max response time   4.59s
> mean response time  40.38ms
> p(90) response time 62.12ms
> p(95) response time 66.55ms
> mean requests/sec   8331.876471

Bun rest service

Bun 1.4.0


Bun rest service

---- Global Information --------------------------------------------------------
> request count       327028
> min response time   49.78µs
> max response time   152.1ms
> mean response time  13.56ms
> p(90) response time 34.73ms
> p(95) response time 44.66ms
> mean requests/sec   21636.298999

graalvm native avaje-jex-jdk

---- Global Information --------------------------------------------------------
> request count       214405
> min response time   102.31µs
> max response time   2.11s
> mean response time  15.16ms
> p(90) response time 31.06ms
> p(95) response time 38.8ms
> mean requests/sec   12702.784472

graalvm native avaje-jex-robaho

---- Global Information --------------------------------------------------------
> request count       253067
> min response time   70.42µs
> max response time   209.59ms
> mean response time  16.81ms
> p(90) response time 44.55ms
> p(95) response time 54.8ms
> mean requests/sec   16818.588044

graalvm native quarkus

---- Global Information --------------------------------------------------------
> request count       170291
> min response time   155.16µs
> max response time   268.28ms
> mean response time  25.78ms
> p(90) response time 67.28ms
> p(95) response time 81ms
> mean requests/sec   11299.064069

graalvm native micronaut

---- Global Information --------------------------------------------------------
> request count       202396
> min response time   109.47µs
> max response time   242.63ms
> mean response time  22.16ms
> p(90) response time 57.28ms
> p(95) response time 72.77ms
> mean requests/sec   13397.146243

graalvm native spring-boot-web

---- Global Information --------------------------------------------------------
> request count       155015
> min response time   177.11µs
> max response time   241.99ms
> mean response time  28.26ms
> p(90) response time 72.79ms
> p(95) response time 91.25ms
> mean requests/sec   10272.787729

graalvm native spring-boot-webflux

---- Global Information --------------------------------------------------------
> request count       152414
> min response time   158.25µs
> max response time   559.57ms
> mean response time  31.92ms
> p(90) response time 83.02ms
> p(95) response time 107.36ms
> mean requests/sec   10086.703636

graalvm native vertx

---- Global Information --------------------------------------------------------
> request count       226818
> min response time   60.88µs
> max response time   190.36ms
> mean response time  21.84ms
> p(90) response time 56.11ms
> p(95) response time 66.63ms
> mean requests/sec   15044.382438

graalvm native ktor rest service

---- Global Information --------------------------------------------------------
> request count       198840
> min response time   112.19µs
> max response time   1.27s
> mean response time  14.92ms
> p(90) response time 36.15ms
> p(95) response time 45.3ms
> mean requests/sec   12142.354088

GraalVM Native Binaries Sizes:

Size in MB Name
49 quarkus-demo-runner-bin
63 micronaut-demo-bin
72 springboot-demo-web-bin
100 springboot-webflux-demo-bin
51 vertx-demo-bin
51 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 ⇅
AVAJE147446124.11µs244.82ms22.3ms55.31ms70.6ms9204.787543
ROBAHO22692861.87µs203.01ms18.13ms43.57ms53.97ms15080.903202
Started DemoWebFluxApplication99149272.29µs1.66s48.21ms103.48ms137.42ms6539.552757
Started DemoApplication113729198.67µs311.29ms36.14ms81.76ms97.86ms7542.390414
QUARKUS107253261.72µs341.74ms36.92ms79.13ms94.02ms7103.027485
Startup completed in170792112.6µs215.88ms25.55ms55.88ms70.93ms11345.793553
VERTX27532652.49µs168.35ms16.63ms38.84ms50.76ms18218.888731
Server -- Started74876359.04µs560.63ms53.48ms125.84ms164.74ms4944.549421
KTOR172595100.3µs1.09s17.82ms43.21ms54.23ms10785.999405
WARP33737547.88µs166.64ms12.47ms32.95ms39.88ms22432.262969
ACTIX31711749.51µs163.16ms13.68ms37.76ms46.01ms21076.400384
ROCKET29486663.57µs152.38ms14.27ms38.07ms46.57ms19603.319086
AXUM32702349.06µs175.19ms13.43ms36.04ms45.82ms21704.503344
Dotnet 7 rest service24482090.58µs189.57ms17.34ms44.47ms53.55ms16268.324299
Dotnet 8 rest service27070775.36µs159.73ms15.89ms40.24ms49.07ms17904.159112
Dotnet 9 rest service27000074.68µs156.24ms16.09ms41.79ms52.14ms17945.98939
Golang rest service27144363.84µs150.91ms15.76ms42.8ms51.38ms18027.446885
Express.js rest service126795116.12µs4.59s40.38ms62.12ms66.55ms8331.876471
Bun rest service32702849.78µs152.1ms13.56ms34.73ms44.66ms21636.298999
graalvm native avaje-jex-jdk214405102.31µs2.11s15.16ms31.06ms38.8ms12702.784472
graalvm native avaje-jex-robaho25306770.42µs209.59ms16.81ms44.55ms54.8ms16818.588044
graalvm native quarkus170291155.16µs268.28ms25.78ms67.28ms81ms11299.064069
graalvm native micronaut202396109.47µs242.63ms22.16ms57.28ms72.77ms13397.146243
graalvm native spring-boot-web155015177.11µs241.99ms28.26ms72.79ms91.25ms10272.787729
graalvm native spring-boot-webflux152414158.25µs559.57ms31.92ms83.02ms107.36ms10086.703636
graalvm native vertx22681860.88µs190.36ms21.84ms56.11ms66.63ms15044.382438
graalvm native ktor rest service198840112.19µs1.27s14.92ms36.15ms45.3ms12142.354088