Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8dff56b
Update dependencies
jaguililla Oct 30, 2024
ae7dcec
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Jan 23, 2025
a9b3264
Update dependencies
jaguililla Jan 23, 2025
58f1b4b
Update dependencies
jaguililla Jan 23, 2025
1b4e71f
Update dependencies
jaguililla Jan 23, 2025
d52cc34
Update dependencies
jaguililla Jan 24, 2025
3a71522
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Jan 24, 2025
8fe9756
Fix native image settings
jaguililla Jan 24, 2025
6ee6817
Change implementations
jaguililla Feb 1, 2025
91d5ed2
Update version
jaguililla Feb 1, 2025
aec5ad2
Add tests for new adapter
jaguililla Feb 1, 2025
0711d79
Update dependencies
jaguililla Feb 11, 2025
c292325
Update dependencies
jaguililla Feb 15, 2025
45763a1
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Mar 14, 2025
78dd315
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Mar 15, 2025
4e3dcb9
Update dependencies
jaguililla Mar 15, 2025
3c8d9be
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Mar 18, 2025
3dd5bcb
Update dependencies
jaguililla Mar 19, 2025
aea2e27
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Mar 21, 2025
e93d8ff
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Apr 1, 2025
813aa34
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Apr 3, 2025
4712572
Merge branch 'master' of https://github.com/TechEmpower/FrameworkBenc…
jaguililla Apr 12, 2025
e47d309
Update dependencies
jaguililla Apr 12, 2025
f289532
Update dependencies
jaguililla Apr 13, 2025
9278488
Disable native benchmarks
jaguililla Apr 13, 2025
a2e73ca
Update configuration
jaguililla Apr 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions frameworks/Kotlin/hexagon/benchmark_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,6 @@
"notes": "http://hexagonkt.com",
"versus": "servlet"
},
"jetty-native": {
"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",
"database": "postgres",
"framework": "Hexagon",
"language": "Kotlin",
"orm": "Raw",
"platform": "Servlet",
"webserver": "None",
"os": "Linux",
"database_os": "Linux",
"display_name": "Hexagon Jetty Native PostgreSQL",
"notes": "http://hexagonkt.com",
"versus": "servlet"
},
"jdk": {
"json_url": "/json",
"db_url": "/db",
Expand Down Expand Up @@ -163,29 +140,6 @@
"notes": "http://hexagonkt.com",
"versus": "helidon-helidon"
},
"helidon-native": {
"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",
"database": "postgres",
"framework": "Hexagon",
"language": "Kotlin",
"orm": "Raw",
"platform": "Helidon",
"webserver": "None",
"os": "Linux",
"database_os": "Linux",
"display_name": "Hexagon Helidon Native PgClient",
"notes": "http://hexagonkt.com",
"versus": "helidon-helidon"
},
"helidon-pgclient": {
"json_url": "/json",
"db_url": "/db",
Expand Down
17 changes: 9 additions & 8 deletions frameworks/Kotlin/hexagon/build.gradle
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@

plugins {
id "org.jetbrains.kotlin.jvm" version "2.1.0" apply false
id "org.graalvm.buildtools.native" version "0.10.5" apply false
id "org.jetbrains.kotlin.jvm" version "2.1.20" apply false
id "org.graalvm.buildtools.native" version "0.10.6" apply false
}

version = "1.0.0"
description = "TFB benchmark"
group = "com.hexagontk"

ext {
hexagonVersion = "4.0.1"
jettyVersion = "12.0.16"
nettyVersion = "4.1.118.Final"
hexagonVersion = "4.1.1"
jettyVersion = "12.0.19"
nettyVersion = "4.2.0.Final"

hikariVersion = "6.2.1"
hikariVersion = "6.3.0"
postgresqlVersion = "42.7.5"
vertxVersion = "4.5.12"
vertxVersion = "5.0.0.CR6"
cache2kVersion = "2.6.1.Final"

applicationClass = "com.hexagontk.BenchmarkKt"
Expand All @@ -30,5 +30,6 @@ subprojects {
}

tasks.wrapper {
gradleVersion = "8.12.1"
// gradleVersion = "8.14.0"
gradleVersion = "release-candidate"
}
36 changes: 0 additions & 36 deletions frameworks/Kotlin/hexagon/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -73,24 +73,6 @@ platform = "Netty"
webserver = "None"
versus = "netty"

[nettyepoll-native]
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"

[nettyepoll-pgclient]
urls.plaintext = "/plaintext"
urls.json = "/json"
Expand Down Expand Up @@ -127,24 +109,6 @@ platform = "Helidon"
webserver = "None"
versus = "helidon-helidon"

[helidon-native]
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 = "Helidon"
webserver = "None"
versus = "helidon-helidon"

[helidon-pgclient]
urls.plaintext = "/plaintext"
urls.json = "/json"
Expand Down
Binary file modified frameworks/Kotlin/hexagon/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-rc-1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
6 changes: 3 additions & 3 deletions frameworks/Kotlin/hexagon/gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
CLASSPATH="\\\"\\\""


# Determine the Java command to use to start the JVM.
Expand Down Expand Up @@ -205,15 +205,15 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.

set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"

# Stop when "xargs" is not available.
Expand Down
4 changes: 2 additions & 2 deletions frameworks/Kotlin/hexagon/gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,11 @@ goto fail
:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
set CLASSPATH=


@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*

:end
@rem End local scope for the variables with windows NT shell
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM container-registry.oracle.com/graalvm/native-image:21-muslib-ol9 as build
FROM container-registry.oracle.com/graalvm/native-image:24-muslib-ol9 as build
USER root
WORKDIR /hexagon

Expand Down
4 changes: 2 additions & 2 deletions frameworks/Kotlin/hexagon/hexagon-helidon-pgclient.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-23-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand All @@ -12,7 +12,7 @@ RUN ./gradlew --quiet -x test installDist
#
# RUNTIME
#
FROM docker.io/bellsoft/liberica-runtime-container:jre-23-musl
FROM docker.io/bellsoft/liberica-runtime-container:jre-24-musl
ARG PROJECT=hexagon_helidon_pgclient

ENV POSTGRESQL_DB_HOST tfb-database
Expand Down
4 changes: 2 additions & 2 deletions frameworks/Kotlin/hexagon/hexagon-helidon.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-23-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand All @@ -12,7 +12,7 @@ RUN ./gradlew --quiet -x test installDist
#
# RUNTIME
#
FROM docker.io/bellsoft/liberica-runtime-container:jre-23-musl
FROM docker.io/bellsoft/liberica-runtime-container:jre-24-musl
ARG PROJECT=hexagon_helidon_postgresql

ENV POSTGRESQL_DB_HOST tfb-database
Expand Down
4 changes: 2 additions & 2 deletions frameworks/Kotlin/hexagon/hexagon-jdk-pgclient.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-23-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand All @@ -12,7 +12,7 @@ RUN ./gradlew --quiet -x test installDist
#
# RUNTIME
#
FROM docker.io/bellsoft/liberica-runtime-container:jre-23-musl
FROM docker.io/bellsoft/liberica-runtime-container:jre-24-musl
ARG PROJECT=hexagon_jdk_pgclient

ENV POSTGRESQL_DB_HOST tfb-database
Expand Down
4 changes: 2 additions & 2 deletions frameworks/Kotlin/hexagon/hexagon-jdk.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-23-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand All @@ -12,7 +12,7 @@ RUN ./gradlew --quiet -x test installDist
#
# RUNTIME
#
FROM docker.io/bellsoft/liberica-runtime-container:jre-23-musl
FROM docker.io/bellsoft/liberica-runtime-container:jre-24-musl
ARG PROJECT=hexagon_jdk_postgresql

ENV POSTGRESQL_DB_HOST tfb-database
Expand Down
2 changes: 1 addition & 1 deletion frameworks/Kotlin/hexagon/hexagon-jetty-native.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM container-registry.oracle.com/graalvm/native-image:21-muslib-ol9 as build
FROM container-registry.oracle.com/graalvm/native-image:24-muslib-ol9 as build
USER root
WORKDIR /hexagon

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-21-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand All @@ -12,7 +12,7 @@ RUN ./gradlew --quiet -x test installDist
#
# RUNTIME
#
FROM docker.io/bellsoft/liberica-runtime-container:jre-21-musl
FROM docker.io/bellsoft/liberica-runtime-container:jre-24-musl
ARG PROJECT=hexagon_nettyepoll_pgclient

ENV POSTGRESQL_DB_HOST tfb-database
Expand Down
4 changes: 2 additions & 2 deletions frameworks/Kotlin/hexagon/hexagon-nettyepoll.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-21-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand All @@ -12,7 +12,7 @@ RUN ./gradlew --quiet -x test installDist
#
# RUNTIME
#
FROM docker.io/bellsoft/liberica-runtime-container:jre-21-musl
FROM docker.io/bellsoft/liberica-runtime-container:jre-24-musl
ARG PROJECT=hexagon_nettyepoll_postgresql

ENV POSTGRESQL_DB_HOST tfb-database
Expand Down
2 changes: 1 addition & 1 deletion frameworks/Kotlin/hexagon/hexagon-tomcat.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-21-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand Down
4 changes: 2 additions & 2 deletions frameworks/Kotlin/hexagon/hexagon.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BUILD
#
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-21-cds-musl AS build
FROM docker.io/bellsoft/liberica-runtime-container:jdk-all-24-cds-musl AS build
USER root
WORKDIR /hexagon

Expand All @@ -12,7 +12,7 @@ RUN ./gradlew --quiet -x test installDist
#
# RUNTIME
#
FROM docker.io/bellsoft/liberica-runtime-container:jre-21-musl
FROM docker.io/bellsoft/liberica-runtime-container:jre-24-musl
ARG PROJECT=hexagon_jetty_postgresql

ENV POSTGRESQL_DB_HOST tfb-database
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ fun main() {
validatePath = systemSettingOrNull<Boolean>("validatePath") ?: false,
validateRequestHeaders = systemSettingOrNull<Boolean>("validateRequestHeaders") ?: false,
validateResponseHeaders = systemSettingOrNull<Boolean>("validateResponseHeaders") ?: false,
smartAsyncWrites = true,
)

val benchmark = Benchmark(engine, store, templateEngine, templateUrl, Settings())
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Args= \
--initialize-at-build-time=io.vertx.core.impl.buffer.VertxByteBufAllocator
Original file line number Diff line number Diff line change
@@ -1,17 +1,31 @@
package com.hexagontk

import com.hexagontk.core.Platform.systemSettingOrNull
import com.hexagontk.core.media.TEXT_HTML
import com.hexagontk.core.urlOf
import com.hexagontk.http.server.helidon.HelidonHttpServer
import com.hexagontk.store.BenchmarkSqlStore
import com.hexagontk.templates.jte.Jte
import java.time.Duration

fun main() {
val settings = Settings()
val store = BenchmarkSqlStore("postgresql")
val templateEngine = Jte(TEXT_HTML, precompiled = true)
val templateUrl = urlOf("classpath:fortunes.jte")
val engine = HelidonHttpServer()
val engine = HelidonHttpServer(
backlog = systemSettingOrNull("backlog") ?: (8 * 1024),
writeQueueLength = systemSettingOrNull("writeQueueLength") ?: (8 * 1024),
readTimeout = Duration.parse(systemSettingOrNull("readTimeout") ?: "PT0S"),
connectTimeout = Duration.parse(systemSettingOrNull("connectTimeout") ?: "PT0S"),
tcpNoDelay = systemSettingOrNull<Boolean>("tcpNoDelay") ?: true,
receiveLog = systemSettingOrNull<Boolean>("receiveLog") ?: false,
sendLog = systemSettingOrNull<Boolean>("sendLog") ?: false,
validatePath = systemSettingOrNull<Boolean>("validatePath") ?: false,
validateRequestHeaders = systemSettingOrNull<Boolean>("validateRequestHeaders") ?: false,
validateResponseHeaders = systemSettingOrNull<Boolean>("validateResponseHeaders") ?: false,
smartAsyncWrites = true,
)

val benchmark = Benchmark(engine, store, templateEngine, templateUrl, settings)
benchmark.server.start()
Expand Down
Loading
Loading