Michael Hixson b472c2f4dd Remove source_code files, count all files instead (#3715) 7 роки тому
..
src 6fce84a278 WIP: Dockerify everything (#3457) 7 роки тому
README.md 84015a4729 Implemented remaining tests for the Pronghorn server. (#2983) 7 роки тому
benchmark_config.json 497f3d330d Port the remaining kotlin tests to docker (#3372) 7 роки тому
build.gradle 8aa3831d1a Selected java10 fixes (#3464) 7 роки тому
pronghorn.dockerfile bf85f1f907 Upgrade to gradle 4.7 (#3711) 7 роки тому
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