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: 1406/15989MB (8.79%)
Disk Usage: 61/145GB (43%)
CPU Load: 1.51
CPU core count:4
CPUs
cpu MHz		: 3241.256
cpu MHz		: 3235.341
cpu MHz		: 3240.967
cpu MHz		: 3237.506

Below is total package generation times for separate modules,

[INFO] [INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  0.279 s]
[INFO] [INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  0.024 s]
[INFO] [INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  0.289 s]
[INFO] [INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [  1.340 s]
[INFO] [INFO] micronaut-demo 5.0.1 ............................... SUCCESS [  1.424 s]
[INFO] [INFO] quarkus-demo 3.38.0 ................................ SUCCESS [  0.901 s]
[INFO] [INFO] springboot-webflux-demo 4.1.0 ...................... SUCCESS [  0.149 s]
[INFO] [INFO] springboot-demo-web 4.1.0 .......................... SUCCESS [  0.018 s]
[INFO] [INFO] vertx-demo 5.1.5 ................................... SUCCESS [  0.036 s]
[INFO] Avaje Jex Example 3.6 .............................. SUCCESS [  2.827 s]
[INFO] Avaje Jex Robaho Example 3.6 ....................... SUCCESS [  2.669 s]
[INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  4.474 s]
[INFO] ktor-demo 3.5.2-kotlin-2.4.10 ...................... SUCCESS [ 12.282 s]
[INFO] micronaut-demo 5.0.1 ............................... SUCCESS [ 24.899 s]
[INFO] quarkus-demo 3.38.0 ................................ SUCCESS [ 13.893 s]
[INFO] springboot-webflux-demo 4.1.0 ...................... SUCCESS [  2.231 s]
[INFO] springboot-demo-web 4.1.0 .......................... SUCCESS [  2.231 s]
[INFO] vertx-demo 5.1.5 ................................... SUCCESS [  4.968 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       149000
> min response time   125.9µs
> max response time   371.62ms
> mean response time  22.18ms
> p(90) response time 55.47ms
> p(95) response time 71.15ms
> mean requests/sec   9079.658523

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

---- Global Information --------------------------------------------------------
> request count       234300
> min response time   65.34µs
> max response time   176.34ms
> mean response time  18.16ms
> p(90) response time 44.14ms
> p(95) response time 54.85ms
> mean requests/sec   15562.658077

:: Spring Boot :: (v4.1.0) Started DemoWebFluxApplication in 1.625 seconds (process running for 2.167)

---- Global Information --------------------------------------------------------
> request count       100255
> min response time   289.34µs
> max response time   734.42ms
> mean response time  48.61ms
> p(90) response time 107.67ms
> p(95) response time 145.05ms
> mean requests/sec   6625.86147

:: Spring Boot :: (v4.1.0) Started DemoApplication in 1.59 seconds (process running for 2.065)

---- Global Information --------------------------------------------------------
> request count       115968
> min response time   236.92µs
> max response time   361.22ms
> mean response time  36.16ms
> p(90) response time 81.25ms
> p(95) response time 101.98ms
> mean requests/sec   7689.381685

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

---- Global Information --------------------------------------------------------
> request count       111042
> min response time   290.63µs
> max response time   290.31ms
> mean response time  36.35ms
> p(90) response time 80.53ms
> p(95) response time 96.53ms
> mean requests/sec   7323.980402

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

---- Global Information --------------------------------------------------------
> request count       180002
> min response time   134.75µs
> max response time   183.92ms
> mean response time  23.28ms
> p(90) response time 49.6ms
> p(95) response time 64.69ms
> mean requests/sec   11964.829101

vertx version:5.1.5

---- Global Information --------------------------------------------------------
> request count       278704
> min response time   50.01µs
> max response time   177.76ms
> mean response time  16.35ms
> p(90) response time 38.15ms
> p(95) response time 51.3ms
> mean requests/sec   18527.019959

kumuluz version:4.1.0 Server – Started Server@7add323c{STARTING}[10.0.9,sto=0] @2724ms

---- Global Information --------------------------------------------------------
> request count       76744
> min response time   337.28µs
> max response time   456.19ms
> mean response time  54.03ms
> p(90) response time 128.37ms
> p(95) response time 159.54ms
> mean requests/sec   5050.632069

ktor:3.5.2

---- Global Information --------------------------------------------------------
> request count       180732
> min response time   79.23µs
> max response time   1.37s
> mean response time  17.62ms
> p(90) response time 41.64ms
> p(95) response time 51.51ms
> mean requests/sec   11249.833421

Rust rest services

rustc 1.98.0 (88d9e12ae 2026-08-18)

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

---- Global Information --------------------------------------------------------
> request count       336332
> min response time   47.24µs
> max response time   152.34ms
> mean response time  12.69ms
> p(90) response time 32.85ms
> p(95) response time 40.62ms
> mean requests/sec   22373.616456

actix-web = 4.9.0

---- Global Information --------------------------------------------------------
> request count       320734
> min response time   40.87µs
> max response time   199.6ms
> mean response time  13.4ms
> p(90) response time 37.33ms
> p(95) response time 45.26ms
> mean requests/sec   21242.624595

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

---- Global Information --------------------------------------------------------
> request count       298748
> min response time   58.1µs
> max response time   160.46ms
> mean response time  13.86ms
> p(90) response time 36.86ms
> p(95) response time 46ms
> mean requests/sec   19841.328451

axum = 0.8.1

---- Global Information --------------------------------------------------------
> request count       335496
> min response time   48.45µs
> max response time   169.64ms
> mean response time  12.75ms
> p(90) response time 34.21ms
> p(95) response time 42.06ms
> mean requests/sec   22307.858344

Dotnet 7 rest service

---- Global Information --------------------------------------------------------
> request count       258909
> min response time   90.14µs
> max response time   165.8ms
> mean response time  16.84ms
> p(90) response time 42.9ms
> p(95) response time 52.88ms
> mean requests/sec   17178.306276

Dotnet 8 rest service

---- Global Information --------------------------------------------------------
> request count       269823
> min response time   69.77µs
> max response time   186.29ms
> mean response time  15.9ms
> p(90) response time 40.14ms
> p(95) response time 49.36ms
> mean requests/sec   17937.53101

Dotnet 9 rest service

---- Global Information --------------------------------------------------------
> request count       278088
> min response time   74.7µs
> max response time   172.44ms
> mean response time  15.31ms
> p(90) response time 39.62ms
> p(95) response time 48.62ms
> mean requests/sec   18449.56985

Golang rest service

go version go1.24.13 linux/amd64


Golang rest service

---- Global Information --------------------------------------------------------
> request count       279766
> min response time   57.97µs
> max response time   172.2ms
> mean response time  15.57ms
> p(90) response time 40.85ms
> p(95) response time 50.15ms
> mean requests/sec   18485.957644

Express.js rest service

Node.js v22.23.2


Express.js rest service

---- Global Information --------------------------------------------------------
> request count       72397
> min response time   208.89µs
> max response time   7.03s
> mean response time  68.81ms
> p(90) response time 56.83ms
> p(95) response time 60.53ms
> mean requests/sec   4505.37065

Bun rest service

Bun 1.4.0


Bun rest service

---- Global Information --------------------------------------------------------
> request count       317162
> min response time   46.95µs
> max response time   129.29ms
> mean response time  13.81ms
> p(90) response time 34.15ms
> p(95) response time 44.14ms
> mean requests/sec   21087.635799

graalvm native avaje-jex-jdk

---- Global Information --------------------------------------------------------
> request count       216169
> min response time   103.92µs
> max response time   2.15s
> mean response time  14.36ms
> p(90) response time 31.27ms
> p(95) response time 39.19ms
> mean requests/sec   13454.501633

graalvm native avaje-jex-robaho

---- Global Information --------------------------------------------------------
> request count       259927
> min response time   59.46µs
> max response time   170.65ms
> mean response time  15.98ms
> p(90) response time 41.15ms
> p(95) response time 50.28ms
> mean requests/sec   17274.421281

graalvm native quarkus

---- Global Information --------------------------------------------------------
> request count       173751
> min response time   155.86µs
> max response time   289.77ms
> mean response time  24.71ms
> p(90) response time 59.93ms
> p(95) response time 73.54ms
> mean requests/sec   11534.694293

graalvm native micronaut

---- Global Information --------------------------------------------------------
> request count       207547
> min response time   114.24µs
> max response time   201.18ms
> mean response time  21.12ms
> p(90) response time 56.29ms
> p(95) response time 72.24ms
> mean requests/sec   13773.062009

graalvm native spring-boot-web

---- Global Information --------------------------------------------------------
> request count       160212
> min response time   164.25µs
> max response time   316.66ms
> mean response time  26.71ms
> p(90) response time 68.81ms
> p(95) response time 84.58ms
> mean requests/sec   10583.595465

graalvm native spring-boot-webflux

---- Global Information --------------------------------------------------------
> request count       151718
> min response time   158.85µs
> max response time   962.48ms
> mean response time  31.91ms
> p(90) response time 83.25ms
> p(95) response time 109.44ms
> mean requests/sec   10040.603282

graalvm native vertx

---- Global Information --------------------------------------------------------
> request count       230275
> min response time   69.8µs
> max response time   217.55ms
> mean response time  21.68ms
> p(90) response time 54.48ms
> p(95) response time 64.4ms
> mean requests/sec   15275.914744

graalvm native ktor rest service

---- Global Information --------------------------------------------------------
> request count       210234
> min response time   111.34µs
> max response time   1.33s
> mean response time  14.1ms
> p(90) response time 31.82ms
> p(95) response time 39.96ms
> mean requests/sec   13008.218619

GraalVM Native Binaries Sizes:

Size in MB Name
48 quarkus-demo-runner-bin
62 micronaut-demo-bin
67 springboot-demo-web-bin
98 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 ⇅
AVAJE149000125.9µs371.62ms22.18ms55.47ms71.15ms9079.658523
ROBAHO23430065.34µs176.34ms18.16ms44.14ms54.85ms15562.658077
Started DemoWebFluxApplication100255289.34µs734.42ms48.61ms107.67ms145.05ms6625.86147
Started DemoApplication115968236.92µs361.22ms36.16ms81.25ms101.98ms7689.381685
QUARKUS111042290.63µs290.31ms36.35ms80.53ms96.53ms7323.980402
Startup completed in180002134.75µs183.92ms23.28ms49.6ms64.69ms11964.829101
VERTX27870450.01µs177.76ms16.35ms38.15ms51.3ms18527.019959
Server -- Started76744337.28µs456.19ms54.03ms128.37ms159.54ms5050.632069
KTOR18073279.23µs1.37s17.62ms41.64ms51.51ms11249.833421
WARP33633247.24µs152.34ms12.69ms32.85ms40.62ms22373.616456
ACTIX32073440.87µs199.6ms13.4ms37.33ms45.26ms21242.624595
ROCKET29874858.1µs160.46ms13.86ms36.86ms46ms19841.328451
AXUM33549648.45µs169.64ms12.75ms34.21ms42.06ms22307.858344
Dotnet 7 rest service25890990.14µs165.8ms16.84ms42.9ms52.88ms17178.306276
Dotnet 8 rest service26982369.77µs186.29ms15.9ms40.14ms49.36ms17937.53101
Dotnet 9 rest service27808874.7µs172.44ms15.31ms39.62ms48.62ms18449.56985
Golang rest service27976657.97µs172.2ms15.57ms40.85ms50.15ms18485.957644
Express.js rest service72397208.89µs7.03s68.81ms56.83ms60.53ms4505.37065
Bun rest service31716246.95µs129.29ms13.81ms34.15ms44.14ms21087.635799
graalvm native avaje-jex-jdk216169103.92µs2.15s14.36ms31.27ms39.19ms13454.501633
graalvm native avaje-jex-robaho25992759.46µs170.65ms15.98ms41.15ms50.28ms17274.421281
graalvm native quarkus173751155.86µs289.77ms24.71ms59.93ms73.54ms11534.694293
graalvm native micronaut207547114.24µs201.18ms21.12ms56.29ms72.24ms13773.062009
graalvm native spring-boot-web160212164.25µs316.66ms26.71ms68.81ms84.58ms10583.595465
graalvm native spring-boot-webflux151718158.85µs962.48ms31.91ms83.25ms109.44ms10040.603282
graalvm native vertx23027569.8µs217.55ms21.68ms54.48ms64.4ms15275.914744
graalvm native ktor rest service210234111.34µs1.33s14.1ms31.82ms39.96ms13008.218619