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 · 🥈 1 Silver. 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
🥈 SilverTest profileEfficiency · Latency-10K2 of 96

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.130 of 974003
HTTP/216 of 31828
HTTP/313 of 16375
WebSocket22 of 31564

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,414,0202.90ms10.90ms6312.8%5.2GiB
ConnectionPipelined4,0962,491,53926.37ms85.20ms6108.4%8.2GiB
ConnectionShort-lived4,096601,0876.78ms68.60ms4721.1%2.6GiB
ConcurrencyAsync Delay32,000310,599101.83ms283.90ms1989.7%7.3GiB
EfficiencyLatency-10K1,0249,98388.1us135.0us43.2%1.5GiB
EfficiencyLatency-1M1,024997,705262.6us2373.0us5711.2%5.2GiB
EfficiencyLatency-500K/81,024283,8924326309.6us8990720.0us798.0%2.4GiB
WorkloadJSON Comp4,096249,35016.45ms45.00ms6310.6%5.0GiB
WorkloadJSON Comp16,384236,64868.42ms163.70ms6088.8%8.2GiB
WorkloadJSON TLS4,096896,3715.26ms75.18ms6311.4%6.3GiB
Workload8Gbit51249,399115.8us170.0us367.0%1.6GiB
WorkloadStatic TLS1,024267,4514.29ms92.98ms6310.9%4.6GiB
DatabaseAsync DB1,02445,62422.15ms25.80ms2070.1%3.0GiB
DatabaseFortunes1,02449,99119.90ms43.10ms5612.1%11.9GiB
HTTP/2Baseline2561,135,19822.97ms111.62ms6344.9%13.5GiB
HTTP/2Baseline1,0241,047,47091.50ms327.37ms6319.4%22.9GiB
HTTP/2Static256235,89734.39ms175.67ms6171.3%7.0GiB
HTTP/2Static1,024231,399137.83ms373.52ms6098.3%12.0GiB
HTTP/2Baseline (h2c)2561,170,89222.18ms119.04ms6373.7%11.3GiB
HTTP/2Baseline (h2c)1,0241,102,18989.60ms346.75ms6444.1%25.8GiB
HTTP/2Baseline (h2c)4,096521,941654.80ms2.17s5343.7%31.3GiB
HTTP/2JSON (h2c)1,024744,64943.10ms193.46ms6270.9%15.7GiB
HTTP/2JSON (h2c)4,096676,200184.36ms638.40ms6210.0%26.4GiB
HTTP/3Baseline64377,52510.93ms32.07ms3031.3%5.0GiB
HTTP/3Static6476,77747.58ms208.94ms6154.8%2.9GiB
WebSocketEcho5121,092,275468us1.13ms6187.7%1.5GiB
WebSocketEcho4,0961,207,3383.38ms9.46ms6331.2%3.2GiB
WebSocketEcho16,3841,053,88915.12ms48.20ms6101.0%5.6GiB
WebSocketEcho Pipelined51212,092,857676us1.79ms6127.9%4.8GiB
WebSocketEcho Pipelined4,09612,853,1005.07ms16.10ms6214.2%10.4GiB
WebSocketEcho Pipelined16,38412,636,60320.13ms73.10ms6140.9%11.0GiB

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
ktor3258-19%head to head
neton2408-40%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