HttpArena
Comparisons

Kotlin web framework comparison: any two, head to head

ktor-ghost is quicker than ktor on 25 of the 39 profiles they both run, and behind on 14. On the HTTP/1.1 composite they score 491 and 434.

Pick any two of the 4 Kotlin entries. Requests per second is the best of three runs and the delta is the first column against the second; every row is the same profile at the same connection count, on the same machine. What each profile measures.

ProfileConnsktor-ghost req/secktor req/secDeltaktor-ghost p99ktor p99
Baseline512830,262817,316+2%1.34ms1.39ms
Baseline4,096838,039822,062+2%9.60ms9.82ms
Pipelined512590,006619,926-5%51.20ms59.70ms
Pipelined4,096654,297584,867+12%146.90ms138.90ms
Short-lived512646,754656,997-2%4.89ms4.71ms
Short-lived4,096655,894665,691-1%54.10ms49.70ms
JSON4,096657,766395,250+66%29.70ms34.60ms
JSON Comp512203,733182,888+11%9.63ms16.50ms
JSON Comp4,096217,405193,020+13%42.30ms82.30ms
JSON Comp16,384218,199189,511+15%145.20ms260.80ms
JSON TLS4,096607,943391,978+55%266.87ms11.92ms
Upload321,6371,529+7%95.00ms110.60ms
Upload2561,8611,833+2%580.30ms714.00ms
Static1,024271,389284,595-5%144.40ms4.06ms
Static4,096277,642282,154-2%126.75ms14.74ms
Static6,800275,803273,800+1%195.41ms24.78ms
Static TLS1,024191,799204,709-6%183.27ms245.95ms
Static TLS4,096238,995238,340+0%303.36ms341.06ms
Static TLS6,800229,300226,856+1%382.26ms367.08ms
Async DB1,024113,590103,951+9%11.20ms13.60ms
CRUD4,096187,905172,551+9%38.50ms41.50ms
Fortunes1,02449,99151,030-2%43.10ms41.20ms
API-425625,27128,322-11%27.60ms30.50ms
API-161,02487,73471,525+23%52.40ms47.10ms
Baseline256515,664558,485-8%282.20ms44.86ms
Baseline1,024495,732541,980-9%768.20ms184.02ms
Static256196,780189,737+4%299.14ms41.76ms
Static1,024184,792180,206+3%530.61ms173.56ms
Baseline (h2c)256391,103412,245-5%359.42ms67.92ms
Baseline (h2c)1,024362,388402,964-10%1.95s210.39ms
Baseline (h2c)4,096392,445279,991+40%2.26s1.37s
JSON (h2c)1,024424,461314,284+35%319.32ms101.21ms
JSON (h2c)4,096389,919282,755+38%1.05s426.56ms
Echo5121,021,5631,021,279+0%1.33ms1.13ms
Echo4,096973,072980,019-1%9.46ms8.98ms
Echo16,384676,216645,400+5%42.90ms42.30ms
Echo Pipelined51211,253,40111,215,557+0%1.93ms2.13ms
Echo Pipelined4,09611,090,87110,647,634+4%14.40ms15.10ms
Echo Pipelined16,3848,286,8368,879,790-7%69.70ms61.10ms

Common comparisons

ktor-ghost vs ktor · ktor-ghost vs http4k · ktor-ghost vs fishcake · ktor vs http4k · ktor vs fishcake · http4k vs fishcake

Questions

Is ktor-ghost faster than ktor?

ktor-ghost is quicker than ktor on 25 of the 39 profiles they both run, and behind on 14. On the HTTP/1.1 composite they score 491 and 434. Both run on the same machine, in the same round, against the same profiles.

Is ktor-ghost faster than http4k?

ktor-ghost is quicker than http4k on 10 of the 12 profiles they both run, and behind on 2. On the HTTP/1.1 composite they score 491 and 133. Both run on the same machine, in the same round, against the same profiles.

Is ktor-ghost faster than fishcake?

fishcake is quicker than ktor-ghost on 19 of the 23 profiles they both run, and behind on 4. On the HTTP/1.1 composite they score 491 and 672. Both run on the same machine, in the same round, against the same profiles.

Is ktor faster than http4k?

ktor is quicker than http4k on 10 of the 12 profiles they both run, and behind on 2. On the HTTP/1.1 composite they score 434 and 133. Both run on the same machine, in the same round, against the same profiles.

Which Kotlin framework is fastest overall?

fishcake holds the highest HTTP/1.1 composite of the Kotlin entries, at 672. The composite is throughput over the whole suite; if a service is one shape of workload, compare that profile on its own in the table above, because the order changes.

Every Kotlin entry

Results updated · Kotlin composite ranking · Other languages · Open the leaderboard