Nate 0096f84ee9 Config for the new toolset (#6259) 4 年之前
..
src 6fce84a278 WIP: Dockerify everything (#3457) 7 年之前
README.md 84015a4729 Implemented remaining tests for the Pronghorn server. (#2983) 8 年之前
benchmark_config.json 497f3d330d Port the remaining kotlin tests to docker (#3372) 7 年之前
build.gradle 8aa3831d1a Selected java10 fixes (#3464) 7 年之前
config.toml 0096f84ee9 Config for the new toolset (#6259) 4 年之前
pronghorn.dockerfile 0096f84ee9 Config for the new toolset (#6259) 4 年之前
settings.gradle afd8782678 Added Pronghorn server (#2972) 8 年之前

README.md

Pronghorn

This is the Pronghorn Http Server portion of the TechEmpower Framework Benchmarks.

About

The Pronghorn HTTP Server is a low-level, high performance HTTP server written in Kotlin.

Version

v0.1.2 : https://github.com/pronghorn-tech/server/releases/tag/0.1.2

Test Types

Plaintext

url : http://TFB-server:8080/plaintext source code : TestServer.kt

Json Serialization

url : http://TFB-server:8080/json source code : JsonHandler.kt

Single Query

url : http://TFB-server:8080/db source code : MongoDBRequestSingleHandler.kt

Multiple Query

url : http://TFB-server:8080/queries source code : MongoDBRequestMultiHandler.kt

Data Updates

url : http://TFB-server:8080/updates source code : MongoDBRequestUpdatesHandler.kt

Fortunes

url : http://TFB-server:8080/fortunes source code : MongoDBRequestFortunesHandler.kt

Additional Dependencies

Pronghorn Plugins

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.

Third-Party Libraries

Beyond the Pronghorn plugins above, these tests utilize several third party libraries.

JsonIter

Tests requiring json encoding utilize the jsoniter library, as well as the Javassist library for improved performance of jsoniter.

MongoDB Async Driver

Database tests depend on the async MongoDB driver.

HTTL

The Fortunes test utilizes the httl library as the template engine.

Contact

For additional information, help, or corrections concerning Pronghorn or these tests contact info [at] pronghorn.tech