In Linux runnervm3jyl0 6.17.0-1015-azure #15~24.04.1-Ubuntu SMP Wed May 6 22:37:49 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux,

Memory Usage: 1363/15989MB (8.52%)
Disk Usage: 58/145GB (41%)
CPU Load: 1.26
CPU core count:4
CPUs
cpu MHz		: 3235.969
cpu MHz		: 3240.930
cpu MHz		: 3244.068
cpu MHz		: 3241.704

Below is total package generation times for separate modules,

[INFO] [INFO] Avaje Jex Example 3.5 .............................. SUCCESS [  0.219 s]
[INFO] [INFO] Avaje Jex Robaho Example 3.5 ....................... SUCCESS [  0.014 s]
[INFO] [INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  0.273 s]
[INFO] [INFO] ktor-demo 3.4.3-kotlin-2.3.21 ...................... SUCCESS [  1.281 s]
[INFO] [INFO] micronaut-demo 5.0.1 ............................... SUCCESS [  1.423 s]
[INFO] [INFO] quarkus-demo 3.34.1 ................................ SUCCESS [  0.833 s]
[INFO] [INFO] springboot-webflux-demo 4.0.6 ...................... SUCCESS [  0.169 s]
[INFO] [INFO] springboot-demo-web 4.0.6 .......................... SUCCESS [  0.041 s]
[INFO] [INFO] vertx-demo 5.0.10 .................................. SUCCESS [  0.069 s]
[INFO] Avaje Jex Example 3.5 .............................. SUCCESS [  2.668 s]
[INFO] Avaje Jex Robaho Example 3.5 ....................... SUCCESS [  2.710 s]
[INFO] eclipse-microprofile-kumuluz-test 4.1.0 ............ SUCCESS [  4.596 s]
[INFO] ktor-demo 3.4.3-kotlin-2.3.21 ...................... SUCCESS [ 11.828 s]
[INFO] micronaut-demo 5.0.1 ............................... SUCCESS [ 24.328 s]
[INFO] quarkus-demo 3.34.1 ................................ SUCCESS [ 13.265 s]
[INFO] springboot-webflux-demo 4.0.6 ...................... SUCCESS [  1.955 s]
[INFO] springboot-demo-web 4.0.6 .......................... SUCCESS [  1.950 s]
[INFO] vertx-demo 5.0.10 .................................. SUCCESS [  4.318 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.4.3-kotlin-2.3.21-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 26ms on TCP http://0:0:0:0:0:0:0:0:8080

---- Global Information --------------------------------------------------------
> request count       172074
> min response time   101.75µs
> max response time   2.3s
> mean response time  20.29ms
> p(90) response time 47.41ms
> p(95) response time 59.67ms
> mean requests/sec   10641.273475

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

---- Global Information --------------------------------------------------------
> request count       250343
> min response time   55.92µs
> max response time   144.78ms
> mean response time  17.08ms
> p(90) response time 42.77ms
> p(95) response time 52.12ms
> mean requests/sec   16593.012649

:: Spring Boot :: (v4.0.6) Started DemoWebFluxApplication in 1.724 seconds (process running for 2.251)

---- Global Information --------------------------------------------------------
> request count       89397
> min response time   251.17µs
> max response time   2.06s
> mean response time  54.73ms
> p(90) response time 108.68ms
> p(95) response time 141.57ms
> mean requests/sec   5897.251008

:: Spring Boot :: (v4.0.6) Started DemoApplication in 1.561 seconds (process running for 2.032)

---- Global Information --------------------------------------------------------
> request count       122644
> min response time   252.65µs
> max response time   331.14ms
> mean response time  34.07ms
> p(90) response time 71.43ms
> p(95) response time 90.33ms
> mean requests/sec   8142.385706

powered by Quarkus 3.34.1) started in 1.214s. Listening on: http://0.0.0.0:8080

---- Global Information --------------------------------------------------------
> request count       105951
> min response time   298.43µs
> max response time   367.88ms
> mean response time  37.5ms
> p(90) response time 82.06ms
> p(95) response time 98ms
> mean requests/sec   7026.52357

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

---- Global Information --------------------------------------------------------
> request count       186344
> min response time   133.85µs
> max response time   184.26ms
> mean response time  23.43ms
> p(90) response time 48.35ms
> p(95) response time 59.76ms
> mean requests/sec   12379.400924

vertx version:5.0.10

---- Global Information --------------------------------------------------------
> request count       282983
> min response time   44.1µs
> max response time   167.7ms
> mean response time  15.9ms
> p(90) response time 38.05ms
> p(95) response time 51.27ms
> mean requests/sec   18808.765273

kumuluz version:4.1.0 Server – Started Server@772861aa{STARTING}[10.0.9,sto=0] @2805ms

---- Global Information --------------------------------------------------------
> request count       76876
> min response time   351.13µs
> max response time   430.66ms
> mean response time  54ms
> p(90) response time 128.35ms
> p(95) response time 158.85ms
> mean requests/sec   5091.608068

ktor:3.4.3

---- Global Information --------------------------------------------------------
> request count       191481
> min response time   88.99µs
> max response time   1.85s
> mean response time  18.36ms
> p(90) response time 40.96ms
> p(95) response time 52.17ms
> mean requests/sec   11342.08077

Rust rest services

rustc 1.95.0 (59807616e 2026-04-14)

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

---- Global Information --------------------------------------------------------
> request count       332722
> min response time   46.45µs
> max response time   137.97ms
> mean response time  12.89ms
> p(90) response time 33.78ms
> p(95) response time 41.69ms
> mean requests/sec   22121.690857

actix-web = 4.9.0

---- Global Information --------------------------------------------------------
> request count       312801
> min response time   45.39µs
> max response time   166.05ms
> mean response time  13.83ms
> p(90) response time 37.88ms
> p(95) response time 46.59ms
> mean requests/sec   20740.587384

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

---- Global Information --------------------------------------------------------
> request count       286798
> min response time   65.96µs
> max response time   207.31ms
> mean response time  14.98ms
> p(90) response time 39.82ms
> p(95) response time 48.15ms
> mean requests/sec   18936.746115

axum = 0.8.1

---- Global Information --------------------------------------------------------
> request count       327940
> min response time   46.42µs
> max response time   147.51ms
> mean response time  13.08ms
> p(90) response time 34.76ms
> p(95) response time 42.92ms
> mean requests/sec   21802.984595

Dotnet 7 rest service

---- Global Information --------------------------------------------------------
> request count       242414
> min response time   85.33µs
> max response time   174.8ms
> mean response time  17.67ms
> p(90) response time 44.52ms
> p(95) response time 53.11ms
> mean requests/sec   16106.168267

Dotnet 8 rest service

---- Global Information --------------------------------------------------------
> request count       266675
> min response time   77.07µs
> max response time   175.83ms
> mean response time  16.2ms
> p(90) response time 40.94ms
> p(95) response time 49.9ms
> mean requests/sec   17723.295751

Dotnet 9 rest service

---- Global Information --------------------------------------------------------
> request count       274205
> min response time   74.17µs
> max response time   167.74ms
> mean response time  15.74ms
> p(90) response time 41.2ms
> p(95) response time 50.55ms
> mean requests/sec   18208.933916

Golang rest service

go version go1.24.13 linux/amd64


Golang rest service

---- Global Information --------------------------------------------------------
> request count       276149
> min response time   59.07µs
> max response time   155.31ms
> mean response time  15.52ms
> p(90) response time 41.65ms
> p(95) response time 51.25ms
> mean requests/sec   18321.596591

Express.js rest service

Node.js v22.22.3


Express.js rest service

---- Global Information --------------------------------------------------------
> request count       71871
> min response time   177.1µs
> max response time   7.04s
> mean response time  69.63ms
> p(90) response time 58.74ms
> p(95) response time 63ms
> mean requests/sec   4489.541786

Bun rest service

Bun 1.3.14


Bun rest service

---- Global Information --------------------------------------------------------
> request count       349279
> min response time   46.32µs
> max response time   154.72ms
> mean response time  13.13ms
> p(90) response time 34.07ms
> p(95) response time 44.64ms
> mean requests/sec   23222.716529

graalvm native avaje-jex-jdk

---- Global Information --------------------------------------------------------
> request count       198191
> min response time   101.29µs
> max response time   1.25s
> mean response time  15.78ms
> p(90) response time 34.29ms
> p(95) response time 43.2ms
> mean requests/sec   12078.945331

graalvm native avaje-jex-robaho

---- Global Information --------------------------------------------------------
> request count       253427
> min response time   74.83µs
> max response time   184.62ms
> mean response time  16.83ms
> p(90) response time 44.32ms
> p(95) response time 57.21ms
> mean requests/sec   16830.537667

graalvm native quarkus

---- Global Information --------------------------------------------------------
> request count       165721
> min response time   161.76µs
> max response time   249.02ms
> mean response time  27.37ms
> p(90) response time 69.58ms
> p(95) response time 86.46ms
> mean requests/sec   10997.028584

graalvm native micronaut

---- Global Information --------------------------------------------------------
> request count       198863
> min response time   109.17µs
> max response time   278.92ms
> mean response time  22.64ms
> p(90) response time 61.66ms
> p(95) response time 81.44ms
> mean requests/sec   13206.851605

graalvm native spring-boot-web

---- Global Information --------------------------------------------------------
> request count       147707
> min response time   169.58µs
> max response time   481.06ms
> mean response time  31.7ms
> p(90) response time 80.73ms
> p(95) response time 115.03ms
> mean requests/sec   9763.558286

graalvm native spring-boot-webflux

---- Global Information --------------------------------------------------------
> request count       144241
> min response time   173.13µs
> max response time   1.07s
> mean response time  34.17ms
> p(90) response time 91.21ms
> p(95) response time 120.4ms
> mean requests/sec   9502.351788

graalvm native vertx

---- Global Information --------------------------------------------------------
> request count       216287
> min response time   67.38µs
> max response time   204.84ms
> mean response time  22.65ms
> p(90) response time 59.22ms
> p(95) response time 72.72ms
> mean requests/sec   14363.923434

graalvm native ktor rest service

---- Global Information --------------------------------------------------------
> request count       187092
> min response time   109.96µs
> max response time   2.31s
> mean response time  18.16ms
> p(90) response time 35.4ms
> p(95) response time 44.78ms
> mean requests/sec   11603.032935

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
54 vertx-demo-bin
63 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 ⇅
AVAJE172074101.75µs2.3s20.29ms47.41ms59.67ms10641.273475
ROBAHO25034355.92µs144.78ms17.08ms42.77ms52.12ms16593.012649
Started DemoWebFluxApplication89397251.17µs2.06s54.73ms108.68ms141.57ms5897.251008
Started DemoApplication122644252.65µs331.14ms34.07ms71.43ms90.33ms8142.385706
QUARKUS105951298.43µs367.88ms37.5ms82.06ms98ms7026.52357
Startup completed in186344133.85µs184.26ms23.43ms48.35ms59.76ms12379.400924
VERTX28298344.1µs167.7ms15.9ms38.05ms51.27ms18808.765273
Server -- Started76876351.13µs430.66ms54ms128.35ms158.85ms5091.608068
KTOR19148188.99µs1.85s18.36ms40.96ms52.17ms11342.08077
WARP33272246.45µs137.97ms12.89ms33.78ms41.69ms22121.690857
ACTIX31280145.39µs166.05ms13.83ms37.88ms46.59ms20740.587384
ROCKET28679865.96µs207.31ms14.98ms39.82ms48.15ms18936.746115
AXUM32794046.42µs147.51ms13.08ms34.76ms42.92ms21802.984595
Dotnet 7 rest service24241485.33µs174.8ms17.67ms44.52ms53.11ms16106.168267
Dotnet 8 rest service26667577.07µs175.83ms16.2ms40.94ms49.9ms17723.295751
Dotnet 9 rest service27420574.17µs167.74ms15.74ms41.2ms50.55ms18208.933916
Golang rest service27614959.07µs155.31ms15.52ms41.65ms51.25ms18321.596591
Express.js rest service71871177.1µs7.04s69.63ms58.74ms63ms4489.541786
Bun rest service34927946.32µs154.72ms13.13ms34.07ms44.64ms23222.716529
graalvm native avaje-jex-jdk198191101.29µs1.25s15.78ms34.29ms43.2ms12078.945331
graalvm native avaje-jex-robaho25342774.83µs184.62ms16.83ms44.32ms57.21ms16830.537667
graalvm native quarkus165721161.76µs249.02ms27.37ms69.58ms86.46ms10997.028584
graalvm native micronaut198863109.17µs278.92ms22.64ms61.66ms81.44ms13206.851605
graalvm native spring-boot-web147707169.58µs481.06ms31.7ms80.73ms115.03ms9763.558286
graalvm native spring-boot-webflux144241173.13µs1.07s34.17ms91.21ms120.4ms9502.351788
graalvm native vertx21628767.38µs204.84ms22.65ms59.22ms72.72ms14363.923434
graalvm native ktor rest service187092109.96µs2.31s18.16ms35.4ms44.78ms11603.032935