diff --git a/pom.xml b/pom.xml index ece25e3..250e453 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,7 @@ modules/cxf-jetty modules/cxf-netty modules/cxf-undertow + csv-merger twopm.tech.bench.jaxrs.Bench diff --git a/readme.md b/readme.md index e0b16e2..adbbdf2 100644 --- a/readme.md +++ b/readme.md @@ -26,3 +26,35 @@ | cxf-jetty | 0.572 s | | cxf-netty | 0.618 s | | cxf-undertow | 0.691 s | + +## JDK performance averages + +| version | libc | jdk | avg(req/sec) | % worse | +| ------- | ---- | ----------------- | ---------------- | ------- | +| 17 | glib | azul@zulu-openjdk | 2652190.57575758 | 0.00% | +| 17 | glib | openjdk | 2563225.91666667 | -3.35% | +| 17 | glib | eclipse-temurin | 2556843.05555556 | -3.60% | +| 11 | musl | azul@zulu-openjdk | 2543225.91666667 | -4.11% | +| 17 | musl | amazoncorretto | 2541763.11111111 | -4.16% | +| 17 | musl | eclipse-temurin | 2531755.72727273 | -4.54% | +| 17 | musl | azul@zulu-openjdk | 2524027.27777778 | -4.83% | +| 17 | glib | amazoncorretto | 2523101.08333333 | -4.87% | +| 11 | glib | amazoncorretto | 2518183.84615385 | -5.05% | +| 11 | musl | amazoncorretto | 2516931.75 | -5.10% | +| 11 | glib | azul@zulu-openjdk | 2513074.48484848 | -5.25% | +| 11 | musl | eclipse-temurin | 2484351.47222222 | -6.33% | +| 11 | glib | eclipse-temurin | 2483621.30555556 | -6.36% | +| 11 | glib | openjdk | 2459857 | -7.25% | +| 17 | musl | openjdk | 2299278 | -13.31% | + +# Rounds + +## Round I + +Run tests with 100 connections. These modules performed as shit: + +- jersey-jdk-http +- jersey-simple-http +- resteasy-jdk-http + +rawnetty is not that representative afterall - no need to loose time. openjdk-11 with alpine kernel failed to start test (not sure 'bout it). diff --git a/scripts/test-all.sh b/scripts/test-all.sh index 29a7b73..800ce67 100755 --- a/scripts/test-all.sh +++ b/scripts/test-all.sh @@ -5,11 +5,11 @@ test () { xterm -e "docker run --rm -it -p 8080:8080 -w /root -v $parentdir/docker/jars/$1:/root $2:$3 java -jar app.jar" & TEST_DOCKER_PID=$! sleep 1 - ./wrk-test.sh $1 $2 $3 12 100 1 + ./wrk-test.sh $1 $2 $3 12 100 20 sleep 1 kill $TEST_DOCKER_PID } -modules=( 'quarkus-resteasy-jackson' 'quarkus-resteasy-jsonb' 'jersey-grizzly2' 'jersey-jdk-http' 'jersey-simple-http' 'jersey-jetty' 'jersey-netty' 'jersey-netty' 'jersey-netty' 'jersey-netty' 'rawnetty' 'jooby-netty' 'jooby-jetty' 'jooby-undertow' 'resteasy-jdk-http' 'resteasy-netty' 'resteasy-reactor-netty' 'resteasy-vertx' 'resteasy-undertow' 'cxf-jetty' 'cxf-netty' 'cxf-undertow' ) +modules=( 'quarkus-resteasy-jackson' 'quarkus-resteasy-jsonb' 'jersey-grizzly2' 'jersey-jdk-http' 'jersey-simple-http' 'jersey-jetty' 'jersey-netty' 'jersey-netty' 'jersey-netty' 'jersey-netty' 'jooby-netty' 'jooby-jetty' 'jooby-undertow' 'resteasy-jdk-http' 'resteasy-netty' 'resteasy-reactor-netty' 'resteasy-vertx' 'resteasy-undertow' 'cxf-jetty' 'cxf-netty' 'cxf-undertow' ) versions=( '11' '17' ) for version in "${versions[@]}" do