HttpArena
Frameworks

ktor

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

JetBrains Ktor 3.x on Netty with kotlinx.serialization, JDK 25.

Achievements

🥇 1 Gold · 🥉 1 Bronze. 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 3
🥉 BronzeTest profileEfficiency · Latency-10K3 of 72

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.131 of 722965
HTTP/215 of 20546
HTTP/37 of 11435
WebSocket15 of 20449

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,096958,0644.29ms9.25ms5999.3%6.2GiB
ConnectionPipelined4,0962,223,87229.48ms40.50ms5409.5%7.2GiB
ConnectionShort-lived4,096705,8895.79ms53.70ms5811.2%5.1GiB
ConcurrencyAsync Delay32,000207,601151.80ms198.10ms2246.4%6.7GiB
EfficiencyLatency-10K1,0249,983112.8us147.0us71.2%1.5GiB
EfficiencyLatency-1M1,024997,5001161.6us13756.0us5643.6%4.9GiB
EfficiencyLatency-500K/81,024211,4295767009.3us11382784.0us681.2%1.3GiB
WorkloadJSON Comp4,096204,29920.04ms78.90ms6329.5%5.2GiB
WorkloadJSON Comp16,384205,28278.49ms257.90ms6333.4%11.7GiB
WorkloadJSON TLS4,096456,22910.90ms293.41ms4744.9%5.7GiB
Workload8Gbit51249,330185.3us273.0us541.0%1.6GiB
WorkloadStatic TLS1,024245,0594.73ms95.47ms6098.3%4.9GiB
DatabaseAsync DB1,02450,13820.18ms24.10ms2451.8%2.8GiB
DatabaseFortunes1,02460,73315.92ms30.70ms5100.3%7.3GiB
HTTP/2Baseline256770,20732.76ms121.76ms6335.0%9.6GiB
HTTP/2Baseline1,024727,073135.69ms416.32ms6316.1%25.2GiB
HTTP/2Static256209,56638.56ms238.51ms6003.8%9.0GiB
HTTP/2Static1,024131,179230.21ms833.40ms5765.5%9.7GiB
HTTP/2Baseline (h2c)256811,87431.26ms123.08ms6449.1%9.1GiB
HTTP/2Baseline (h2c)1,024726,624140.79ms649.80ms6456.0%25.4GiB
HTTP/2Baseline (h2c)4,096509,387696.84ms1.81s5872.5%31.3GiB
HTTP/2JSON (h2c)1,024431,46173.28ms421.12ms5283.8%12.6GiB
HTTP/2JSON (h2c)4,096374,581324.53ms755.42ms4905.8%27.2GiB
HTTP/3Baseline64340,60711.13ms28.01ms4809.1%4.8GiB
HTTP/3Static6497,36236.87ms266.09ms5403.6%2.8GiB
WebSocketEcho5121,009,467506us1.19ms3436.7%2.7GiB
WebSocketEcho4,096968,6944.20ms9.80ms3406.8%2.0GiB
WebSocketEcho16,384621,30125.64ms53.20ms3363.8%6.4GiB
WebSocketEcho Pipelined51211,369,170719us2.12ms3353.5%5.7GiB
WebSocketEcho Pipelined4,09610,895,4835.99ms14.80ms3370.0%7.3GiB
WebSocketEcho Pipelined16,3848,358,15130.57ms67.50ms3273.0%8.0GiB

Compared with

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

EntryCompositevs ktor
ktor-tuned3899+31%head to head
neton2443-18%head to head
http4k1875-37%head to head

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

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