Browse Source

[ Kotlin / Hexagon ] Update version and add Nima adapter (#8316)

* Fix error with URLs in JEE servers

* Clean up

* Avoid classpath URLs

* Fix template loading error

* Fix template loading error

* Chores

* Fix template loading error

* Delete MongoDB DB support

Storage support in Hexagon will be moved outside the Toolkit, and so, it will be left outside the benchmark.

* Fix runtime problem

* Update Hexagon version

* Make Jackson Blackbird module optional

* Add variation with Blackbird module enabled

* Upgrade Hexagon version

* Enable blackbird Jackson module by default

* Update dependencies

* Use Hexagon version 2.0.0-B1 (and a little cleanup)

* Use Hexagon version 2.0.0-B1 (and a little cleanup)

* Use Tomcat instead Resin to test JEE integration

* Remove unused environment variable

* Clean Tomcat dockerfile

* Minor improvements

* Minor improvements

* Update to release version

* Update to the latest Hexagon release

* Add Netty adapter test

* Remove Gradle Wrapper

* Update version

* Update version

* Minimize template

* Skip Hexagon checks in the container

* Add Netty Epoll benchmark

* Database and template improvements

* Update Hexagon version

* Update Hexagon version

* Update DB settings

* Use a single store and template engine to simplify benchmark

* Bump mysql-connector-java in /frameworks/Java/wicket

Bumps [mysql-connector-java](https://github.com/mysql/mysql-connector-j) from 8.0.27 to 8.0.28.
- [Release notes](https://github.com/mysql/mysql-connector-j/releases)
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.0/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/compare/8.0.27...8.0.28)

---
updated-dependencies:
- dependency-name: mysql:mysql-connector-java
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump mongodb-driver-sync from 4.2.0 to 4.2.1 in /frameworks/Java/javalin

Bumps [mongodb-driver-sync](https://github.com/mongodb/mongo-java-driver) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/mongodb/mongo-java-driver/releases)
- [Commits](https://github.com/mongodb/mongo-java-driver/compare/r4.2.0...r4.2.1)

---
updated-dependencies:
- dependency-name: org.mongodb:mongodb-driver-sync
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.2.0 to 5.4.0 in /frameworks/Python/starlette

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.2.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.2.0 to 5.4.0 in /frameworks/Python/django

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.2.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.2.0 to 5.4.0 in /frameworks/Python/routerling

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.2.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.2.0 to 5.4.0 in /frameworks/Python/japronto

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.2.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.2.0 to 5.4.0 in /frameworks/Python/fastapi

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.2.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.2.0 to 5.4.0 in /frameworks/Python/uvicorn

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.2.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.2.0 to 5.4.0 in /frameworks/Python/flask

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.2.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ujson from 5.1 to 5.4.0 in /frameworks/Python/aiohttp

Bumps [ujson](https://github.com/ultrajson/ultrajson) from 5.1 to 5.4.0.
- [Release notes](https://github.com/ultrajson/ultrajson/releases)
- [Commits](https://github.com/ultrajson/ultrajson/compare/5.1.0...5.4.0)

---
updated-dependencies:
- dependency-name: ujson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump rails-html-sanitizer from 1.4.2 to 1.4.3 in /frameworks/Ruby/rails

Bumps [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/rails/rails-html-sanitizer/releases)
- [Changelog](https://github.com/rails/rails-html-sanitizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/rails-html-sanitizer/compare/v1.4.2...v1.4.3)

---
updated-dependencies:
- dependency-name: rails-html-sanitizer
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump jetty-server in /frameworks/Java/jetty

Bumps [jetty-server](https://github.com/eclipse/jetty.project) from 9.4.41.v20210516 to 10.0.10.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.41.v20210516...jetty-10.0.10)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump undertow-core in /frameworks/Java/undertow

Bumps [undertow-core](https://github.com/undertow-io/undertow) from 2.2.11.Final to 2.2.15.Final.
- [Release notes](https://github.com/undertow-io/undertow/releases)
- [Commits](https://github.com/undertow-io/undertow/compare/2.2.11.Final...2.2.15.Final)

---
updated-dependencies:
- dependency-name: io.undertow:undertow-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update versions

* Update README.md

* Bump sanic from 22.3.1 to 22.6.1 in /frameworks/Python/sanic

Bumps [sanic](https://github.com/sanic-org/sanic) from 22.3.1 to 22.6.1.
- [Release notes](https://github.com/sanic-org/sanic/releases)
- [Changelog](https://github.com/sanic-org/sanic/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/sanic-org/sanic/compare/v22.3.1...v22.6.1)

---
updated-dependencies:
- dependency-name: sanic
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/light-java

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/rapidoid

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/jooby

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/servlet

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/spring-webflux

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/smart-socket

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/act

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Kotlin/kooby

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/dropwizard

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.3.3 to 42.4.1 in /frameworks/Java/hserver

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.4.0 to 42.4.1 in /frameworks/Java/undertow

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.4.0 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.4.0...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump postgresql from 42.2.23 to 42.4.1 in /frameworks/Kotlin/ktor/ktor

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.2.23 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.2.23...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update dependencies

* Bump undertow-core in /frameworks/Java/light-java

Bumps [undertow-core](https://github.com/undertow-io/undertow) from 2.2.15.Final to 2.2.19.Final.
- [Release notes](https://github.com/undertow-io/undertow/releases)
- [Commits](https://github.com/undertow-io/undertow/compare/2.2.15.Final...2.2.19.Final)

---
updated-dependencies:
- dependency-name: io.undertow:undertow-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump undertow-core in /frameworks/Java/undertow

Bumps [undertow-core](https://github.com/undertow-io/undertow) from 2.2.18.Final to 2.2.19.Final.
- [Release notes](https://github.com/undertow-io/undertow/releases)
- [Commits](https://github.com/undertow-io/undertow/compare/2.2.18.Final...2.2.19.Final)

---
updated-dependencies:
- dependency-name: io.undertow:undertow-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Delete Gradle Wrapper

* Use different JSON serializer

* Restore non Hexagon files

* Update Hexagon version

* Run pipeline

* Run pipeline

* Bump axum-core from 0.2.7 to 0.2.8 in /frameworks/Rust/axum

Bumps [axum-core](https://github.com/tokio-rs/axum) from 0.2.7 to 0.2.8.
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-core-v0.2.7...axum-core-v0.2.8)

---
updated-dependencies:
- dependency-name: axum-core
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Revert "Bump axum-core from 0.2.7 to 0.2.8 in /frameworks/Rust/axum"

This reverts commit 4422de8915e70cdca67a07c2e0fdb0610757924b.

* Version updates, code refactor and new benchmark cases

* Version updates

* Version updates

* Version updates

* [Hexagon] Refactor and updates:

* Update Hexagon version
* Use Rocker template
* Modularize the different scenarios

* Fix connection problems

* Update Hexagon

* Update Gradle

* Update dependencies

* Update Hexagon version

* Update Gradle Wrapper

* Add async and native support

* Add async and native support

* Add async and native support

* Replace Vert.x adapter by Netty Epoll Async adapter

* Replace Vert.x adapter by Netty Epoll Async adapter

* Replace Vert.x adapter by Netty Epoll Async adapter

* Replace Vert.x adapter by Netty Epoll Async adapter

* Replace Vert.x adapter by Netty Epoll Async adapter

* Add Jasync store

* Add Jasync store

* Update

* Update

* Update

* Update Gradle

* Benchmark Netty Epoll only

* Add Nima adapter

* Update container builds

* Fix missing endpoints

* Fix Nima benchmarks

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Juanjo Aguililla 2 years ago
parent
commit
d01436441b
28 changed files with 133 additions and 222 deletions
  1. 15 34
      frameworks/Kotlin/hexagon/benchmark_config.json
  2. 5 5
      frameworks/Kotlin/hexagon/build.gradle
  3. 9 27
      frameworks/Kotlin/hexagon/config.toml
  4. BIN
      frameworks/Kotlin/hexagon/gradle/wrapper/gradle-wrapper.jar
  5. 2 1
      frameworks/Kotlin/hexagon/gradle/wrapper/gradle-wrapper.properties
  6. 4 1
      frameworks/Kotlin/hexagon/gradlew
  7. 0 21
      frameworks/Kotlin/hexagon/hexagon-jetty-native.dockerfile
  8. 1 1
      frameworks/Kotlin/hexagon/hexagon-jettyloom-pgclient.dockerfile
  9. 1 1
      frameworks/Kotlin/hexagon/hexagon-jettyloom.dockerfile
  10. 0 23
      frameworks/Kotlin/hexagon/hexagon-netty-async-pgclient.dockerfile
  11. 0 21
      frameworks/Kotlin/hexagon/hexagon-netty-native.dockerfile
  12. 0 23
      frameworks/Kotlin/hexagon/hexagon-netty.dockerfile
  13. 1 1
      frameworks/Kotlin/hexagon/hexagon-nettyepoll-async-pgclient.dockerfile
  14. 1 1
      frameworks/Kotlin/hexagon/hexagon-nettyepoll-pgclient.dockerfile
  15. 1 1
      frameworks/Kotlin/hexagon/hexagon-nettyepoll.dockerfile
  16. 23 0
      frameworks/Kotlin/hexagon/hexagon-nima-pgclient.dockerfile
  17. 23 0
      frameworks/Kotlin/hexagon/hexagon-nima.dockerfile
  18. 1 1
      frameworks/Kotlin/hexagon/hexagon-tomcat.dockerfile
  19. 1 1
      frameworks/Kotlin/hexagon/hexagon.dockerfile
  20. 0 7
      frameworks/Kotlin/hexagon/hexagon_netty_async_pgclient/build.gradle
  21. 0 25
      frameworks/Kotlin/hexagon/hexagon_netty_async_pgclient/src/main/kotlin/Benchmark.kt
  22. 0 24
      frameworks/Kotlin/hexagon/hexagon_netty_postgresql/src/main/kotlin/Benchmark.kt
  23. 1 0
      frameworks/Kotlin/hexagon/hexagon_nettyepoll_postgresql/build.gradle
  24. 7 0
      frameworks/Kotlin/hexagon/hexagon_nima_pgclient/build.gradle
  25. 17 0
      frameworks/Kotlin/hexagon/hexagon_nima_pgclient/src/main/kotlin/Benchmark.kt
  26. 1 1
      frameworks/Kotlin/hexagon/hexagon_nima_postgresql/build.gradle
  27. 17 0
      frameworks/Kotlin/hexagon/hexagon_nima_postgresql/src/main/kotlin/Benchmark.kt
  28. 2 2
      frameworks/Kotlin/hexagon/settings.gradle

+ 15 - 34
frameworks/Kotlin/hexagon/benchmark_config.json

@@ -49,11 +49,13 @@
                 "versus": "servlet"
             },
             "jettyloom-pgclient": {
+                "json_url": "/json",
                 "db_url": "/db",
                 "query_url": "/query?queries=",
                 "fortune_url": "/fortunes",
                 "update_url": "/update?queries=",
                 "cached_query_url": "/cached-queries?count=",
+                "plaintext_url": "/plaintext",
                 "port": 9090,
                 "approach": "Realistic",
                 "classification": "Micro",
@@ -69,7 +71,7 @@
                 "notes": "http://hexagonkt.com",
                 "versus": "servlet"
             },
-            "netty": {
+            "nettyepoll": {
                 "json_url": "/json",
                 "db_url": "/db",
                 "query_url": "/query?queries=",
@@ -88,11 +90,11 @@
                 "webserver": "None",
                 "os": "Linux",
                 "database_os": "Linux",
-                "display_name": "Hexagon Netty PostgreSQL",
+                "display_name": "Hexagon Netty Epoll PostgreSQL",
                 "notes": "http://hexagonkt.com",
                 "versus": "netty"
             },
-            "nettyepoll": {
+            "nettyepoll-async-pgclient": {
                 "json_url": "/json",
                 "db_url": "/db",
                 "query_url": "/query?queries=",
@@ -111,32 +113,11 @@
                 "webserver": "None",
                 "os": "Linux",
                 "database_os": "Linux",
-                "display_name": "Hexagon Netty Epoll PostgreSQL",
+                "display_name": "Hexagon Netty Epoll Async PgClient",
                 "notes": "http://hexagonkt.com",
                 "versus": "netty"
             },
             "nettyepoll-pgclient": {
-                "db_url": "/db",
-                "query_url": "/query?queries=",
-                "fortune_url": "/fortunes",
-                "update_url": "/update?queries=",
-                "cached_query_url": "/cached-queries?count=",
-                "port": 9090,
-                "approach": "Realistic",
-                "classification": "Micro",
-                "database": "postgres",
-                "framework": "Hexagon",
-                "language": "Kotlin",
-                "orm": "Raw",
-                "platform": "Netty",
-                "webserver": "None",
-                "os": "Linux",
-                "database_os": "Linux",
-                "display_name": "Hexagon Netty Epoll PgClient",
-                "notes": "http://hexagonkt.com",
-                "versus": "netty"
-            },
-            "netty-native": {
                 "json_url": "/json",
                 "db_url": "/db",
                 "query_url": "/query?queries=",
@@ -155,11 +136,11 @@
                 "webserver": "None",
                 "os": "Linux",
                 "database_os": "Linux",
-                "display_name": "Hexagon Netty Native PostgreSQL",
+                "display_name": "Hexagon Netty Epoll PgClient",
                 "notes": "http://hexagonkt.com",
                 "versus": "netty"
             },
-            "netty-async-pgclient": {
+            "nima": {
                 "json_url": "/json",
                 "db_url": "/db",
                 "query_url": "/query?queries=",
@@ -174,15 +155,15 @@
                 "framework": "Hexagon",
                 "language": "Kotlin",
                 "orm": "Raw",
-                "platform": "Netty",
+                "platform": "Helidon",
                 "webserver": "None",
                 "os": "Linux",
                 "database_os": "Linux",
-                "display_name": "Hexagon Netty Async PgClient",
+                "display_name": "Hexagon Nima PostgreSQL",
                 "notes": "http://hexagonkt.com",
-                "versus": "netty"
+                "versus": "helidon-nima"
             },
-            "nettyepoll-async-pgclient": {
+            "nima-pgclient": {
                 "json_url": "/json",
                 "db_url": "/db",
                 "query_url": "/query?queries=",
@@ -197,13 +178,13 @@
                 "framework": "Hexagon",
                 "language": "Kotlin",
                 "orm": "Raw",
-                "platform": "Netty",
+                "platform": "Helidon",
                 "webserver": "None",
                 "os": "Linux",
                 "database_os": "Linux",
-                "display_name": "Hexagon Vertx PgClient",
+                "display_name": "Hexagon Nima PgClient",
                 "notes": "http://hexagonkt.com",
-                "versus": "netty"
+                "versus": "helidon-nima"
             },
             "tomcat": {
                 "json_url": "/json",

+ 5 - 5
frameworks/Kotlin/hexagon/build.gradle

@@ -1,7 +1,7 @@
 
 plugins {
-    id "org.jetbrains.kotlin.jvm" version "1.8.22" apply false
-    id "org.graalvm.buildtools.native" version "0.9.22" apply false
+    id "org.jetbrains.kotlin.jvm" version "1.9.0" apply false
+    id "org.graalvm.buildtools.native" version "0.9.23" apply false
 }
 
 version = "1.0.0"
@@ -9,13 +9,13 @@ description = "TFB benchmark"
 group = "com.hexagonkt"
 
 ext {
-    hexagonVersion = "3.0.0-B3"
+    hexagonVersion = "3.0.0-B8"
     jettyVersion = "11.0.15"
-    nettyVersion = "4.1.93.Final"
+    nettyVersion = "4.1.94.Final"
 
     hikariVersion = "5.0.1"
     postgresqlVersion = "42.6.0"
-    vertxVersion = "4.4.3"
+    vertxVersion = "4.4.4"
     cache2kVersion = "2.6.1.Final"
 
     applicationClass = "com.hexagonkt.BenchmarkKt"

+ 9 - 27
frameworks/Kotlin/hexagon/config.toml

@@ -55,7 +55,7 @@ platform = "Servlet"
 webserver = "None"
 versus = "servlet"
 
-[netty]
+[nettyepoll]
 urls.plaintext = "/plaintext"
 urls.json = "/json"
 urls.db = "/db"
@@ -73,7 +73,7 @@ platform = "Netty"
 webserver = "None"
 versus = "netty"
 
-[netty-native]
+[nettyepoll-async-pgclient]
 urls.plaintext = "/plaintext"
 urls.json = "/json"
 urls.db = "/db"
@@ -91,7 +91,7 @@ platform = "Netty"
 webserver = "None"
 versus = "netty"
 
-[nettyepoll]
+[nettyepoll-pgclient]
 urls.plaintext = "/plaintext"
 urls.json = "/json"
 urls.db = "/db"
@@ -109,7 +109,7 @@ platform = "Netty"
 webserver = "None"
 versus = "netty"
 
-[nettyepoll-pgclient]
+[nima]
 urls.plaintext = "/plaintext"
 urls.json = "/json"
 urls.db = "/db"
@@ -123,11 +123,11 @@ database = "postgres"
 database_os = "Linux"
 os = "Linux"
 orm = "Raw"
-platform = "Netty"
+platform = "Helidon"
 webserver = "None"
-versus = "netty"
+versus = "helidon-nima"
 
-[nettyepoll-async-pgclient]
+[nima-pgclient]
 urls.plaintext = "/plaintext"
 urls.json = "/json"
 urls.db = "/db"
@@ -141,9 +141,9 @@ database = "postgres"
 database_os = "Linux"
 os = "Linux"
 orm = "Raw"
-platform = "Netty"
+platform = "Helidon"
 webserver = "None"
-versus = "netty"
+versus = "helidon-nima"
 
 [tomcat]
 urls.plaintext = "/plaintext"
@@ -162,21 +162,3 @@ orm = "Raw"
 platform = "Servlet"
 webserver = "Tomcat"
 versus = "servlet"
-
-[nettyepoll-async-pgclient]
-urls.plaintext = "/plaintext"
-urls.json = "/json"
-urls.db = "/db"
-urls.query = "/query?queries="
-urls.update = "/update?queries="
-urls.fortune = "/fortunes"
-urls.cached_query = "/cached-queries?count="
-approach = "Realistic"
-classification = "Micro"
-database = "postgres"
-database_os = "Linux"
-os = "Linux"
-orm = "Raw"
-platform = "Netty"
-webserver = "None"
-versus = "netty"

BIN
frameworks/Kotlin/hexagon/gradle/wrapper/gradle-wrapper.jar


+ 2 - 1
frameworks/Kotlin/hexagon/gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +1,7 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https://services.gradle.org/distributions/gradle-8.1.1-bin.zip
+distributionUrl=https://services.gradle.org/distributions/gradle-8.2.1-bin.zip
 networkTimeout=10000
+validateDistributionUrl=true
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

+ 4 - 1
frameworks/Kotlin/hexagon/gradlew

@@ -130,10 +130,13 @@ location of your Java installation."
     fi
 else
     JAVACMD=java
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+    if ! command -v java >/dev/null 2>&1
+    then
+        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 
 Please set the JAVA_HOME variable in your environment to match the
 location of your Java installation."
+    fi
 fi
 
 # Increase the maximum file descriptors if we can.

+ 0 - 21
frameworks/Kotlin/hexagon/hexagon-jetty-native.dockerfile

@@ -1,21 +0,0 @@
-#
-# BUILD
-#
-FROM ghcr.io/graalvm/native-image:ol9-java17-22.3.2 as build
-USER root
-WORKDIR /hexagon
-
-ADD . .
-RUN microdnf -y install findutils
-RUN ./gradlew --quiet classes
-RUN ./gradlew --quiet -x test nativeCompile
-
-#
-# RUNTIME
-#
-FROM scratch
-ARG PROJECT=hexagon_jetty_postgresql
-
-COPY --from=build /hexagon/$PROJECT/build/native/nativeCompile/$PROJECT /
-
-ENTRYPOINT [ "/hexagon_jetty_postgresql" ]

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon-jettyloom-pgclient.dockerfile

@@ -1,7 +1,7 @@
 #
 # BUILD
 #
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
 USER root
 WORKDIR /hexagon
 

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon-jettyloom.dockerfile

@@ -1,7 +1,7 @@
 #
 # BUILD
 #
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
 USER root
 WORKDIR /hexagon
 

+ 0 - 23
frameworks/Kotlin/hexagon/hexagon-netty-async-pgclient.dockerfile

@@ -1,23 +0,0 @@
-#
-# BUILD
-#
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
-USER root
-WORKDIR /hexagon
-
-ADD . .
-RUN gradle --quiet classes
-RUN gradle --quiet -x test installDist
-
-#
-# RUNTIME
-#
-FROM docker.io/eclipse-temurin:17-jre-alpine
-ARG PROJECT=hexagon_netty_async_pgclient
-
-ENV POSTGRESQL_DB_HOST tfb-database
-ENV JDK_JAVA_OPTIONS -XX:+AlwaysPreTouch -XX:+UseParallelGC -XX:+UseNUMA
-
-COPY --from=build /hexagon/$PROJECT/build/install/$PROJECT /opt/$PROJECT
-
-ENTRYPOINT [ "/opt/hexagon_netty_async_pgclient/bin/hexagon_netty_async_pgclient" ]

+ 0 - 21
frameworks/Kotlin/hexagon/hexagon-netty-native.dockerfile

@@ -1,21 +0,0 @@
-#
-# BUILD
-#
-FROM ghcr.io/graalvm/native-image:ol9-java17-22.3.2 as build
-USER root
-WORKDIR /hexagon
-
-ADD . .
-RUN microdnf -y install findutils
-RUN ./gradlew --quiet classes
-RUN ./gradlew --quiet -x test nativeCompile
-
-#
-# RUNTIME
-#
-FROM scratch
-ARG PROJECT=hexagon_netty_postgresql
-
-COPY --from=build /hexagon/$PROJECT/build/native/nativeCompile/$PROJECT /
-
-ENTRYPOINT [ "/hexagon_netty_postgresql" ]

+ 0 - 23
frameworks/Kotlin/hexagon/hexagon-netty.dockerfile

@@ -1,23 +0,0 @@
-#
-# BUILD
-#
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
-USER root
-WORKDIR /hexagon
-
-ADD . .
-RUN gradle --quiet classes
-RUN gradle --quiet -x test installDist
-
-#
-# RUNTIME
-#
-FROM docker.io/eclipse-temurin:17-jre-alpine
-ARG PROJECT=hexagon_netty_postgresql
-
-ENV POSTGRESQL_DB_HOST tfb-database
-ENV JDK_JAVA_OPTIONS -XX:+AlwaysPreTouch -XX:+UseParallelGC -XX:+UseNUMA
-
-COPY --from=build /hexagon/$PROJECT/build/install/$PROJECT /opt/$PROJECT
-
-ENTRYPOINT [ "/opt/hexagon_netty_postgresql/bin/hexagon_netty_postgresql" ]

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon-nettyepoll-async-pgclient.dockerfile

@@ -1,7 +1,7 @@
 #
 # BUILD
 #
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
 USER root
 WORKDIR /hexagon
 

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon-nettyepoll-pgclient.dockerfile

@@ -1,7 +1,7 @@
 #
 # BUILD
 #
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
 USER root
 WORKDIR /hexagon
 

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon-nettyepoll.dockerfile

@@ -1,7 +1,7 @@
 #
 # BUILD
 #
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
 USER root
 WORKDIR /hexagon
 

+ 23 - 0
frameworks/Kotlin/hexagon/hexagon-nima-pgclient.dockerfile

@@ -0,0 +1,23 @@
+#
+# BUILD
+#
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
+USER root
+WORKDIR /hexagon
+
+ADD . .
+RUN gradle --quiet classes
+RUN gradle --quiet -x test installDist
+
+#
+# RUNTIME
+#
+FROM docker.io/eclipse-temurin:20-jre-alpine
+ARG PROJECT=hexagon_nima_pgclient
+
+ENV POSTGRESQL_DB_HOST tfb-database
+ENV JDK_JAVA_OPTIONS --enable-preview -XX:+AlwaysPreTouch -XX:+UseParallelGC -XX:+UseNUMA
+
+COPY --from=build /hexagon/$PROJECT/build/install/$PROJECT /opt/$PROJECT
+
+ENTRYPOINT [ "/opt/hexagon_nima_pgclient/bin/hexagon_nima_pgclient" ]

+ 23 - 0
frameworks/Kotlin/hexagon/hexagon-nima.dockerfile

@@ -0,0 +1,23 @@
+#
+# BUILD
+#
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
+USER root
+WORKDIR /hexagon
+
+ADD . .
+RUN gradle --quiet classes
+RUN gradle --quiet -x test installDist
+
+#
+# RUNTIME
+#
+FROM docker.io/eclipse-temurin:20-jre-alpine
+ARG PROJECT=hexagon_nima_postgresql
+
+ENV POSTGRESQL_DB_HOST tfb-database
+ENV JDK_JAVA_OPTIONS --enable-preview -XX:+AlwaysPreTouch -XX:+UseParallelGC -XX:+UseNUMA
+
+COPY --from=build /hexagon/$PROJECT/build/install/$PROJECT /opt/$PROJECT
+
+ENTRYPOINT [ "/opt/hexagon_nima_postgresql/bin/hexagon_nima_postgresql" ]

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon-tomcat.dockerfile

@@ -1,7 +1,7 @@
 #
 # BUILD
 #
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
 USER root
 WORKDIR /hexagon
 

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon.dockerfile

@@ -1,7 +1,7 @@
 #
 # BUILD
 #
-FROM docker.io/gradle:8.1.1-jdk17-alpine AS build
+FROM docker.io/gradle:8.2-jdk17-alpine AS build
 USER root
 WORKDIR /hexagon
 

+ 0 - 7
frameworks/Kotlin/hexagon/hexagon_netty_async_pgclient/build.gradle

@@ -1,7 +0,0 @@
-
-apply(from: "$gradleScripts/application.gradle")
-
-dependencies {
-    api(project(":store_pgclient_async"))
-    api("com.hexagonkt:http_server_netty_async:$hexagonVersion")
-}

+ 0 - 25
frameworks/Kotlin/hexagon/hexagon_netty_async_pgclient/src/main/kotlin/Benchmark.kt

@@ -1,25 +0,0 @@
-package com.hexagonkt
-
-import com.hexagonkt.async.Benchmark
-import com.hexagonkt.async.store.BenchmarkPgClientStore
-import com.hexagonkt.http.server.netty.async.NettyServerAdapter
-import com.hexagonkt.templates.rocker.RockerAdapter
-import io.netty.util.ResourceLeakDetector
-import io.netty.util.ResourceLeakDetector.Level.DISABLED
-import java.net.URL
-
-fun main() {
-    ResourceLeakDetector.setLevel(DISABLED)
-
-    System.setProperty("io.netty.buffer.checkBounds", "false")
-    System.setProperty("io.netty.buffer.checkAccessible", "false")
-
-    val settings = Settings()
-    val store = BenchmarkPgClientStore("postgresql")
-    val templateEngine = RockerAdapter()
-    val templateUrl = URL("classpath:fortunes.rocker.html")
-    val engine = NettyServerAdapter(bossGroupThreads = 48)
-
-    val benchmark = Benchmark(engine, store, templateEngine, templateUrl, settings)
-    benchmark.server.start()
-}

+ 0 - 24
frameworks/Kotlin/hexagon/hexagon_netty_postgresql/src/main/kotlin/Benchmark.kt

@@ -1,24 +0,0 @@
-package com.hexagonkt
-
-import com.hexagonkt.http.server.netty.NettyServerAdapter
-import com.hexagonkt.store.BenchmarkSqlStore
-import com.hexagonkt.templates.rocker.RockerAdapter
-import io.netty.util.ResourceLeakDetector
-import io.netty.util.ResourceLeakDetector.Level.DISABLED
-import java.net.URL
-
-fun main() {
-    ResourceLeakDetector.setLevel(DISABLED)
-
-    System.setProperty("io.netty.buffer.checkBounds", "false")
-    System.setProperty("io.netty.buffer.checkAccessible", "false")
-
-    val settings = Settings()
-    val store = BenchmarkSqlStore("postgresql")
-    val templateEngine = RockerAdapter()
-    val templateUrl = URL("classpath:fortunes.rocker.html")
-    val engine = NettyServerAdapter()
-
-    val benchmark = Benchmark(engine, store, templateEngine, templateUrl, settings)
-    benchmark.server.start()
-}

+ 1 - 0
frameworks/Kotlin/hexagon/hexagon_nettyepoll_postgresql/build.gradle

@@ -1,4 +1,5 @@
 
+apply(from: "$gradleScripts/native.gradle")
 apply(from: "$gradleScripts/application.gradle")
 
 dependencies {

+ 7 - 0
frameworks/Kotlin/hexagon/hexagon_nima_pgclient/build.gradle

@@ -0,0 +1,7 @@
+
+apply(from: "$gradleScripts/application.gradle")
+
+dependencies {
+    api(project(":store_pgclient"))
+    api("com.hexagonkt:http_server_nima:$hexagonVersion")
+}

+ 17 - 0
frameworks/Kotlin/hexagon/hexagon_nima_pgclient/src/main/kotlin/Benchmark.kt

@@ -0,0 +1,17 @@
+package com.hexagonkt
+
+import com.hexagonkt.core.urlOf
+import com.hexagonkt.http.server.nima.NimaServerAdapter
+import com.hexagonkt.store.BenchmarkPgClientStore
+import com.hexagonkt.templates.rocker.RockerAdapter
+
+fun main() {
+    val settings = Settings()
+    val store = BenchmarkPgClientStore("postgresql")
+    val templateEngine = RockerAdapter()
+    val templateUrl = urlOf("classpath:fortunes.rocker.html")
+    val engine = NimaServerAdapter()
+
+    val benchmark = Benchmark(engine, store, templateEngine, templateUrl, settings)
+    benchmark.server.start()
+}

+ 1 - 1
frameworks/Kotlin/hexagon/hexagon_netty_postgresql/build.gradle → frameworks/Kotlin/hexagon/hexagon_nima_postgresql/build.gradle

@@ -4,5 +4,5 @@ apply(from: "$gradleScripts/native.gradle")
 
 dependencies {
     api(project(":store_sql"))
-    api("com.hexagonkt:http_server_netty:$hexagonVersion")
+    api("com.hexagonkt:http_server_nima:$hexagonVersion")
 }

+ 17 - 0
frameworks/Kotlin/hexagon/hexagon_nima_postgresql/src/main/kotlin/Benchmark.kt

@@ -0,0 +1,17 @@
+package com.hexagonkt
+
+import com.hexagonkt.core.urlOf
+import com.hexagonkt.http.server.nima.NimaServerAdapter
+import com.hexagonkt.store.BenchmarkSqlStore
+import com.hexagonkt.templates.rocker.RockerAdapter
+
+fun main() {
+    val settings = Settings()
+    val store = BenchmarkSqlStore("postgresql")
+    val templateEngine = RockerAdapter()
+    val templateUrl = urlOf("classpath:fortunes.rocker.html")
+    val engine = NimaServerAdapter()
+
+    val benchmark = Benchmark(engine, store, templateEngine, templateUrl, settings)
+    benchmark.server.start()
+}

+ 2 - 2
frameworks/Kotlin/hexagon/settings.gradle

@@ -9,8 +9,8 @@ include(
 
     "hexagon_jetty_pgclient",
     "hexagon_jetty_postgresql",
-    "hexagon_netty_postgresql",
-    "hexagon_netty_async_pgclient",
+    "hexagon_nima_pgclient",
+    "hexagon_nima_postgresql",
     "hexagon_nettyepoll_pgclient",
     "hexagon_nettyepoll_async_pgclient",
     "hexagon_nettyepoll_postgresql",