HttpArena
Frameworks

fib-tuned

Experimental · Go · engine: fib · tuned configuration · completeness 2/4

The fib entry with its compression replaced: the JSON routes sit behind a compression middleware written in the entry on fib's middleware API (middleware.Chain and Context.OnResponse, as fib's own compress), coding brotli (andybalholm/brotli), zstd, gzip and deflate (klauspost/compress) as Accept-Encoding weighs them. Between codings a client weighs the same it picks gzip, then zstd, brotli and deflate, the order measured to cost least for the bytes saved on these 4-8 KB bodies. Everything else - listeners on 8080/8082/8081/8443 tcp+udp/9000, default fib configuration, routes, static through ServeContent, TLS - is the fib entry's.

Achievements

🥈 2 Silver · 🥉 2 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
🥈 SilverFamily compositeComposite · HTTP/32 of 4
🥈 SilverTest profileHTTP/3 · Baseline2 of 4
🥉 BronzeTest profileHTTP/3 · Static3 of 4
🥉 BronzeTest profileWorkload · 8Gbit3 of 7

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.15 of 82844
HTTP/24 of 5430
HTTP/32 of 4832

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,096653,1166.26ms26.20ms3536.3%188MiB
ConnectionPipelined4,0964,866,48613.15ms309.30ms3239.8%319MiB
ConnectionShort-lived4,096301,44413.62ms29.10ms2160.6%147MiB
ConcurrencyAsync Delay32,000918,59834.53ms43.80ms3218.5%407MiB
EfficiencyLatency-10K1,0249,98280.9us109.0us41.9%49MiB
EfficiencyLatency-1M1,024672,4283129328.4us6440960.0us3121.5%134MiB
EfficiencyLatency-500K/81,024344,6453075442.7us6133760.0us746.4%48MiB
WorkloadJSON Comp4,096185,38822.04ms77.50ms4167.8%457MiB
WorkloadJSON Comp16,384206,44177.57ms241.10ms4749.5%964MiB
WorkloadJSON TLS4,096350,72737.64ms858.31ms4379.4%358MiB
Workload8Gbit51249,291226.7us1401.0us600.0%101MiB
WorkloadStatic TLS1,024220,37315.36ms290.98ms4382.7%172MiB
DatabaseAsync DB1,02478,63112.60ms28.90ms3494.6%158MiB
HTTP/2Baseline256787,29730.78ms417.89ms3963.6%219MiB
HTTP/2Baseline1,024983,89894.76ms889.96ms4585.5%398MiB
HTTP/2Static256102,64877.91ms903.34ms3207.8%365MiB
HTTP/2Static1,024124,762239.71ms2.34s3576.8%713MiB
HTTP/2Baseline (h2c)256736,25833.76ms331.86ms4096.2%163MiB
HTTP/2Baseline (h2c)1,024913,023108.36ms935.08ms4565.1%374MiB
HTTP/2Baseline (h2c)4,0961,248,069289.84ms2.58s4772.7%525MiB
HTTP/2JSON (h2c)1,024217,381143.11ms1.96s3801.9%291MiB
HTTP/2JSON (h2c)4,096287,354400.45ms2.68s4253.8%561MiB
HTTP/3Baseline64695,0014.23ms31.11ms3046.5%118MiB
HTTP/3Static6440,15554.79ms1.03s1050.4%274MiB

Compared with

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

EntryCompositevs fib-tuned
fiber-tuned6394+125%head to head
fiber5726+101%head to head
go-fasthttp3234+14%head to head
fib2820-1%head to head
echo2295-19%head to head

Compare fib-tuned with any Go entry · Compare fib-tuned with any entry, in any language · Every Go entry, ranked

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