From 90e235e123fddbec4feb0dfb87b20480303bac2a Mon Sep 17 00:00:00 2001 From: jj Date: Wed, 21 Jan 2026 18:39:30 +0100 Subject: [PATCH 1/3] Update Robaho httpserver config --- frameworks/Clojure/ring-http-exchange/benchmark_config.json | 2 -- .../ring-http-exchange-robaho-graalvm.dockerfile | 2 +- .../ring-http-exchange-robaho-is.dockerfile | 2 +- .../ring-http-exchange-robaho-semeru.dockerfile | 2 +- .../ring-http-exchange-robaho-zgc.dockerfile | 2 +- .../ring-http-exchange/ring-http-exchange-robaho.dockerfile | 2 +- .../ring-http-exchange/src/ring_http_exchange/benchmark.clj | 2 +- .../src/ring_http_exchange/input_stream_handler.clj | 2 -- .../Java/httpserver/httpserver-robaho-graalvm.dockerfile | 2 +- .../Java/httpserver/httpserver-robaho-postgres.dockerfile | 2 +- frameworks/Java/httpserver/httpserver-robaho.dockerfile | 2 +- .../Java/httpserver/src/main/java/benchmarks/Server.java | 4 ++-- 12 files changed, 11 insertions(+), 15 deletions(-) diff --git a/frameworks/Clojure/ring-http-exchange/benchmark_config.json b/frameworks/Clojure/ring-http-exchange/benchmark_config.json index 1a1b5687f84..d63bf0e554b 100755 --- a/frameworks/Clojure/ring-http-exchange/benchmark_config.json +++ b/frameworks/Clojure/ring-http-exchange/benchmark_config.json @@ -63,8 +63,6 @@ "versus": "ring-http-exchange-robaho" }, "robaho-is": { - "json_url": "/json", - "plaintext_url": "/plaintext", "fortune_url": "/fortunes", "port": 8080, "approach": "Realistic", diff --git a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-graalvm.dockerfile b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-graalvm.dockerfile index 12c278551c7..0cefd507cac 100644 --- a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-graalvm.dockerfile +++ b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-graalvm.dockerfile @@ -11,4 +11,4 @@ COPY --from=lein /ring-http-exchange/target/ring-http-server-1.0.0-standalone.ja EXPOSE 8080 -CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile index 1b1921935ae..80606b6e48e 100644 --- a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile +++ b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile @@ -11,4 +11,4 @@ COPY --from=lein /ring-http-exchange/target/ring-http-server-1.0.0-standalone.ja EXPOSE 8080 -CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-jar", "app.jar", "--inputstream"] +CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-semeru.dockerfile b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-semeru.dockerfile index bffbb459912..c0577fd69eb 100644 --- a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-semeru.dockerfile +++ b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-semeru.dockerfile @@ -11,4 +11,4 @@ COPY --from=lein /ring-http-exchange/target/ring-http-server-1.0.0-standalone.ja EXPOSE 8080 -CMD ["java", "-Xtune:throughput", "-Xgcpolicy:optthruput", "-XX:MaxRAMPercentage=70", "-XX:+UseContainerSupport", "-Dclojure.compiler.direct-linking=true", "-jar", "app.jar"] +CMD ["java", "-Xtune:throughput", "-Xgcpolicy:optthruput", "-XX:MaxRAMPercentage=70", "-XX:+UseContainerSupport", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile index 095040b74d0..80606b6e48e 100644 --- a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile +++ b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile @@ -11,4 +11,4 @@ COPY --from=lein /ring-http-exchange/target/ring-http-server-1.0.0-standalone.ja EXPOSE 8080 -CMD ["java", "-server", "-XX:+UseZGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho.dockerfile b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho.dockerfile index 39f3c752f46..80606b6e48e 100644 --- a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho.dockerfile +++ b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho.dockerfile @@ -11,4 +11,4 @@ COPY --from=lein /ring-http-exchange/target/ring-http-server-1.0.0-standalone.ja EXPOSE 8080 -CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj index 2a0323df233..7e27600b5ca 100644 --- a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj +++ b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj @@ -12,7 +12,7 @@ (def db-spec {:idle-timeout 15000 :max-lifetime 60000 :minimum-idle 0 - :maximum-pool-size 128 + :maximum-pool-size 1024 :jdbcUrl "jdbc:postgresql://tfb-database/hello_world?user=benchmarkdbuser&password=benchmarkdbpass"}) (defn -main diff --git a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj index b61d961a214..095653140c8 100644 --- a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj +++ b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj @@ -35,8 +35,6 @@ (defn get-handler [data-source] (fn [req] (case (req :uri) - "/plaintext" (Response. (ByteArrayInputStream. hello-world-bytes) 200 plain-text-headers) - "/json" (Response. (ByteArrayInputStream. (json/write-value-as-bytes {:message hello-world})) 200 json-headers) "/fortunes" (Response. (get-body data-source) 200 fortune-headers) (Response. (ByteArrayInputStream. hello-world-bytes) 200 {"Server" "ring-http-exchange" "Content-Type" "text/plain"})))) diff --git a/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile b/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile index f6646e3095e..dbaf940d0a3 100644 --- a/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile +++ b/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile @@ -10,4 +10,4 @@ COPY --from=maven /httpserver-robaho/target/httpserver-1.0-jar-with-dependencies EXPOSE 8080 -CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile b/frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile index 0b99cb7fe41..d2025cab410 100644 --- a/frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile +++ b/frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile @@ -10,4 +10,4 @@ COPY --from=maven /httpserver-robaho/target/httpserver-1.0-jar-with-dependencies EXPOSE 8080 -CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-jar", "app.jar", "postgres"] +CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar", "postgres"] diff --git a/frameworks/Java/httpserver/httpserver-robaho.dockerfile b/frameworks/Java/httpserver/httpserver-robaho.dockerfile index 0943f9f7ef2..b52180c4b90 100644 --- a/frameworks/Java/httpserver/httpserver-robaho.dockerfile +++ b/frameworks/Java/httpserver/httpserver-robaho.dockerfile @@ -10,4 +10,4 @@ COPY --from=maven /httpserver-robaho/target/httpserver-1.0-jar-with-dependencies EXPOSE 8080 -CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java b/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java index 0ab7adbfb0e..44f99b77d79 100755 --- a/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java +++ b/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java @@ -58,7 +58,7 @@ private static DataSource createPostgresDataSource() { config.setUsername("benchmarkdbuser"); config.setPassword("benchmarkdbpass"); - config.setMaximumPoolSize(64); + config.setMaximumPoolSize(1024); config.setMinimumIdle(0); config.setConnectionTimeout(1000); @@ -148,7 +148,7 @@ static void main(String[] args) throws Exception { System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "DEBUG"); // create server HttpServer server = HttpServer.create(new InetSocketAddress(port), 1024 * 8); - server.setExecutor(Executors.newVirtualThreadPerTaskExecutor()); + server.setExecutor(Executors.newCachedThreadPool()); server.createContext("/plaintext", createPlaintextHandler()); server.createContext("/json", createJSONHandler()); if (settings.contains("postgres")) { From a0198bec0151d5d620d4b7ccd821e7be1ad93d0c Mon Sep 17 00:00:00 2001 From: jj Date: Wed, 21 Jan 2026 18:54:15 +0100 Subject: [PATCH 2/3] Remove postgress images Verify fortunes along with other tests --- .../Java/httpserver/benchmark_config.json | 40 ++----------------- frameworks/Java/httpserver/config.toml | 30 ++------------ .../httpserver/httpserver-postgres.dockerfile | 13 ------ .../httpserver-robaho-postgres.dockerfile | 13 ------ .../src/main/java/benchmarks/Server.java | 6 +-- 5 files changed, 10 insertions(+), 92 deletions(-) delete mode 100644 frameworks/Java/httpserver/httpserver-postgres.dockerfile delete mode 100644 frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile diff --git a/frameworks/Java/httpserver/benchmark_config.json b/frameworks/Java/httpserver/benchmark_config.json index 16e9cdab907..8d1a127b22b 100755 --- a/frameworks/Java/httpserver/benchmark_config.json +++ b/frameworks/Java/httpserver/benchmark_config.json @@ -4,6 +4,7 @@ { "default": { "json_url": "/json", + "fortune_url": "/fortunes", "plaintext_url": "/plaintext", "port": 8080, "approach": "Realistic", @@ -21,26 +22,9 @@ "notes": "", "versus": "" }, - "postgres": { - "fortune_url": "/fortunes", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "None", - "language": "Java", - "flavor": "None", - "orm": "Raw", - "platform": "httpserver", - "webserver": "None", - "os": "Linux", - "database_os": "Linux", - "display_name": "httpserver-postgres", - "notes": "", - "versus": "" - }, "graalvm": { "json_url": "/json", + "fortune_url": "/fortunes", "plaintext_url": "/plaintext", "port": 8080, "approach": "Realistic", @@ -60,6 +44,7 @@ }, "robaho": { "json_url": "/json", + "fortune_url": "/fortunes", "plaintext_url": "/plaintext", "port": 8080, "approach": "Realistic", @@ -77,26 +62,9 @@ "notes": "", "versus": "" }, - "robaho-postgres": { - "fortune_url": "/fortunes", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "None", - "language": "Java", - "flavor": "None", - "orm": "Raw", - "platform": "httpserver", - "webserver": "None", - "os": "Linux", - "database_os": "Linux", - "display_name": "httpserver-robaho-postgres", - "notes": "", - "versus": "" - }, "robaho-graalvm": { "json_url": "/json", + "fortune_url": "/fortunes", "plaintext_url": "/plaintext", "port": 8080, "approach": "Realistic", diff --git a/frameworks/Java/httpserver/config.toml b/frameworks/Java/httpserver/config.toml index 3531b9e5e9f..fd1bde21c96 100644 --- a/frameworks/Java/httpserver/config.toml +++ b/frameworks/Java/httpserver/config.toml @@ -3,6 +3,7 @@ name = "httpserver" [main] urls.plaintext = "/plaintext" +urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" @@ -14,21 +15,9 @@ platform = "httpserver" webserver = "None" versus = "" -[postgres] -urls.fortune = "/fortunes" -approach = "Realistic" -classification = "Platform" -database = "Postgres" -database_os = "Linux" -os = "Linux" -orm = "Raw" -platform = "httpserver" -webserver = "None" -versus = "" - - [graalvm] urls.plaintext = "/plaintext" +urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" @@ -43,6 +32,7 @@ versus = "httpserver" [robaho] urls.plaintext = "/plaintext" +urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" @@ -55,21 +45,9 @@ webserver = "None" versus = "httpserver" -[robaho-postgres] -urls.fortune = "/fortunes" -approach = "Realistic" -classification = "Platform" -database = "Postgres" -database_os = "Linux" -os = "Linux" -orm = "Raw" -platform = "httpserver" -webserver = "None" -versus = "" - - [robaho-graalvm] urls.plaintext = "/plaintext" +urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" diff --git a/frameworks/Java/httpserver/httpserver-postgres.dockerfile b/frameworks/Java/httpserver/httpserver-postgres.dockerfile deleted file mode 100644 index 6856f3431fa..00000000000 --- a/frameworks/Java/httpserver/httpserver-postgres.dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM maven:3-eclipse-temurin-25-alpine as maven -WORKDIR /httpserver -COPY pom.xml pom.xml -COPY src src -RUN mvn compile assembly:single -q - -FROM amazoncorretto:25 -WORKDIR /httpserver -COPY --from=maven /httpserver/target/httpserver-1.0-jar-with-dependencies.jar app.jar - -EXPOSE 8080 - -CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-XX:+UseNUMA", "-XX:+UseParallelGC", "-jar", "app.jar", "postgres"] diff --git a/frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile b/frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile deleted file mode 100644 index d2025cab410..00000000000 --- a/frameworks/Java/httpserver/httpserver-robaho-postgres.dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM maven:3-eclipse-temurin-25-alpine as maven -WORKDIR /httpserver-robaho -COPY pom.xml pom.xml -COPY src src -RUN mvn compile -P robaho assembly:single -q - -FROM amazoncorretto:25 -WORKDIR /httpserver-robaho -COPY --from=maven /httpserver-robaho/target/httpserver-1.0-jar-with-dependencies.jar app.jar - -EXPOSE 8080 - -CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar", "postgres"] diff --git a/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java b/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java index 44f99b77d79..5d1ceea677e 100755 --- a/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java +++ b/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java @@ -151,10 +151,8 @@ static void main(String[] args) throws Exception { server.setExecutor(Executors.newCachedThreadPool()); server.createContext("/plaintext", createPlaintextHandler()); server.createContext("/json", createJSONHandler()); - if (settings.contains("postgres")) { - DataSource ds = createPostgresDataSource(); - server.createContext("/fortunes", createFortunesHandler(ds)); - } + DataSource ds = createPostgresDataSource(); + server.createContext("/fortunes", createFortunesHandler(ds)); // start server server.start(); } From 82c1ea5ff7b5bf9d7da4559a0b697e470c0c62ed Mon Sep 17 00:00:00 2001 From: jj Date: Wed, 21 Jan 2026 19:02:34 +0100 Subject: [PATCH 3/3] Move zgc test from ring-http-exchange to httpserver update depeendencies for ring-http-exchange --- .../ring-http-exchange/benchmark_config.json | 20 ------------- .../Clojure/ring-http-exchange/config.toml | 14 ---------- .../Clojure/ring-http-exchange/project.clj | 6 ++-- .../ring-http-exchange-robaho-is.dockerfile | 2 +- .../ring-http-exchange-robaho-zgc.dockerfile | 14 ---------- .../src/ring_http_exchange/benchmark.clj | 2 +- .../input_stream_handler.clj | 19 ++++--------- .../src/ring_http_exchange/string_handler.clj | 8 ++---- .../Java/httpserver/benchmark_config.json | 28 ++++++++++++++++--- frameworks/Java/httpserver/config.toml | 22 ++++++++++++--- .../httpserver-robaho-graalvm.dockerfile | 2 +- .../httpserver-robaho-zgc.dockerfile | 13 +++++++++ .../httpserver/httpserver-robaho.dockerfile | 2 +- .../src/main/java/benchmarks/Server.java | 2 +- 14 files changed, 71 insertions(+), 83 deletions(-) delete mode 100644 frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile create mode 100644 frameworks/Java/httpserver/httpserver-robaho-zgc.dockerfile diff --git a/frameworks/Clojure/ring-http-exchange/benchmark_config.json b/frameworks/Clojure/ring-http-exchange/benchmark_config.json index d63bf0e554b..40023ffe9e2 100755 --- a/frameworks/Clojure/ring-http-exchange/benchmark_config.json +++ b/frameworks/Clojure/ring-http-exchange/benchmark_config.json @@ -42,26 +42,6 @@ "notes": "", "versus": "httpserver-robaho" }, - "robaho-zgc": { - "json_url": "/json", - "plaintext_url": "/plaintext", - "fortune_url": "/fortunes", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "postgres", - "framework": "None", - "language": "Clojure", - "flavor": "None", - "orm": "Raw", - "platform": "Ring", - "webserver": "None", - "os": "Linux", - "database_os": "Linux", - "display_name": "ring-http-exchange-robaho-zgc", - "notes": "", - "versus": "ring-http-exchange-robaho" - }, "robaho-is": { "fortune_url": "/fortunes", "port": 8080, diff --git a/frameworks/Clojure/ring-http-exchange/config.toml b/frameworks/Clojure/ring-http-exchange/config.toml index 63c2de94af4..b7428ae7202 100644 --- a/frameworks/Clojure/ring-http-exchange/config.toml +++ b/frameworks/Clojure/ring-http-exchange/config.toml @@ -57,20 +57,6 @@ platform = "httpserver" webserver = "None" versus = "httpserver-robaho-graalvm" -[robaho-zgc] -urls.plaintext = "/plaintext" -urls.json = "/json" -urls.fortune = "/fortunes" -approach = "Realistic" -classification = "Platform" -database = "postgres" -database_os = "Linux" -os = "Linux" -orm = "Raw" -platform = "httpserver" -webserver = "None" -versus = "ring-http-exchange-robaho" - [robaho-is] urls.plaintext = "/plaintext" urls.json = "/json" diff --git a/frameworks/Clojure/ring-http-exchange/project.clj b/frameworks/Clojure/ring-http-exchange/project.clj index a77b16dee62..32770071504 100644 --- a/frameworks/Clojure/ring-http-exchange/project.clj +++ b/frameworks/Clojure/ring-http-exchange/project.clj @@ -6,11 +6,11 @@ :dependencies [[org.clojure/clojure "1.12.3"] [org.clojure/tools.logging "1.3.0"] - [org.clojars.jj/ring-http-exchange "1.2.14"] + [org.clojars.jj/ring-http-exchange "1.2.16"] [seancorfield/next.jdbc "1.2.659"] - [org.clojars.jj/majavat "1.15.1"] + [org.clojars.jj/majavat "1.18.0"] [hikari-cp "3.3.0"] - [org.clojars.jj/boa-sql "1.0.0"] + [org.clojars.jj/boa-sql "1.0.1"] [org.postgresql/postgresql "42.7.8"] [metosin/jsonista "0.3.13"] ] diff --git a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile index 80606b6e48e..edf425a4786 100644 --- a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile +++ b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-is.dockerfile @@ -11,4 +11,4 @@ COPY --from=lein /ring-http-exchange/target/ring-http-server-1.0.0-standalone.ja EXPOSE 8080 -CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar", "--inputstream"] diff --git a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile b/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile deleted file mode 100644 index 80606b6e48e..00000000000 --- a/frameworks/Clojure/ring-http-exchange/ring-http-exchange-robaho-zgc.dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM clojure:lein as lein -WORKDIR /ring-http-exchange -COPY project.clj project.clj -COPY resources resources -COPY src src -RUN lein with-profile robaho uberjar - -FROM amazoncorretto:25 -WORKDIR /ring-http-exchange -COPY --from=lein /ring-http-exchange/target/ring-http-server-1.0.0-standalone.jar app.jar - -EXPOSE 8080 - -CMD ["java", "-server", "-XX:+UseParallelGC", "-XX:MaxRAMPercentage=70", "-Dclojure.compiler.direct-linking=true", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] diff --git a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj index 7e27600b5ca..ca1b5fbab16 100644 --- a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj +++ b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/benchmark.clj @@ -13,7 +13,7 @@ :max-lifetime 60000 :minimum-idle 0 :maximum-pool-size 1024 - :jdbcUrl "jdbc:postgresql://tfb-database/hello_world?user=benchmarkdbuser&password=benchmarkdbpass"}) + :jdbcUrl "jdbc:postgresql://tfb-database/hello_world?user=benchmarkdbuser&password=benchmarkdbpass&tlsnowait=true"}) (defn -main [& args] diff --git a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj index 095653140c8..3104ce56b7c 100644 --- a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj +++ b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/input_stream_handler.clj @@ -2,29 +2,22 @@ (:require [jj.majavat :as majavat] [jj.majavat.renderer :refer [->InputStreamRenderer]] - [jj.majavat.renderer.sanitizer :refer [->Html]] - [jj.sql.boa :as boa] - [jsonista.core :as json]) + [jj.sql.boa :as boa]) (:import (java.io ByteArrayInputStream))) (defrecord Response [body status headers]) -(def query-fortunes (boa/execute (boa/->NextJdbcAdapter) "fortune.sql")) +(def query-fortunes (boa/build-query (boa/->NextJdbcAdapter) "fortune.sql")) -(def ^:private hello-world "Hello, World!") (def ^:private hello-world-bytes (.getBytes "Hello, World!")) (def ^:private ^:const additional-message {:id 0 :message "Additional fortune added at request time."}) (def ^:private ^:const fortune-headers {"Server" "ring-http-exchange" "Content-Type" "text/html; charset=UTF-8"}) -(def ^:private ^:const json-headers {"Server" "ring-http-exchange" - "Content-Type" "application/json"}) -(def ^:private ^:const plain-text-headers {"Server" "ring-http-exchange" - "Content-Type" "text/plain"}) - -(def ^:private render-fortune (majavat/build-renderer "fortune.html" - {:renderer (->InputStreamRenderer - {:sanitizer (->Html)})})) + + +(def ^:private render-fortune (majavat/build-html-renderer "fortune.html" + {:renderer (->InputStreamRenderer)})) (defn- get-body [datasource] (let [context (as-> (query-fortunes datasource) fortunes diff --git a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/string_handler.clj b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/string_handler.clj index 8d10caaf553..55bd41f9250 100644 --- a/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/string_handler.clj +++ b/frameworks/Clojure/ring-http-exchange/src/ring_http_exchange/string_handler.clj @@ -1,14 +1,12 @@ (ns ring-http-exchange.string-handler (:require [jj.majavat :as majavat] - [jj.majavat.renderer :refer [->StringRenderer]] - [jj.majavat.renderer.sanitizer :refer [->Html]] [jj.sql.boa :as boa] [jsonista.core :as json])) (defrecord Response [body status headers]) -(def query-fortunes (boa/execute (boa/->NextJdbcAdapter) "fortune.sql")) +(def query-fortunes (boa/build-query (boa/->NextJdbcAdapter) "fortune.sql")) (def ^:private ^:const hello-world "Hello, World!") (def ^:private ^:const additional-message {:id 0 @@ -20,9 +18,7 @@ (def ^:private ^:const plain-text-headers {"Server" "ring-http-exchange" "Content-Type" "text/plain"}) -(def ^:private render-fortune (majavat/build-renderer "fortune.html" - {:renderer (->StringRenderer - {:sanitizer (->Html)})})) +(def ^:private render-fortune (majavat/build-html-renderer "fortune.html")) (defn- get-body [datasource] (let [context (as-> (query-fortunes datasource) fortunes diff --git a/frameworks/Java/httpserver/benchmark_config.json b/frameworks/Java/httpserver/benchmark_config.json index 8d1a127b22b..18fae39ed77 100755 --- a/frameworks/Java/httpserver/benchmark_config.json +++ b/frameworks/Java/httpserver/benchmark_config.json @@ -9,7 +9,7 @@ "port": 8080, "approach": "Realistic", "classification": "Platform", - "database": "None", + "database": "postgres", "framework": "None", "language": "Java", "flavor": "None", @@ -29,7 +29,7 @@ "port": 8080, "approach": "Realistic", "classification": "Platform", - "database": "None", + "database": "postgres", "framework": "None", "language": "Java", "flavor": "None", @@ -49,7 +49,27 @@ "port": 8080, "approach": "Realistic", "classification": "Platform", - "database": "None", + "database": "postgres", + "framework": "None", + "language": "Java", + "flavor": "None", + "orm": "Raw", + "platform": "httpserver", + "webserver": "None", + "os": "Linux", + "database_os": "Linux", + "display_name": "httpserver-robaho", + "notes": "", + "versus": "" + }, + "robaho-zgc": { + "json_url": "/json", + "fortune_url": "/fortunes", + "plaintext_url": "/plaintext", + "port": 8080, + "approach": "Realistic", + "classification": "Platform", + "database": "postgres", "framework": "None", "language": "Java", "flavor": "None", @@ -69,7 +89,7 @@ "port": 8080, "approach": "Realistic", "classification": "Platform", - "database": "None", + "database": "postgres", "framework": "None", "language": "Java", "flavor": "None", diff --git a/frameworks/Java/httpserver/config.toml b/frameworks/Java/httpserver/config.toml index fd1bde21c96..89c15ee1938 100644 --- a/frameworks/Java/httpserver/config.toml +++ b/frameworks/Java/httpserver/config.toml @@ -7,7 +7,7 @@ urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" -database = "None" +database = "postgres" database_os = "Linux" os = "Linux" orm = "Raw" @@ -21,7 +21,7 @@ urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" -database = "None" +database = "postgres" database_os = "Linux" os = "Linux" orm = "Raw" @@ -36,7 +36,7 @@ urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" -database = "None" +database = "postgres" database_os = "Linux" os = "Linux" orm = "Raw" @@ -51,10 +51,24 @@ urls.fortune = "/fortunes" urls.json = "/json" approach = "Realistic" classification = "Platform" -database = "None" +database = "postgres" database_os = "Linux" os = "Linux" orm = "Raw" platform = "httpserver" webserver = "None" versus = "httpserver-robaho" + +[robaho-zgc] +urls.plaintext = "/plaintext" +urls.fortune = "/fortunes" +urls.json = "/json" +approach = "Realistic" +classification = "Platform" +database = "postgres" +database_os = "Linux" +os = "Linux" +orm = "Raw" +platform = "httpserver" +webserver = "None" +versus = "httpserver" diff --git a/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile b/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile index dbaf940d0a3..8860a71d0bd 100644 --- a/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile +++ b/frameworks/Java/httpserver/httpserver-robaho-graalvm.dockerfile @@ -10,4 +10,4 @@ COPY --from=maven /httpserver-robaho/target/httpserver-1.0-jar-with-dependencies EXPOSE 8080 -CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-XX:+UseParallelGC", "-jar", "app.jar"] diff --git a/frameworks/Java/httpserver/httpserver-robaho-zgc.dockerfile b/frameworks/Java/httpserver/httpserver-robaho-zgc.dockerfile new file mode 100644 index 00000000000..5363d93850b --- /dev/null +++ b/frameworks/Java/httpserver/httpserver-robaho-zgc.dockerfile @@ -0,0 +1,13 @@ +FROM maven:3-eclipse-temurin-25-alpine as maven +WORKDIR /httpserver-robaho +COPY pom.xml pom.xml +COPY src src +RUN mvn compile -P robaho assembly:single -q + +FROM amazoncorretto:25 +WORKDIR /httpserver-robaho +COPY --from=maven /httpserver-robaho/target/httpserver-1.0-jar-with-dependencies.jar app.jar + +EXPOSE 8080 + +CMD ["java", "-server", "-XX:+UseZGC", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] \ No newline at end of file diff --git a/frameworks/Java/httpserver/httpserver-robaho.dockerfile b/frameworks/Java/httpserver/httpserver-robaho.dockerfile index b52180c4b90..d8ab493ec98 100644 --- a/frameworks/Java/httpserver/httpserver-robaho.dockerfile +++ b/frameworks/Java/httpserver/httpserver-robaho.dockerfile @@ -10,4 +10,4 @@ COPY --from=maven /httpserver-robaho/target/httpserver-1.0-jar-with-dependencies EXPOSE 8080 -CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-jar", "app.jar"] +CMD ["java", "-server", "-XX:MaxRAMPercentage=70", "-Drobaho.net.httpserver.nodelay=true", "-XX:+UseParallelGC", "-jar", "app.jar"] diff --git a/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java b/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java index 5d1ceea677e..27ca4729638 100755 --- a/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java +++ b/frameworks/Java/httpserver/src/main/java/benchmarks/Server.java @@ -54,7 +54,7 @@ private static List queryFortunes(DataSource ds) throws SQLException { private static DataSource createPostgresDataSource() { HikariConfig config = new HikariConfig(); - config.setJdbcUrl("jdbc:postgresql://tfb-database:5432/hello_world"); + config.setJdbcUrl("jdbc:postgresql://tfb-database:5432/hello_world?tlsnowait=true"); config.setUsername("benchmarkdbuser"); config.setPassword("benchmarkdbpass");