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: 1426/15989MB (8.92%)
Disk Usage: 60/145GB (42%)
CPU Load: 1.63
CPU core count:4
CPUs
cpu MHz		: 2869.732
cpu MHz		: 2870.232
cpu MHz		: 2870.483
cpu MHz		: 2870.893

Below is total package generation times for separate modules,

[INFO] [INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  0.239 s]
[INFO] [INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  0.016 s]
[INFO] [INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  0.303 s]
[INFO] [INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [  1.299 s]
[INFO] [INFO] micronaut-demo 5.1.3 ............................... SUCCESS [  1.467 s]
[INFO] [INFO] quarkus-demo 3.39.2 ................................ SUCCESS [  0.907 s]
[INFO] [INFO] springboot-webflux-demo 4.1.1 ...................... SUCCESS [  0.139 s]
[INFO] [INFO] springboot-demo-web 4.1.1 .......................... SUCCESS [  0.019 s]
[INFO] [INFO] vertx-demo 5.1.7 ................................... SUCCESS [  0.066 s]
[INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  2.847 s]
[INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  2.857 s]
[INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  4.370 s]
[INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [ 13.468 s]
[INFO] micronaut-demo 5.1.3 ............................... SUCCESS [ 24.839 s]
[INFO] quarkus-demo 3.39.2 ................................ SUCCESS [ 13.493 s]
[INFO] springboot-webflux-demo 4.1.1 ...................... SUCCESS [  1.866 s]
[INFO] springboot-demo-web 4.1.1 .......................... SUCCESS [  1.865 s]
[INFO] vertx-demo 5.1.7 ................................... SUCCESS [  4.926 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 27ms on TCP http://0:0:0:0:0:0:0:0:8080

---- Global Information --------------------------------------------------------
> request count       173184
> min response time   98.53µs
> max response time   337.36ms
> mean response time  18.86ms
> p(90) response time 46.91ms
> p(95) response time 60.76ms
> mean requests/sec   10711.358368

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

---- Global Information --------------------------------------------------------
> request count       264831
> min response time   49.49µs
> max response time   165.85ms
> mean response time  16.41ms
> p(90) response time 39.38ms
> p(95) response time 49.81ms
> mean requests/sec   17604.874364

:: Spring Boot :: (v4.1.1) Started DemoWebFluxApplication in 1.731 seconds (process running for 2.237)

---- Global Information --------------------------------------------------------
> request count       106240
> min response time   277.55µs
> max response time   1s
> mean response time  45.27ms
> p(90) response time 101.59ms
> p(95) response time 133.76ms
> mean requests/sec   7019.893005

:: Spring Boot :: (v4.1.1) Started DemoApplication in 1.624 seconds (process running for 2.096)

---- Global Information --------------------------------------------------------
> request count       124881
> min response time   233.57µs
> max response time   242.83ms
> mean response time  33.63ms
> p(90) response time 73.2ms
> p(95) response time 90.96ms
> mean requests/sec   8264.721547

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

---- Global Information --------------------------------------------------------
> request count       117951
> min response time   248.8µs
> max response time   287.44ms
> mean response time  32.63ms
> p(90) response time 71.2ms
> p(95) response time 87ms
> mean requests/sec   7826.294585

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

---- Global Information --------------------------------------------------------
> request count       213075
> min response time   79.98µs
> max response time   176.99ms
> mean response time  20.19ms
> p(90) response time 45.09ms
> p(95) response time 57ms
> mean requests/sec   14167.337592

vertx version:5.1.7

---- Global Information --------------------------------------------------------
> request count       327073
> min response time   40.08µs
> max response time   153.73ms
> mean response time  13.47ms
> p(90) response time 32.7ms
> p(95) response time 43.21ms
> mean requests/sec   21639.355086

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

---- Global Information --------------------------------------------------------
> request count       84247
> min response time   324.01µs
> max response time   411.4ms
> mean response time  50.32ms
> p(90) response time 119.77ms
> p(95) response time 157.12ms
> mean requests/sec   5572.545285

ktor:3.5.2

---- Global Information --------------------------------------------------------
> request count       211674
> min response time   69.3µs
> max response time   2.71s
> mean response time  13.97ms
> p(90) response time 31.94ms
> p(95) response time 41.11ms
> mean requests/sec   13133.791304

Rust rest services

rustc 1.98.0 (88d9e12ae 2026-08-18)

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

---- Global Information --------------------------------------------------------
> request count       389812
> min response time   39.59µs
> max response time   152.3ms
> mean response time  10.88ms
> p(90) response time 28.14ms
> p(95) response time 35.26ms
> mean requests/sec   25875.499023

actix-web = 4.9.0

---- Global Information --------------------------------------------------------
> request count       370224
> min response time   35.85µs
> max response time   158.34ms
> mean response time  11.39ms
> p(90) response time 31.46ms
> p(95) response time 39.33ms
> mean requests/sec   24614.553008

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

---- Global Information --------------------------------------------------------
> request count       358741
> min response time   51.39µs
> max response time   147.27ms
> mean response time  11.58ms
> p(90) response time 31.54ms
> p(95) response time 38.96ms
> mean requests/sec   23853.631854

axum = 0.8.1

---- Global Information --------------------------------------------------------
> request count       383632
> min response time   40.9µs
> max response time   145.59ms
> mean response time  11.04ms
> p(90) response time 29.22ms
> p(95) response time 36.7ms
> mean requests/sec   25496.835266

Dotnet 7 rest service

---- Global Information --------------------------------------------------------
> request count       284234
> min response time   63.39µs
> max response time   169.95ms
> mean response time  14.86ms
> p(90) response time 37.47ms
> p(95) response time 46.17ms
> mean requests/sec   18896.320796

Dotnet 8 rest service

---- Global Information --------------------------------------------------------
> request count       303340
> min response time   60.66µs
> max response time   157.35ms
> mean response time  14.02ms
> p(90) response time 36.15ms
> p(95) response time 45.52ms
> mean requests/sec   20159.110548

Dotnet 9 rest service

---- Global Information --------------------------------------------------------
> request count       316607
> min response time   53.58µs
> max response time   151.56ms
> mean response time  13.69ms
> p(90) response time 35.69ms
> p(95) response time 45.29ms
> mean requests/sec   20991.168743

Golang rest service

go version go1.24.13 linux/amd64


Golang rest service

---- Global Information --------------------------------------------------------
> request count       330570
> min response time   45.38µs
> max response time   154.92ms
> mean response time  12.95ms
> p(90) response time 35.17ms
> p(95) response time 44.64ms
> mean requests/sec   21975.475053

Express.js rest service

Node.js v22.23.2


Express.js rest service

---- Global Information --------------------------------------------------------
> request count       160790
> min response time   87.77µs
> max response time   2.86s
> mean response time  30.3ms
> p(90) response time 54.6ms
> p(95) response time 65.14ms
> mean requests/sec   10671.773911

Bun rest service

Bun 1.4.0


Bun rest service

---- Global Information --------------------------------------------------------
> request count       376817
> min response time   41.32µs
> max response time   185.84ms
> mean response time  11.37ms
> p(90) response time 31.83ms
> p(95) response time 41.43ms
> mean requests/sec   25021.12042

graalvm native avaje-jex-jdk

---- Global Information --------------------------------------------------------
> request count       249128
> min response time   73.38µs
> max response time   2.14s
> mean response time  12.3ms
> p(90) response time 26.21ms
> p(95) response time 33ms
> mean requests/sec   14971.473618

graalvm native avaje-jex-robaho

---- Global Information --------------------------------------------------------
> request count       303604
> min response time   57.57µs
> max response time   162.11ms
> mean response time  14.23ms
> p(90) response time 38.23ms
> p(95) response time 48.2ms
> mean requests/sec   20164.684351

graalvm native quarkus

---- Global Information --------------------------------------------------------
> request count       201884
> min response time   133.2µs
> max response time   214.83ms
> mean response time  21.51ms
> p(90) response time 53.88ms
> p(95) response time 67.76ms
> mean requests/sec   13408.523659

graalvm native micronaut

---- Global Information --------------------------------------------------------
> request count       239795
> min response time   70.27µs
> max response time   174.49ms
> mean response time  17.43ms
> p(90) response time 46.9ms
> p(95) response time 59.49ms
> mean requests/sec   15925.316561

graalvm native spring-boot-web

---- Global Information --------------------------------------------------------
> request count       175986
> min response time   151.32µs
> max response time   370.2ms
> mean response time  26.13ms
> p(90) response time 65.93ms
> p(95) response time 82.71ms
> mean requests/sec   11590.693185

graalvm native spring-boot-webflux

---- Global Information --------------------------------------------------------
> request count       173437
> min response time   129.03µs
> max response time   510.93ms
> mean response time  27.61ms
> p(90) response time 69.96ms
> p(95) response time 93.62ms
> mean requests/sec   11488.465955

graalvm native vertx

---- Global Information --------------------------------------------------------
> request count       306644
> min response time   46.66µs
> max response time   174.08ms
> mean response time  15.42ms
> p(90) response time 41.16ms
> p(95) response time 53.2ms
> mean requests/sec   20355.912413

graalvm native ktor rest service

---- Global Information --------------------------------------------------------
> request count       244195
> min response time   79.86µs
> max response time   2.28s
> mean response time  14.39ms
> p(90) response time 26.87ms
> p(95) response time 34.72ms
> mean requests/sec   15168.461318

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 ⇅
AVAJE17318498.53µs337.36ms18.86ms46.91ms60.76ms10711.358368
ROBAHO26483149.49µs165.85ms16.41ms39.38ms49.81ms17604.874364
Started DemoWebFluxApplication106240277.55µs1s45.27ms101.59ms133.76ms7019.893005
Started DemoApplication124881233.57µs242.83ms33.63ms73.2ms90.96ms8264.721547
QUARKUS117951248.8µs287.44ms32.63ms71.2ms87ms7826.294585
Startup completed in21307579.98µs176.99ms20.19ms45.09ms57ms14167.337592
VERTX32707340.08µs153.73ms13.47ms32.7ms43.21ms21639.355086
Server -- Started84247324.01µs411.4ms50.32ms119.77ms157.12ms5572.545285
KTOR21167469.3µs2.71s13.97ms31.94ms41.11ms13133.791304
WARP38981239.59µs152.3ms10.88ms28.14ms35.26ms25875.499023
ACTIX37022435.85µs158.34ms11.39ms31.46ms39.33ms24614.553008
ROCKET35874151.39µs147.27ms11.58ms31.54ms38.96ms23853.631854
AXUM38363240.9µs145.59ms11.04ms29.22ms36.7ms25496.835266
Dotnet 7 rest service28423463.39µs169.95ms14.86ms37.47ms46.17ms18896.320796
Dotnet 8 rest service30334060.66µs157.35ms14.02ms36.15ms45.52ms20159.110548
Dotnet 9 rest service31660753.58µs151.56ms13.69ms35.69ms45.29ms20991.168743
Golang rest service33057045.38µs154.92ms12.95ms35.17ms44.64ms21975.475053
Express.js rest service16079087.77µs2.86s30.3ms54.6ms65.14ms10671.773911
Bun rest service37681741.32µs185.84ms11.37ms31.83ms41.43ms25021.12042
graalvm native avaje-jex-jdk24912873.38µs2.14s12.3ms26.21ms33ms14971.473618
graalvm native avaje-jex-robaho30360457.57µs162.11ms14.23ms38.23ms48.2ms20164.684351
graalvm native quarkus201884133.2µs214.83ms21.51ms53.88ms67.76ms13408.523659
graalvm native micronaut23979570.27µs174.49ms17.43ms46.9ms59.49ms15925.316561
graalvm native spring-boot-web175986151.32µs370.2ms26.13ms65.93ms82.71ms11590.693185
graalvm native spring-boot-webflux173437129.03µs510.93ms27.61ms69.96ms93.62ms11488.465955
graalvm native vertx30664446.66µs174.08ms15.42ms41.16ms53.2ms20355.912413
graalvm native ktor rest service24419579.86µs2.28s14.39ms26.87ms34.72ms15168.461318