Skip to content
This repository was archived by the owner on Mar 24, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions frameworks/Kotlin/ktor/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
See subprojects

* [Ktor](ktor/) Ktor using traditional JDBC using various servers
* [Ktor-asyncdb](ktor-asyncdb/) Ktor with Netty-based PostgreSQL clients
46 changes: 46 additions & 0 deletions frameworks/Kotlin/ktor/benchmark_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,52 @@
"display_name": "ktor-cio",
"notes": "http://ktor.io/",
"versus": ""
},
"jasync": {
"json_url": "/json",
"plaintext_url": "/plaintext",
"db_url": "/db",
"query_url": "/query/?queries=",
"fortune_url": "/fortunes",
"update_url": "/updates?queries=",
"port": 8080,
"approach": "Realistic",
"classification": "Fullstack",
"database": "Postgres",
"framework": "Ktor",
"language": "Kotlin",
"flavor": "None",
"orm": "Raw",
"platform": "None",
"webserver": "None",
"os": "Linux",
"database_os": "Linux",
"display_name": "Ktor-jasync",
"notes": "",
"versus": "netty"
},
"reactivepg": {
"json_url": "/json",
"plaintext_url": "/plaintext",
"db_url": "/db",
"query_url": "/query/?queries=",
"fortune_url": "/fortunes",
"update_url": "/updates?queries=",
"port": 8080,
"approach": "Realistic",
"classification": "Fullstack",
"database": "Postgres",
"framework": "Ktor",
"language": "Kotlin",
"flavor": "None",
"orm": "Raw",
"platform": "None",
"webserver": "None",
"os": "Linux",
"database_os": "Linux",
"display_name": "Ktor-reactivepg",
"notes": "",
"versus": "netty"
}
}
]
Expand Down
31 changes: 31 additions & 0 deletions frameworks/Kotlin/ktor/ktor-asyncdb/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Ktor with async postgres Benchmarking Test

## Important Libraries
This sets up testing using [Ktor](https://ktor.io/), with a couple of async PostgreSQL clients:
* [jasync-sql](https://github.com/jasync-sql/jasync-sql) A pure Kotlin MySQl/PostgreSQL client, with coroutines integration
* [reactive-pg-client](https://reactiverse.io/reactive-pg-client/guide/java/) A mature async PostgreSQL client with pipelining and batch support

## Test URLs
### JSON

http://localhost:8080/json

### PLAINTEXT

http://localhost:8080/plaintext

### DB

http://localhost:8080/db

### QUERY

http://localhost:8080/query?queries=

### UPDATE

http://localhost:8080/update?queries=

### FORTUNES

http://localhost:8080/fortunes
43 changes: 43 additions & 0 deletions frameworks/Kotlin/ktor/ktor-asyncdb/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
plugins {
id "java"
id "application"
id 'org.jetbrains.kotlin.jvm'
id 'kotlinx-serialization'
id 'com.github.johnrengelman.shadow' version '4.0.3'
}

group 'org.jetbrains.ktor'
version '1.0-SNAPSHOT'

mainClassName = "MainKt"

repositories {
mavenCentral()
jcenter()
maven { url "https://kotlin.bintray.com/kotlinx" }
}

dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.9.1"
compile "io.ktor:ktor-server-netty:$ktor_version"
compile "io.ktor:ktor-html-builder:$ktor_version"
compile "com.github.jasync-sql:jasync-postgresql:0.8.54"
compile "io.reactiverse:reactive-pg-client:0.11.0"
compile "io.reactivex.rxjava2:rxjava:2.2.4"
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-rx2:1.0.1'
compile 'io.vertx:vertx-rx-java2:3.6.0'
}

compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}

shadowJar {
baseName = "bench"
classifier = null
version = null
}
4 changes: 4 additions & 0 deletions frameworks/Kotlin/ktor/ktor-asyncdb/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
kotlin.code.style=official

kotlin_version=1.3.11
ktor_version=1.0.1
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Fri Dec 07 21:01:17 MST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip
172 changes: 172 additions & 0 deletions frameworks/Kotlin/ktor/ktor-asyncdb/gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading