|
4 years ago | |
---|---|---|
.. | ||
src | 7 years ago | |
README.md | 7 years ago | |
benchmark_config.json | 7 years ago | |
build.gradle | 7 years ago | |
config.toml | 4 years ago | |
pronghorn.dockerfile | 4 years ago | |
settings.gradle | 8 years ago |
This is the Pronghorn Http Server portion of the TechEmpower Framework Benchmarks.
The Pronghorn HTTP Server is a low-level, high performance HTTP server written in Kotlin.
v0.1.2 : https://github.com/pronghorn-tech/server/releases/tag/0.1.2
url : http://TFB-server:8080/plaintext
source code : TestServer.kt
url : http://TFB-server:8080/json
source code : JsonHandler.kt
url : http://TFB-server:8080/db
source code : MongoDBRequestSingleHandler.kt
url : http://TFB-server:8080/queries
source code : MongoDBRequestMultiHandler.kt
url : http://TFB-server:8080/updates
source code : MongoDBRequestUpdatesHandler.kt
url : http://TFB-server:8080/fortunes
source code : MongoDBRequestFortunesHandler.kt
Pronghorn is by default a zero dependency library, but for the purpose of benchmarking these tests utilize three Pronghorn plugins for performance and logging :
Additionally, database driven tests utilize the Pronghorn MongoDB Driver Stream which implements the MongoDB Driver's Stream interface via the Pronghorn Coroutine Framework. This utilizes the cooperative nature of concurrency in Pronghorn to enable efficient multiplexing of database communication.
Beyond the Pronghorn plugins above, these tests utilize several third party libraries.
Tests requiring json encoding utilize the jsoniter library, as well as the Javassist library for improved performance of jsoniter.
Database tests depend on the async MongoDB driver.
The Fortunes test utilizes the httl library as the template engine.
For additional information, help, or corrections concerning Pronghorn or these tests contact info [at] pronghorn.tech