Shreck Ye fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
..
gradle fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
src fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
.gitattributes f60048f96d New benchmark: Vert.x-Web Kotlinx (#7910) 2 жил өмнө
README.md fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
benchmark_config.json f60048f96d New benchmark: Vert.x-Web Kotlinx (#7910) 2 жил өмнө
build.gradle.kts fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
gradle.properties f60048f96d New benchmark: Vert.x-Web Kotlinx (#7910) 2 жил өмнө
gradlew fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
gradlew.bat fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
settings.gradle.kts f60048f96d New benchmark: Vert.x-Web Kotlinx (#7910) 2 жил өмнө
vertx-web-kotlinx-postgresql.dockerfile fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө
vertx-web-kotlinx.dockerfile fed744bee1 Revamp the Kotlin Vert.x portions "vertx-web-kotlinx" and "vertx-web-kotlin-coroutines" (#9374) 11 сар өмнө

README.md

Vert.x-Web Kotlinx Benchmarking Test

Vert.x-Web in Kotlin with request handling implemented as much with official kotlinx libraries as possible.

Code is written from scratch to be as concise as possible with common code extracted into common (possibly inline) functions. SQL client implementation details and JVM Options are adapted referring to the vertx-web portion and the vertx portion. All requests are handled in coroutines and suspend awaits are used instead of future compositions. Compared to the vertx-web-kotlin-coroutines portion, besides adopting the Kotlinx libraries, this project simplifies the code by using more built-in Coroutine functions and avoids mutability as much as possible. JSON serialization is implemented with kotlinx.serialization and Fortunes with kotlinx.html. The benchmark is run on the latest LTS version of JVM, 21.

Test Type Implementation Source Code

implemented with kotlinx.serialization

implemented with kotlinx.html

Important Libraries

The tests were run with:

Test URLs

JSON

http://localhost:8080/json

PLAINTEXT

http://localhost:8080/plaintext

DB

http://localhost:8080/db

QUERY

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

CACHED QUERY

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

UPDATE

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

FORTUNES

http://localhost:8080/fortunes