HttpArena
Frameworks

ktor-ghost

Flagship · Kotlin · engine: netty · tuned configuration · completeness 4/4

JetBrains Ktor 3.x on Netty with Kotlin coroutines, Ghost Serializer, JDK 21.

Achievements

🥇 2 Gold. Top three of a field, taken in this entry's own league: the family composite, the same composite among entries written in the same language, and each test profile it is scored on. Every field is the one the badges publish, so a medal and a badge always say the same thing. How medals are awarded.

MedalAwardFieldRank
🥇 GoldWithin its languageKotlin · HTTP/1.11 of 4
🥇 GoldWithin its languageKotlin · HTTP/21 of 3

Composite rank

Each profile of a family is worth 100 to the entry that leads it, and the composite is the sum over the family, less 2.5% for each of routing, middleware, request and response the entry does not do for you - its completeness factor, which the WebSocket and gRPC families do not carry. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.

FamilyRankComposite
HTTP/1.140 of 932835
HTTP/220 of 28499
WebSocket17 of 25455

Every result

Alpha Round, 29 runs. Requests per second is the best of three; latency, CPU and memory come from that run.

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,096838,0394.90ms9.60ms6201.7%4.9GiB
ConnectionPipelined4,096654,29799.47ms146.90ms4849.5%9.5GiB
ConnectionShort-lived4,096655,8946.20ms54.10ms6025.3%4.9GiB
ConcurrencyAsync Delay32,000224,114141.02ms225.40ms2514.0%16.9GiB
EfficiencyLatency-10K1,0249,981138.8us183.0us95.2%492MiB
EfficiencyLatency-1M1,024866,7591709795.5us2929664.0us5936.0%5.1GiB
EfficiencyLatency-500K/81,024205,2675921873.3us11628544.0us699.7%1.3GiB
WorkloadJSON Comp4,096217,40518.85ms42.30ms6244.1%4.5GiB
WorkloadJSON Comp16,384218,19974.08ms145.20ms6022.6%11.4GiB
WorkloadJSON TLS4,096607,9438.03ms266.87ms6059.8%6.0GiB
Workload8Gbit51249,249195.9us295.0us694.6%2.9GiB
WorkloadStatic TLS1,024191,7998.84ms183.27ms6430.3%3.3GiB
DatabaseAsync DB1,024113,5908.61ms11.20ms5318.7%12.2GiB
DatabaseFortunes1,02449,99119.90ms43.10ms5612.1%11.9GiB
HTTP/2Baseline256515,66446.06ms282.20ms5757.4%31.1GiB
HTTP/2Baseline1,024495,732193.95ms768.20ms5862.3%30.1GiB
HTTP/2Static256196,78040.90ms299.14ms5881.4%23.3GiB
HTTP/2Static1,024184,792170.18ms530.61ms5720.6%24.2GiB
HTTP/2Baseline (h2c)256391,10354.35ms359.42ms5639.1%30.4GiB
HTTP/2Baseline (h2c)1,024362,388291.47ms1.95s5652.8%30.9GiB
HTTP/2Baseline (h2c)4,096392,445868.48ms2.26s5584.7%31.4GiB
HTTP/2JSON (h2c)1,024424,46171.66ms319.32ms5873.4%29.4GiB
HTTP/2JSON (h2c)4,096389,919304.94ms1.05s5765.4%29.5GiB
WebSocketEcho5121,021,563500us1.33ms3426.9%2.5GiB
WebSocketEcho4,096973,0724.16ms9.46ms3435.1%3.4GiB
WebSocketEcho16,384676,21623.65ms42.90ms3283.8%15.7GiB
WebSocketEcho Pipelined51211,253,401727us1.93ms3375.7%9.8GiB
WebSocketEcho Pipelined4,09611,090,8715.89ms14.40ms3425.7%13.7GiB
WebSocketEcho Pipelined16,3848,286,83630.72ms69.70ms3335.9%20.9GiB

Compared with

The Kotlin entries around ktor-ghost on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.

EntryCompositevs ktor-ghost
ktor2590-9%head to head
http4k1901-33%head to head

Compare ktor-ghost with any Kotlin entry · Compare ktor-ghost with any entry, in any language · Every Kotlin entry, ranked

Results updated · How the benchmark is run · The machine · Add or fix an entry