HttpArena
Frameworks

ktor-tuned

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

JetBrains Ktor 3.x on Netty with Ghost Serializer, JDK 25.

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.123 of 953916
HTTP/215 of 29800
HTTP/39 of 14445
WebSocket18 of 26517

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,0961,421,5072.88ms10.50ms6370.5%6.5GiB
ConnectionPipelined4,0962,519,18726.06ms86.30ms6181.5%8.5GiB
ConnectionShort-lived4,096551,0817.36ms73.00ms4851.3%10.0GiB
ConcurrencyAsync Delay32,000326,65297.11ms283.80ms2360.0%7.7GiB
EfficiencyLatency-10K1,0249,98195.5us135.0us44.3%1.5GiB
EfficiencyLatency-1M1,024998,014294.1us2777.0us5825.4%5.0GiB
EfficiencyLatency-500K/81,024266,3034667336.1us9539584.0us799.6%2.4GiB
WorkloadJSON Comp4,096248,28516.48ms53.00ms6497.1%6.9GiB
WorkloadJSON Comp16,384216,82474.56ms225.80ms6074.0%11.9GiB
WorkloadJSON TLS4,096824,8567.28ms396.45ms6329.3%8.8GiB
Workload8Gbit51249,240138.2us176.0us349.6%1.7GiB
WorkloadStatic TLS1,024253,4624.58ms156.24ms6306.7%4.1GiB
DatabaseAsync DB1,02449,77720.32ms24.10ms2172.2%2.8GiB
DatabaseFortunes1,02449,99119.90ms43.10ms5612.1%11.9GiB
HTTP/2Baseline2561,110,87323.58ms154.19ms6289.6%11.4GiB
HTTP/2Baseline1,0241,016,82496.13ms380.08ms6318.4%25.4GiB
HTTP/2Static256230,14135.23ms126.19ms6138.9%9.8GiB
HTTP/2Static1,024222,669143.91ms449.69ms6092.1%11.8GiB
HTTP/2Baseline (h2c)2561,142,98222.88ms114.96ms6343.0%12.1GiB
HTTP/2Baseline (h2c)1,0241,079,11491.51ms332.67ms6358.4%26.1GiB
HTTP/2Baseline (h2c)4,096507,299666.60ms2.07s5375.7%31.3GiB
HTTP/2JSON (h2c)1,024704,52845.35ms169.29ms6240.1%11.2GiB
HTTP/2JSON (h2c)4,096656,840189.69ms664.75ms6160.5%26.3GiB
HTTP/3Baseline64380,70010.37ms28.22ms3157.8%4.8GiB
HTTP/3Static6496,69437.82ms256.51ms3699.3%2.9GiB
WebSocketEcho512996,670513us1.24ms6454.9%2.6GiB
WebSocketEcho4,0961,128,1163.62ms10.30ms6422.4%3.0GiB
WebSocketEcho16,384861,76218.38ms56.60ms6208.8%5.6GiB
WebSocketEcho Pipelined51211,369,504719us1.72ms6186.0%4.9GiB
WebSocketEcho Pipelined4,09612,583,9315.17ms16.40ms6266.5%4.9GiB
WebSocketEcho Pipelined16,38411,470,47221.61ms73.10ms6557.1%8.3GiB

Compared with

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

EntryCompositevs ktor-tuned
ktor2976-24%head to head
neton2166-45%head to head

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

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