HttpArena
Frameworks

genhttp-kt

Experimental · Kotlin · standard configuration · completeness 4/4

Kotlin port of the GenHTTP web server on JDK 25, running on its own HTTP/1.1 engine (NIO channels, a coroutine per connection on virtual threads, TLS via the JDK SSLEngine). Implemented with web services and a layout router, JSON via Jackson, Postgres via HikariCP and JDBC.

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.113 of 193783
WebSocket13 of 141346

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0961,955,3001.94ms3.47ms6678.2%1.5GiB
ConnectionPipelined4,09616,527,2703.69ms8.59ms6175.1%3.6GiB
ConnectionShort-lived4,096825,3022.71ms26.10ms4839.6%922MiB
ConcurrencyAsync Delay32,0001,303,52720.32ms63.90ms5833.5%4.7GiB
EfficiencyLatency-10K1,0249,98093.1us117.0us65.1%308MiB
EfficiencyLatency-1M1,024997,452212.5us1244.0us4998.7%1.0GiB
EfficiencyLatency-500K/81,024363,0041680907.8us3214336.0us786.7%888MiB
WorkloadJSON Comp4,096508,6177.96ms31.00ms6207.2%3.2GiB
WorkloadJSON Comp16,384502,33226.18ms87.10ms6055.5%6.1GiB
WorkloadJSON TLS4,096755,8215.43ms675.92ms6382.3%4.0GiB
Workload8Gbit51249,313116.7us149.0us492.4%1.1GiB
WorkloadStatic TLS1,024286,31111.36ms157.22ms5066.7%1.3GiB
DatabaseAsync DB1,02472,47813.60ms127.90ms6494.4%2.1GiB
WebSocketEcho5122,412,394211us379us6720.5%927MiB
WebSocketEcho4,0962,154,1561.73ms3.10ms6559.5%2.6GiB
WebSocketEcho16,3842,018,1045.68ms10.70ms6135.3%4.2GiB
WebSocketEcho Pipelined51233,546,038243us433us6236.1%3.3GiB
WebSocketEcho Pipelined4,09631,325,2601.92ms3.57ms6155.7%6.7GiB
WebSocketEcho Pipelined16,38427,568,7786.32ms19.30ms6032.2%8.2GiB
WebSocketEcho Short-lived512810,368127us380us5087.8%1.5GiB
WebSocketEcho Short-lived4,096820,470124us380us4883.6%1.2GiB

Compared with

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

EntryCompositevs genhttp-kt
ktron7557+100%head to head
genhttp-kt-netty5539+46%head to head
ktor-tuned3879+3%head to head
ktor3175-16%head to head
neton2353-38%head to head

Compare genhttp-kt with any Kotlin entry · Compare genhttp-kt with any entry, in any language · Every Kotlin entry, ranked

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