diff --git a/README.md b/README.md index 43e1ba237..b7a6b71d0 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Hi, thank you for visiting or contributing to our project, we are always looking HTTP framework benchmark platform. -29 test profiles. 64-core dedicated hardware. Same conditions for every framework. +30 test profiles. 64-core dedicated hardware. Same conditions for every framework. [View Leaderboard](https://www.http-arena.com/) | [Documentation](https://www.http-arena.com/#doc=) | [Add a Framework](https://www.http-arena.com/#doc=add-framework) @@ -44,7 +44,7 @@ The reply states which baseline it used, and profiles the other framework does n | Category | Profiles | Description | |----------|----------|-------------| | Connection | `baseline`, `pipelined` *, `limited-conn` | Mixed GET/POST with query parsing (512/4K conns), 16× batched pipelining (reference-only, shown faded, excluded from the composite score), short-lived connections that close after 10 requests | -| Workload | `json`, `json-comp`, `json-tls`, `upload`, `static` | JSON serialization, gzip/brotli compression, HTTP/1.1 over TLS, 20 MB body ingestion, 20-file static asset serving | +| Workload | `json`, `json-comp`, `json-tls`, `upload`, `static`, `static-tls` | JSON serialization, gzip/brotli compression, HTTP/1.1 over TLS, 20 MB body ingestion, 20-file static asset serving (plaintext and TLS) | | Database | `async-db`, `crud` | Async Postgres sequential scan; realistic REST API with cached reads, list, upsert, update, and optional Redis cache | | Templates | `fortunes` * | DB query + HTML template render (TechEmpower-style Fortunes). Reference-only — measures template-engine throughput, not part of the composite score | | Multi-endpoint | `api-4`, `api-16` | Mixed baseline + JSON + async-db at CPU-budget cliffs (4 and 16 logical CPUs, i.e. 2 and 8 full SMT cores) | diff --git a/frameworks/genhttp-11/meta.json b/frameworks/genhttp-11/meta.json index ea7276c0a..0a99423ba 100644 --- a/frameworks/genhttp-11/meta.json +++ b/frameworks/genhttp-11/meta.json @@ -18,6 +18,7 @@ "async-db", "crud", "static", + "static-tls", "echo-ws", "echo-ws-pipeline", "echo-ws-limited", diff --git a/scripts/benchmark-lite.sh b/scripts/benchmark-lite.sh index 1e2709673..8a1b2265a 100755 --- a/scripts/benchmark-lite.sh +++ b/scripts/benchmark-lite.sh @@ -11,9 +11,9 @@ # • Threads default to nproc/2 (not 64), so a 4-core laptop gets 2 # threads instead of 64. # • Fixed, reasonable connection counts per profile (mostly 512). -# • Smaller profile subset — skips api-4/16, json-tls, gateway-64, -# stream-grpc/stream-grpc-tls (they need either specific hardware -# topology or extra setup). +# • Smaller profile subset — skips api-4/16, json-tls, static-tls, +# gateway-64, stream-grpc/stream-grpc-tls (they need either specific +# hardware topology or extra setup). # • --load-threads override THREADS/H2THREADS/H3THREADS in one shot. # # The pre-refactor version lives at scripts/old/benchmark-lite-old.sh. @@ -69,7 +69,7 @@ source "$SOURCE_DIR/tools/ghz.sh" # Differences vs the full set: # • cpu_limit is always empty (no pinning, container gets all cores) # • conn_list is one fixed value per profile (no 256,1024 sweeps) -# • skipped profiles: api-4, api-16, json-tls, gateway-64, stream-grpc* +# • skipped profiles: api-4, api-16, json-tls, static-tls, gateway-64, stream-grpc* unset PROFILES PROFILE_ORDER declare -A PROFILES=( diff --git a/scripts/benchmark.sh b/scripts/benchmark.sh index 5334ac952..6d27554d0 100755 --- a/scripts/benchmark.sh +++ b/scripts/benchmark.sh @@ -165,7 +165,7 @@ FRAMEWORK="$FRAMEWORK_ARG" # and any combination thereof. _has_isolated_test=false for t in baseline pipelined limited-conn json json-comp json-tls upload \ - api-4 api-16 static async-db \ + api-4 api-16 static static-tls async-db \ baseline-h2 static-h2 baseline-h2c json-h2c \ baseline-h3 static-h3 \ unary-grpc unary-grpc-tls stream-grpc stream-grpc-tls \ diff --git a/scripts/gen_leaderboard_data.py b/scripts/gen_leaderboard_data.py index 5c96a560d..dc05225ab 100644 --- a/scripts/gen_leaderboard_data.py +++ b/scripts/gen_leaderboard_data.py @@ -46,6 +46,7 @@ ("json-tls", "JSON TLS", "JSON over HTTP/1.1 + TLS.", [4096], [4096], True,True), ("upload", "Upload", "Large request-body ingestion.", [32,64,256,512], [32,256], True,False), ("static", "Static", "20-file static asset serving.", [1024,4096,6800,16384],[1024,4096,6800],True,False), + ("static-tls","Static TLS", "20-file static serving over TLS.", [1024,4096,6800], [1024,4096,6800],True,False), ]), ("Database", [ ("async-db", "Async DB", "Async Postgres sequential scan.", [1024], [1024], True,True), @@ -100,6 +101,7 @@ "json-tls": "test-profiles/h1/isolated/json-tls/implementation", "upload": "test-profiles/h1/isolated/upload/implementation", "static": "test-profiles/h1/isolated/static/implementation", + "static-tls": "test-profiles/h1/isolated/static-tls/implementation", "async-db": "test-profiles/h1/isolated/async-database/implementation", "crud": "test-profiles/h1/isolated/crud/implementation", "fortunes": "test-profiles/h1/isolated/fortunes/implementation", diff --git a/scripts/lib/framework.sh b/scripts/lib/framework.sh index 7d591dea0..2ee905f07 100644 --- a/scripts/lib/framework.sh +++ b/scripts/lib/framework.sh @@ -202,6 +202,9 @@ framework_wait_ready() { static) probe_url="http://localhost:$PORT/static/reset.css" ;; + static-tls) + probe_url="https://localhost:$H1TLS_PORT/static/reset.css" + ;; json) probe_url="http://localhost:$PORT/json/1" ;; diff --git a/scripts/lib/profiles.sh b/scripts/lib/profiles.sh index cb7025615..f4d9c9053 100644 --- a/scripts/lib/profiles.sh +++ b/scripts/lib/profiles.sh @@ -20,6 +20,7 @@ declare -A PROFILES=( [api-4]="1|5|0-1,64-65|256|api-4" [api-16]="1|5|0-7,64-71|1024|api-16" [static]="1|200|0-31,64-95|1024,4096,6800|static" + [static-tls]="1|200|0-31,64-95|1024,4096,6800|static-tls" [async-db]="1|0|0-31,64-95|1024|async-db" [crud]="1|200|1-31,65-95|4096|crud" [fortunes]="1|0|0-31,64-95|1024|fortunes" @@ -45,7 +46,7 @@ PROFILE_ORDER=( baseline pipelined limited-conn json json-comp json-tls upload api-4 api-16 - static async-db crud + static static-tls async-db crud fortunes baseline-h2 static-h2 baseline-h2c json-h2c @@ -76,7 +77,7 @@ parse_profile() { endpoint_tool() { case "$1" in # wrk (lua script rotation) - static|json-tls) echo "wrk" ;; + static|static-tls|json-tls) echo "wrk" ;; # h2load for all HTTP/2 variants (TLS via ALPN + h2c prior-knowledge) h2|static-h2|h2c|json-h2c|gateway-64|grpc|grpc-tls|production-stack) echo "h2load" ;; # h2load built with ngtcp2 for HTTP/3 diff --git a/scripts/lib/tools/wrk.sh b/scripts/lib/tools/wrk.sh index 2de81e581..3c0caa698 100644 --- a/scripts/lib/tools/wrk.sh +++ b/scripts/lib/tools/wrk.sh @@ -28,6 +28,11 @@ wrk_build_args() { -s "$REQUESTS_DIR/static-rotate.lua" "http://localhost:$PORT") ;; + static-tls) + cmd+=(-t "$THREADS" -c "$conns" -d "$duration" + -s "$REQUESTS_DIR/static-rotate.lua" + "https://localhost:$H1TLS_PORT") + ;; json-tls) cmd+=(-t "$THREADS" -c "$conns" -d "$duration" -s "$REQUESTS_DIR/json-tls-rotate.lua" diff --git a/scripts/validate.sh b/scripts/validate.sh index 5f9bc89c8..19929ead9 100755 --- a/scripts/validate.sh +++ b/scripts/validate.sh @@ -161,7 +161,7 @@ if has_test "baseline-h2" || has_test "static-h2" || has_test "baseline-h3" || h fi needs_h1tls=false -if has_test "json-tls"; then +if has_test "json-tls" || has_test "static-tls"; then needs_h1tls=true fi @@ -183,7 +183,7 @@ if has_test "gateway-64" || has_test "gateway-h3"; then docker_args+=(-v "$DATA_DIR/dataset-large.json:/data/dataset-large.json:ro") fi -if has_test "static" || has_test "static-h2" || has_test "static-h3" || has_test "gateway-64" || has_test "gateway-h3" || has_test "production-stack"; then +if has_test "static" || has_test "static-tls" || has_test "static-h2" || has_test "static-h3" || has_test "gateway-64" || has_test "gateway-h3" || has_test "production-stack"; then docker_args+=(-v "$DATA_DIR/static:/data/static:ro") fi @@ -1102,6 +1102,84 @@ if has_test "static"; then fi +# ───── Static Files TLS (GET /static/* over HTTP/1.1 + TLS on :8081) ───── + +if has_test "static-tls"; then + STATICTLS_DOCS="$DOCS_BASE/h1/isolated/static-tls/validation" + echo "[test] static-tls endpoint" + + # Must negotiate HTTP/1.1 (not h2) via ALPN on :8081 + stls_proto=$(curl -sk --max-time 30 --http1.1 -o /dev/null -w '%{http_version}' "https://localhost:$H1TLS_PORT/static/reset.css" 2>/dev/null || echo "0") + if [ "$stls_proto" = "1.1" ]; then + echo " PASS [static-tls protocol negotiation] (HTTP/$stls_proto over TLS)" + PASS=$((PASS + 1)) + else + fail_with_link "[static-tls protocol negotiation]: expected 1.1, got HTTP/$stls_proto" "$STATICTLS_DOCS" + fi + + check_header "GET /static/reset.css Content-Type (TLS)" "Content-Type" "text/css" "$STATICTLS_DOCS" \ + -sk "https://localhost:$H1TLS_PORT/static/reset.css" + + check_header "GET /static/app.js Content-Type (TLS)" "Content-Type" "application/javascript" "$STATICTLS_DOCS" \ + -sk "https://localhost:$H1TLS_PORT/static/app.js" + + check_header "GET /static/manifest.json Content-Type (TLS)" "Content-Type" "application/json" "$STATICTLS_DOCS" \ + -sk "https://localhost:$H1TLS_PORT/static/manifest.json" + + # Verify file sizes match actual files on disk + stls_fail=false + for sf in reset.css layout.css theme.css components.css utilities.css analytics.js helpers.js app.js vendor.js router.js header.html footer.html regular.woff2 bold.woff2 logo.svg icon-sprite.svg hero.webp thumb1.webp thumb2.webp manifest.json; do + expected_size=$(wc -c < "$DATA_DIR/static/$sf" 2>/dev/null || echo "0") + actual_size=$(curl -sk --max-time 30 -o /dev/null -w '%{size_download}' "https://localhost:$H1TLS_PORT/static/$sf" || echo "0") + if [ "$actual_size" -eq "$expected_size" ] 2>/dev/null; then + true + else + fail_with_link "[static-tls/$sf size]: expected $expected_size bytes, got $actual_size" "$STATICTLS_DOCS" + stls_fail=true + fi + done + if [ "$stls_fail" = "false" ]; then + echo " PASS [static-tls file sizes] (20 files verified)" + PASS=$((PASS + 1)) + fi + + # Verify compression works when Accept-Encoding is sent — for each file, if server compresses, decompressed size must match original + stls_comp_fail=false + stls_comp_count=0 + stls_comp_skip=0 + for sf in reset.css layout.css theme.css components.css utilities.css analytics.js helpers.js app.js vendor.js router.js header.html footer.html regular.woff2 bold.woff2 logo.svg icon-sprite.svg hero.webp thumb1.webp thumb2.webp manifest.json; do + expected_size=$(wc -c < "$DATA_DIR/static/$sf" 2>/dev/null || echo "0") + _hdr_tmp=$(mktemp) + _body_tmp=$(mktemp) + curl -sk --max-time 30 --compressed -D "$_hdr_tmp" -o "$_body_tmp" "https://localhost:$H1TLS_PORT/static/$sf" || true + comp_enc=$(grep -i "^content-encoding:" "$_hdr_tmp" | sed 's/^[^:]*: *//' | tr -d '\r' | awk '{print tolower($1)}' || true) + decompressed=$(wc -c < "$_body_tmp") + rm -f "$_hdr_tmp" "$_body_tmp" + if [ -n "$comp_enc" ]; then + if [ "$decompressed" -eq "$expected_size" ] 2>/dev/null; then + stls_comp_count=$((stls_comp_count + 1)) + else + fail_with_link "[static-tls/$sf compression]: Content-Encoding: $comp_enc but decompressed size $decompressed != expected $expected_size" "$STATICTLS_DOCS" + stls_comp_fail=true + fi + else + stls_comp_skip=$((stls_comp_skip + 1)) + fi + done + if [ "$stls_comp_fail" = "false" ]; then + if [ "$stls_comp_count" -gt 0 ]; then + echo " PASS [static-tls compression] ($stls_comp_count files compressed, $stls_comp_skip skipped)" + PASS=$((PASS + 1)) + else + echo " SKIP [static-tls compression] (server does not compress static files)" + fi + fi + + check_status "GET /static/nonexistent.txt (TLS)" "404" "$STATICTLS_DOCS" \ + -sk "https://localhost:$H1TLS_PORT/static/nonexistent.txt" +fi + + # ───── Static Files H2 (GET /static/* over HTTP/2 + TLS) ───── if has_test "static-h2"; then diff --git a/site/content/docs/test-profiles/h1/isolated/_index.md b/site/content/docs/test-profiles/h1/isolated/_index.md index 5a5558914..e23528584 100644 --- a/site/content/docs/test-profiles/h1/isolated/_index.md +++ b/site/content/docs/test-profiles/h1/isolated/_index.md @@ -16,6 +16,7 @@ Single-endpoint benchmarks that measure framework performance on one task at a t {{< card link="upload" title="Upload (20 MB)" subtitle="Sends a 20 MB binary payload, server returns byte count. Measures body ingestion throughput." icon="cloud-upload" >}} {{< card link="async-database" title="Async Database (Postgres)" subtitle="Async Postgres range query over 100K rows, connection pooling, and JSON serialization. Framework-only benchmark." icon="database" >}} {{< card link="static" title="Static Files" subtitle="Serves 20 static files - CSS, JS, HTML, fonts, images - over HTTP/1.1." icon="photograph" >}} + {{< card link="static-tls" title="Static Files over TLS" subtitle="Same 20-file static workload transported over HTTP/1.1 + TLS on port 8081 - measures the cost of encryption on bulk file serving." icon="lock-closed" >}} {{< card link="pipelined" title="Pipelined (16x) *" subtitle="16 requests sent back-to-back per connection, testing raw I/O and pipeline batching. Reference-only - not part of the composite score." icon="fast-forward" >}} {{< card link="crud" title="CRUD (REST API)" subtitle="Realistic REST API with paginated list, cached reads, create, and update against Postgres." icon="database" >}} {{< card link="fortunes" title="Fortunes (Templates) *" subtitle="DB query + HTML template rendering with auto-escape. Reference-only - measures template-engine throughput, not part of the composite score." icon="document-text" >}} diff --git a/site/content/docs/test-profiles/h1/isolated/static-tls/_index.md b/site/content/docs/test-profiles/h1/isolated/static-tls/_index.md new file mode 100644 index 000000000..c39daedb5 --- /dev/null +++ b/site/content/docs/test-profiles/h1/isolated/static-tls/_index.md @@ -0,0 +1,12 @@ +--- +title: Static Files (HTTP/1.1 + TLS) +seo_title: "Static File Serving Benchmark (HTTP/1.1 + TLS)" +description: "Serves twenty static files of mixed type and size over HTTP/1.1 + TLS, approximating a realistic page load over an encrypted connection." +--- + +Serves 20 static files of various types and sizes over HTTP/1.1 + TLS on port 8081, simulating a realistic page load over an encrypted connection. + +{{< cards >}} + {{< card link="implementation" title="Implementation Guidelines" subtitle="Endpoint specification, expected request/response format, and type-specific rules." icon="code" >}} + {{< card link="validation" title="Validation" subtitle="All checks executed by the validation script for this test profile." icon="check-circle" >}} +{{< /cards >}} diff --git a/site/content/docs/test-profiles/h1/isolated/static-tls/implementation.md b/site/content/docs/test-profiles/h1/isolated/static-tls/implementation.md new file mode 100644 index 000000000..6f73e0785 --- /dev/null +++ b/site/content/docs/test-profiles/h1/isolated/static-tls/implementation.md @@ -0,0 +1,86 @@ +--- +title: Implementation Guidelines +seo_title: "Static File Serving Benchmark (HTTP/1.1 + TLS) — Implementation Guide" +description: "Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/1.1 + TLS static file benchmark." +--- +{{< type-rules standard="Must load files from disk on every request. No in-memory caching, no memory-mapped files, no pre-loaded file buffers. Compression must use the framework's standard middleware or built-in static file handler - no handmade compression code. Serving pre-compressed `.br`/`.gz` variants from disk **is allowed**, but only through a documented framework API (e.g. ASP.NET `MapStaticAssets`, nginx `gzip_static` / `brotli_static`, Caddy `precompressed`). No custom file-suffix lookup logic. TLS must come from a standard stack (OpenSSL, BoringSSL, rustls, SChannel, JDK JSSE, etc.) - no TLS session-ticket shortcuts that skip real handshakes." tuned="May cache files in memory at startup, use memory-mapped files, pre-rendered response headers, or any caching strategy. May serve pre-compressed files (.gz, .br) from disk via any mechanism. Free to use any compression approach and tuned TLS providers." engine="No specific rules." >}} + +The Static Files over TLS profile is the [Static Files](../static/implementation/) workload transported over HTTP/1.1 + TLS on a dedicated port. It measures how much of a framework's plaintext static-serving throughput survives encryption. + +**Connections:** 1,024, 4,096, 6,800 + +## How it works + +1. The framework serves the same 20 files from `/data/static/` as the plain `static` profile +2. The framework listens on **port 8081** with HTTPS, serving HTTP/1.1 only (ALPN advertises `http/1.1`) +3. The load generator ([wrk](https://github.com/wg/wrk)) requests the 20 files in a round-robin pattern using the same Lua rotation script as `static` (`requests/static-rotate.lua`), over `https://` +4. All requests include `Accept-Encoding: br;q=1, gzip;q=0.8` + +- **CSS** (5 files, 8–200 KB): `reset.css`, `layout.css`, `theme.css`, `components.css`, `utilities.css` +- **JavaScript** (5 files, 12–300 KB): `analytics.js`, `helpers.js`, `app.js`, `vendor.js`, `router.js` +- **HTML** (2 files, 55–120 KB): `header.html`, `footer.html` +- **Fonts** (2 files, 18–22 KB): `regular.woff2`, `bold.woff2` +- **SVG** (2 files, 15–70 KB): `logo.svg`, `icon-sprite.svg` +- **Images** (3 files, 6–45 KB): `hero.webp`, `thumb1.webp`, `thumb2.webp` +- **JSON** (1 file, 3 KB): `manifest.json` + +Total payload: ~842 KB across 20 files (~743 KB compressible text + ~99 KB binary). Brotli-compressed total: ~219 KB. + +Pre-compressed versions of all text files (`.gz` at level 9, `.br` at level 11) are available in the `data/static/` directory alongside the originals. + +## Compression + +Identical to the plain [`static` profile](../static/implementation/#compression): compression is **optional**, must come from standard middleware / documented pre-compressed-file APIs on **production** entries, and is unrestricted on **tuned** entries. + +## Port, ALPN, and certificates + +- **Port**: 8081 (distinct from 8080 plaintext and 8443 which is dedicated to HTTP/2 / HTTP/3 profiles), shared with the `json-tls` profile +- **ALPN**: advertise `http/1.1` only. HTTP/1.1-only clients (wrk) negotiate correctly and never upgrade to h2. +- **Certificates**: the same PEM files used by `json-tls` / `baseline-h2` / `static-h2`, mounted at `/certs/server.crt` and `/certs/server.key`. Frameworks typically read them via environment variables (`TLS_CERT`, `TLS_KEY`) or a hardcoded path, same pattern as the other TLS tests. + +## What it measures + +- Everything [Static Files](../static/implementation/#what-it-measures) measures +- **TLS handshake cost amortized over keep-alive** - connections are long-lived at 1,024–6,800 concurrent +- **Record framing overhead on large payloads** - multi-hundred-KB responses span many TLS records, unlike the small JSON bodies of `json-tls` +- **Symmetric cipher throughput** - AES-GCM / ChaCha20-Poly1305 on the hot path, dominated by bulk encryption of file bodies + +## Expected request/response + +``` +GET /static/reset.css HTTP/1.1 +Host: localhost:8081 +Accept-Encoding: br;q=1, gzip;q=0.8 +``` + +``` +HTTP/1.1 200 OK +Content-Type: text/css +Content-Encoding: br + +(compressed file contents) +``` + +Or without compression: + +``` +HTTP/1.1 200 OK +Content-Type: text/css + +(file contents) +``` + +## Parameters + +| Parameter | Value | +|-----------|-------| +| Endpoint | 20 URIs under `/static/*` | +| Transport | HTTP/1.1 over TLS | +| Port | 8081 | +| ALPN | `http/1.1` | +| Connections | 1,024, 4,096, 6,800 | +| Pipeline | 1 | +| Duration | 5s | +| Runs | 3 (best taken) | +| Load generator | wrk + `requests/static-rotate.lua` | +| Certificates | mounted at `/certs/server.crt` + `/certs/server.key` | diff --git a/site/content/docs/test-profiles/h1/isolated/static-tls/validation.md b/site/content/docs/test-profiles/h1/isolated/static-tls/validation.md new file mode 100644 index 000000000..004201027 --- /dev/null +++ b/site/content/docs/test-profiles/h1/isolated/static-tls/validation.md @@ -0,0 +1,44 @@ +--- +title: Validation +seo_title: "Static File Serving Benchmark (HTTP/1.1 + TLS) — Validation Checks" +description: "The correctness checks validate.sh runs against the HTTP/1.1 + TLS static file benchmark before a framework's results are accepted." +--- + +The following checks are executed by `validate.sh` for every framework subscribed to the `static-tls` test. They mirror the [`static` checks](../../static/validation/), performed over HTTPS on port 8081. + +## ALPN negotiates HTTP/1.1 + +``` +curl -sk --http1.1 https://localhost:8081/static/reset.css +``` + +The response must report `http_version = 1.1`. A framework that advertises only `h2` on port 8081, or that refuses HTTP/1.1 clients, fails this check. + +## Content-Type headers + +Verifies correct `Content-Type` headers for representative file types: + +- `GET /static/reset.css` - expects `Content-Type: text/css` +- `GET /static/app.js` - expects `Content-Type: application/javascript` +- `GET /static/manifest.json` - expects `Content-Type: application/json` + +Note: `text/javascript` is accepted as equivalent to `application/javascript` per RFC 9239. + +## File size verification (uncompressed) + +Requests all 20 static files **without** `Accept-Encoding` and compares the response size against the actual file size on disk. All 20 files must match exactly. This ensures the server returns uncompressed content when no compression is requested. + +`reset.css`, `layout.css`, `theme.css`, `components.css`, `utilities.css`, `analytics.js`, `helpers.js`, `app.js`, `vendor.js`, `router.js`, `header.html`, `footer.html`, `regular.woff2`, `bold.woff2`, `logo.svg`, `icon-sprite.svg`, `hero.webp`, `thumb1.webp`, `thumb2.webp`, `manifest.json` + +## Compression verification + +Requests all 20 static files **with** `Accept-Encoding: br;q=1, gzip;q=0.8` and checks: + +- If the server returns a `Content-Encoding` header (br or gzip), the decompressed response size must match the original file size on disk +- If the server does not compress a file, it is counted as skipped (not a failure - compression is optional) + +**PASS** if all compressed files decompress to the correct size. **SKIP** if the server does not compress any files. **FAIL** if any compressed file decompresses to the wrong size. + +## 404 for nonexistent file + +Sends `GET /static/nonexistent.txt` and verifies the server returns **HTTP 404**. diff --git a/site/data/results/genhttp-11.json b/site/data/results/genhttp-11.json index 2a2874449..f9c23e7af 100644 --- a/site/data/results/genhttp-11.json +++ b/site/data/results/genhttp-11.json @@ -519,6 +519,63 @@ "status_4xx": 0, "status_5xx": 0 }, + "static-tls-1024": { + "framework": "genhttp-11", + "language": "C#", + "rps": 524716, + "avg_latency": "2.36ms", + "p99_latency": "29.34ms", + "cpu": "5734.1%", + "memory": "514MiB", + "connections": 1024, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "8.02GB", + "reconnects": 0, + "status_2xx": 2676131, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, + "static-tls-4096": { + "framework": "genhttp-11", + "language": "C#", + "rps": 491305, + "avg_latency": "8.42ms", + "p99_latency": "68.36ms", + "cpu": "6126.1%", + "memory": "996MiB", + "connections": 4096, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "7.51GB", + "reconnects": 0, + "status_2xx": 2505948, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, + "static-tls-6800": { + "framework": "genhttp-11", + "language": "C#", + "rps": 462125, + "avg_latency": "14.10ms", + "p99_latency": "124.94ms", + "cpu": "6280.7%", + "memory": "1.4GiB", + "connections": 6800, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "7.07GB", + "reconnects": 0, + "status_2xx": 2357523, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, "upload-256": { "framework": "genhttp-11", "language": "C#", diff --git a/site/leaderboard/data.js b/site/leaderboard/data.js index eb0226975..c7f902feb 100644 --- a/site/leaderboard/data.js +++ b/site/leaderboard/data.js @@ -1 +1 @@ -window.LB_DATA = {"current":{"cpu":"AMD Ryzen Threadripper PRO 3995WX 64-Cores","cores":"64","threads":"128","threads_per_core":"2","ram":"251Gi","os":"Ubuntu 24.04.4 LTS","kernel":"6.17.0-22-generic","docker":"29.3.0","docker_runtime":"runc","governor":"performance","tcp":{"lo_mtu":"1500","congestion":"cubic","somaxconn":"65535","rmem_max":"7500000","wmem_max":"7500000"}},"langColors":{"C":{"accent":"#e53e3e","text":"#c53030","textDark":"#fc8181","rgb":"229,62,62"},"C#":{"accent":"#7c3aed","text":"#6d28d9","textDark":"#a78bfa","rgb":"124,58,237"},"Go":{"accent":"#00add8","text":"#0094b8","textDark":"#4fd1eb","rgb":"0,173,216"},"Java":{"accent":"#d97706","text":"#b45309","textDark":"#fbbf24","rgb":"217,119,6"},"Rust":{"accent":"#b45309","text":"#92400e","textDark":"#f59e0b","rgb":"180,83,9"},"JS":{"accent":"#f7df1e","text":"#a16207","textDark":"#facc15","rgb":"247,223,30"},"TS":{"accent":"#3178c6","text":"#2a66a8","textDark":"#6db4f3","rgb":"49,120,198"},"Python":{"accent":"#3776ab","text":"#2f6491","textDark":"#73b7dd","rgb":"55,118,171"},"C++":{"accent":"#db2777","text":"#be185d","textDark":"#f472b6","rgb":"219,39,119"},"PHP":{"accent":"#7b7fb5","text":"#4f5b93","textDark":"#a0a4d9","rgb":"123,127,181"},"Lua":{"accent":"#000080","text":"#00006a","textDark":"#6e6eff","rgb":"0,0,128"},"Luau":{"accent":"#00a2ff","text":"#0087d4","textDark":"#4fc3ff","rgb":"0,162,255"},"Ruby":{"accent":"#cc342d","text":"#a82723","textDark":"#f06b5e","rgb":"204,52,45"},"Crystal":{"accent":"#000100","text":"#000100","textDark":"#a8a8a8","rgb":"0,1,0"},"Nim":{"accent":"#ffc200","text":"#d4a200","textDark":"#ffe066","rgb":"255,194,0"},"Gleam":{"accent":"#ffaff3","text":"#d946b8","textDark":"#ffaff3","rgb":"255,175,243"},"Zig":{"accent":"#f7a41d","text":"#c47f0a","textDark":"#f7a41d","rgb":"247,164,29"},"Swift":{"accent":"#f05138","text":"#d63d25","textDark":"#f47b6b","rgb":"240,81,56"},"Elixir":{"accent":"#6e4a7e","text":"#5b3a6b","textDark":"#b07cc6","rgb":"110,74,126"},"Kotlin":{"accent":"#7f52ff","text":"#6538d4","textDark":"#a48bff","rgb":"127,82,255"},"Dart":{"accent":"#0175c2","text":"#01589b","textDark":"#40c4ff","rgb":"1,117,194"},"Clojure":{"accent":"#5881d8","text":"#3e64b8","textDark":"#91b3ed","rgb":"88,129,216"},"Erlang":{"accent":"#a20031","text":"#880029","textDark":"#c63762","rgb":"162,0,49"},"V":{"accent":"#4f87c4","text":"#3b6ea6","textDark":"#8fbce8","rgb":"79,135,196"},"OCaml":{"accent":"#ef7a08","text":"#c46306","textDark":"#f9a75a","rgb":"239,122,8"},"Type-C":{"accent":"#059669","text":"#047857","textDark":"#34d399","rgb":"5,150,105"}},"meta":{"actix":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/actix/actix-web","dir":"actix","engine":"actix","desc":"Actix-web 4 with rustls for TLS. Standard configuration: actix-files serves static content from disk per request via try_compressed(), which selects a pre-compressed .br/.gz sibling by Accept-Encoding through the framework API (no hand-rolled suffix lookup); the Compress middleware compresses dynamic responses (json-comp) on-the-fly. deadpool-postgres for async DB pooling (sized from DATABASE_MAX_CONN); crud reads go through an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update \u2014 no Redis required). json-tls is served over HTTP/1.1-with-TLS on :8081; baseline-h2/static-h2 over h2 on :8443. serde_json per request. Pinned to actix git main for try_compressed() (unreleased in actix-files 0.6.10). Compiled with -O3 and thin LTO."},"aleph":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/clj-commons/aleph","dir":"aleph","engine":"netty","desc":""},"araara-standard":{"type":"experimental","mode":"standard","language":"","repo":"https://araara.ml","dir":"araara-standard","engine":"hcs","desc":"araara - an OCaml 5 web stack built on HCS, using HCS server defaults where possible for the HttpArena harness. Eio, radix-trie routing, Phoenix-style plugs, Postgres via repodb, gzip/zstd compression. HTTP/3 and gRPC are not implemented."},"araara":{"type":"experimental","mode":"tuned","language":"","repo":"https://araara.ml","dir":"araara","engine":"hcs","desc":"araara - an OCaml 5 web stack built on HCS, Eio, a zero-copy sans-I/O HTTP codec, radix-trie routing, Phoenix-style plugs, Postgres via repodb, and gzip/zstd compression. HTTP/3 and gRPC are not implemented."},"aspnet-minimal":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal","engine":"kestrel","desc":"Minimal ASP.NET Core server using .NET 10 with Kestrel and minimal API routing."},"aspnet-minimal-aot":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal-aot","engine":"Kestrel","desc":"Minimal ASP.NET Core Native AOT server using .NET 10 with Kestrel and minimal API routing."},"aspnet-minimal-iouring":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/benaadams/runtime/tree/io_uring","dir":"aspnet-minimal-iouring","engine":"io_uring","desc":"ASP.NET Core minimal API with experimental io_uring socket engine (dotnet/runtime#124374). Replaces epoll with io_uring for socket I/O on Linux 6.1+."},"aspnet-minimal-ioxide":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/MDA2AV/ioxide","dir":"aspnet-minimal-ioxide","engine":"io_uring","desc":"Minimal ASP.NET Core (.NET 11) on the ioxide io_uring transport (ioxide.Kestrel via UseIoxide(), default reactor count). Same app as aspnet-minimal \u2014 only the Kestrel transport differs. HTTP/1.1 only: plaintext plus HTTP/1.1-over-TLS (json-tls) terminated in the transport via kTLS (ioxide.tls). HTTP/2 and HTTP/3 are not enabled."},"aspnet-minimal + caddy":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal_caddy","engine":"kestrel","desc":"ASP.NET minimal API behind Caddy, serving HTTP/3 (QUIC) at the edge with h1 forwarding to Kestrel."},"aspnet-minimal + nginx":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal_nginx","engine":"kestrel","desc":"ASP.NET Core minimal API behind an Nginx reverse proxy. Nginx handles TLS termination and static files, proxying dynamic endpoints to Kestrel over HTTP/1.1."},"aspnet-mvc":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-mvc","engine":"kestrel","desc":"ASP.NET Core server using .NET 10 with Kestrel and MVC controller routing."},"bananabread":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/dotnet-web-stack/Seagreen","dir":"bananabread","engine":"seagreen","desc":"Seagreen \u2014 a TypeScript port of GenHTTP \u2014 on Bun's raw-TCP engine, with kotlinx-style decorators and Bun's built-in SQL."},"beskar-websocket":{"type":"experimental","mode":"standard","language":"","repo":"https://github.com/MarvinDrude/Beskar.Networking","dir":"beskar-websocket","engine":"beskar","desc":"High-performance WebSocket echo server built with Beskar.Networking."},"bjoern":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/jonashaag/bjoern","dir":"bjoern","engine":"libev","desc":"A screamingly fast, ultra-lightweight WSGI server"},"blackbull":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/TOKUJI/BlackBull","dir":"blackbull","engine":"blackbull","desc":"BlackBull \u2014 pure-Python async ASGI 3.0 framework supporting HTTP/1.1, HTTP/2, and WebSocket. ALPN negotiates HTTP/2 on the same listener that serves HTTP/1.1."},"bottle":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/bottlepy/bottle","dir":"bottle","engine":"gunicorn","desc":"Fast, simple and lightweight WSGI micro web-framework for Python"},"bun-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/oven-sh/bun","dir":"bun-websocket","engine":"bun","desc":"Bun WebSocket echo server"},"dart-io":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/kartikey321/dart-sdk","dir":"dart-io","engine":"dart:io","desc":"Stock Dart HttpServer baseline in the same SDK lineage as dart-zig, with optional JIT/AOT runtime mode via DART_IO_MODE for direct PR comparisons."},"dart-zig":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/kartikey321/dart-sdk/tree/dart-zig/dart-zig","dir":"dart-zig","engine":"io_uring","desc":"dart-zig custom Dart runtime on Linux io_uring, using the reusable dart-zig runtime and builder images, with the benchmark app source owned by HttpArena. Current integration targets baseline, pipelined, limited-conn, and json."},"deno-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/denoland/deno","dir":"deno-websocket","engine":"deno","desc":"Deno WebSocket echo server"},"dogrider":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/MDA2AV/dogrider","dir":"dogrider","engine":"zerg","desc":"GenHTTP websockets with zerg backend"},"effinitive":{"type":"experimental","mode":"standard","language":"","repo":"https://github.com/HBartosch/Effinitive","dir":"effinitive","engine":"effinitive","desc":"Ultra-high-performance custom HTTP server for .NET 10 \u2014 built from scratch for maximum speed."},"elysia":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/elysiajs/elysia","dir":"elysia","engine":"jsc","desc":"An ergonomic framework for Humans"},"express":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/expressjs/express","dir":"express","engine":"nodehttp","desc":"Express 5 on node:http with the cluster module for multi-core scaling."},"fastapi":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/fastapi/fastapi","dir":"fastapi","engine":"uvicorn","desc":"FastAPI async web framework on Uvicorn (uvloop)"},"fastendpoints":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/FastEndpoints/FastEndpoints","dir":"fastendpoints","engine":"kestrel","desc":"FastEndpoints (REPR-pattern endpoint framework on ASP.NET Core) using .NET 10 with Kestrel."},"fasthttp":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/vlang/v","dir":"fasthttp","engine":"epoll","desc":"fasthttp is a raw multi-threaded epoll HTTP server in V's standard library (non-blocking, SO_REUSEPORT, one worker per core). It uses fasthttp's zero-copy append handler (write the raw response straight into the connection's reused buffer), lock-free per-worker state (make_state), deterministic request framing that reassembles TCP-fragmented AND chunked requests (so baseline is now subscribed), and sendfile(2) for static bodies. JSON is built in a single allocation with precomputed prefixes (no per-request reflection); json-comp gzips on Accept-Encoding with a process-shared cache; static assets are streamed via sendfile with a preloaded MIME/size table; crud is an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update); fortunes renders the DB rows + a runtime row with HTML escaping; async-db/crud/fortunes use the stdlib db.pg pooled Go-style DB (blocking queries on the worker thread \u2014 fasthttp has no async watch reactor yet). Built on pinned V master 84a76d791 (the fasthttp vanilla-architecture refactor, vlang/v#27771) with the default GC (Boehm). json-tls is not subscribed: the stdlib fasthttp server has no TLS backend."},"fastify":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/fastify/fastify","dir":"fastify","engine":"nodehttp","desc":"Fastify 5 on node:http with the cluster module for multi-core scaling."},"fastpysgi-asgi":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/remittor/fastpysgi","dir":"fastpysgi-asgi","engine":"libuv","desc":"An ultra fast WSGI/ASGI server for Python"},"fastpysgi-wsgi":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/remittor/fastpysgi","dir":"fastpysgi-wsgi","engine":"libuv","desc":"An ultra fast WSGI/ASGI server for Python"},"fishcake":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/dotnet-web-stack/CodeGreen","dir":"fishcake","engine":"codegreen","desc":"CodeGreen, a 1:1 Kotlin port of GenHTTP, on its internal Netty-based engine with kotlinx.serialization and JDBC (HikariCP)."},"flask":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/pallets/flask","dir":"flask","engine":"gunicorn","desc":"Flask web framework on Gunicorn with sync workers"},"fleck":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/statianzo/Fleck","dir":"fleck","engine":"fleck","desc":"C# websockets framework"},"fletch":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/kartikey321/fletch","dir":"fletch","engine":"dart:io","desc":"Express-inspired HTTP framework for Dart with radix-tree routing, middleware chains, signed sessions, and built-in DI."},"frankenphp-trueasync":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/true-async/php-async","dir":"frankenphp-trueasync","engine":"frankenphp","desc":"FrankenPHP with TrueAsync coroutine engine. Each HTTP request runs as a cooperative coroutine with PDO connection pooling, async I/O, and OPcache JIT. Built on Caddy with native HTTP/2 and HTTP/3 support."},"fulmine":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/nigrosimone/fulmine.js","dir":"fulmine","engine":"uwebsockets","desc":"fulmine.js (drop-in Express 5 on uWebSockets.js) with the cluster module for multi-core scaling."},"genhttp-11-ioxide":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-11-ioxide","engine":"ioxide","desc":"GenHTTP 11 on .NET 11 on a custom io_uring server engine (the ioxide runtime) instead of the default socket engine. Uses GenHTTP's published ioxide engine packages (GenHTTP.Engine.Ioxide / GenHTTP.Modules.IoxideFiles, PR #860, merged). Responses go through GenHTTP's own routing + serialization; Postgres rides ioxide.pg (per-reactor ring-native pool) and json-tls rides ioxide.tls (kTLS TX) on :8081."},"genhttp-11-kestrel":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-11-kestrel","engine":"kestrel","desc":"Lightweight, embeddable and modular C# web server."},"genhttp-11":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-11","engine":"genhttp","desc":"Lightweight, embeddable and modular C# web server."},"genhttp-kestrel":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-kestrel","engine":"kestrel","desc":"Lightweight, embeddable and modular C# web server."},"genhttp":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp","engine":"genhttp","desc":"Lightweight, embeddable and modular C# web server."},"go-fasthttp":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/valyala/fasthttp","dir":"go-fasthttp","engine":"fasthttp","desc":"High-performance Go HTTP server using fasthttp with zero-allocation design and buffer reuse."},"go-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/gobwas/ws","dir":"go-websocket","engine":"net/http","desc":"Go WebSocket echo server using gobwas/ws"},"grpc-go":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/grpc/grpc-go","dir":"grpc-go","engine":"grpc-go","desc":"Go gRPC server using google.golang.org/grpc."},"h2o-mruby":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/h2o/h2o","dir":"h2o-mruby","engine":"h2o","desc":"h2o config-based server with mruby handlers and native HTTP/3 (QUIC) support."},"helidon-production":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/helidon-io/helidon","dir":"helidon-production","engine":"n\u00edma","desc":"Helidon SE 4.4.1 on N\u00edma WebServer with Java 25, config-based static content, HTTP/2, gRPC, and WebSocket support."},"helidon-tuned":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/helidon-io/helidon","dir":"helidon-tuned","engine":"n\u00edma","desc":"Helidon SE 4.4.1 on N\u00edma WebServer with Java 25, tuned socket options, precompressed static content, HTTP/2, gRPC, and WebSocket support."},"hical":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Hical61/Hical","dir":"hical","engine":"hical","desc":"Hical is a modern C++20/26 high-performance web framework built on Boost.Asio, featuring coroutine-based async I/O (boost::asio::awaitable), three-tier PMR memory pools, zero-copy HTTP parsing via picohttpparser, and a self-developed WebSocket stack (RFC 6455 with permessage-deflate). SO_REUSEPORT multi-acceptor model on Linux. Dual-track C++26 reflection layer (P2996 / C++20 macro fallback)."},"hono-bun":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/honojs/hono","dir":"hono-bun","engine":"jsc","desc":"Ultrafast Web Standards framework running natively on Bun \u2014 no adapter overhead."},"humming-bird":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/hummingbird-project/hummingbird","dir":"humming-bird","engine":"hummingbird","desc":"Lightweight, flexible HTTP server framework written in Swift, built on SwiftNIO with minimal dependencies."},"hyper":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/hyperium/hyper","dir":"hyper","engine":"hyper","desc":"Low-level HTTP library for Rust, built on tokio with multi-threaded async runtime."},"hyperf":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/hyperf/hyperf","dir":"hyperf","engine":"swoole","desc":"A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease."},"ioxide":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/MDA2AV/ioxide","dir":"ioxide","engine":"io_uring","desc":"ioxide \u2014 a shared-nothing io_uring runtime for .NET, consumed as its published NuGet packages (ioxide, ioxide.pg, ioxide.file). One ring per reactor thread: multishot accept/recv into provided buffer rings, inline IValueTaskSource continuations, raw-syscall io_uring (no liburing). The HTTP/1.1 handler (request line, headers, Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads) is hand-written on the raw recv/send API; async-db rides ioxide.pg's ring-native pooled Postgres driver (SCRAM-SHA-256), static rides ioxide.file's baked asset snapshots."},"iris":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Cobra007-star-source/IRIS","dir":"iris","engine":"epoll","desc":"Thread-per-core C++ HTTP/1.1 gateway on epoll/SO_REUSEPORT with a hand-written incremental parser. Zero-allocation steady state: fixed per-connection buffers, precomputed response templates, per-request JSON serialization from the mounted dataset, static assets served via precompressed .br/.gz negotiation with Linux sendfile from sealed memfd responses, streaming POST /upload body counting, OpenSSL TLS on :8081 for json-tls, and async libpq for async-db."},"ktor-ghost":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/ktorio/ktor","dir":"ktor-ghost","engine":"netty","desc":"JetBrains Ktor 3.x on Netty with Kotlin coroutines, Ghost Serializer, JDK 21."},"ktor":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/ktorio/ktor","dir":"ktor","engine":"netty","desc":"JetBrains Ktor 3.x on Netty with Kotlin coroutines, kotlinx.serialization, JDK 21."},"libreactorng":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/fredrikwidlund/libreactorng","dir":"libreactorng","engine":"io_uring","desc":"libreactorng \u2014 Fredrik Widlund's io_uring-native event framework, the successor to the long-running epoll-based libreactor. Built directly on Linux io_uring syscalls with zero third-party runtime deps. Minimal server dispatches /pipeline, /baseline11, /baseline2 via the built-in HTTP parser; one reactor process per logical CPU via SO_REUSEPORT."},"lute":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/luau-lang/lute","dir":"lute","engine":"lute","desc":"Lute standalone Luau runtime"},"mark":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/passwalls/mark","dir":"mark","engine":"workerman","desc":"Mark is a high performance API micro framework based on workerman, helps you quickly write APIs with PHP."},"may-minihttp":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Xudong-Huang/may_minihttp","dir":"may-minihttp","engine":"may-minihttp","desc":"Mini HTTP server built on May stackful coroutines. Uses cooperative scheduling with coroutine-per-connection model for high concurrency."},"minima-sync":{"type":"engine","mode":"standard","language":"","repo":"","dir":"minima-sync","engine":"io_uring","desc":"A synchronous single-issuer io_uring HTTP/1.1 server on Minima's io_uring bindings, NativeAOT-compiled. One pinned reactor thread per core (SO_REUSEPORT, SINGLE_ISSUER|DEFER_TASKRUN); multishot accept + single-shot recv into per-connection buffers (parse-in-place); responses serialized straight into the send buffer; recv/send alternate fully inline \u2014 no async, no thread pool, no GC on the hot path. JSON serialized per request from the model."},"minima-ws":{"type":"engine","mode":"standard","language":"","repo":"","dir":"minima-ws","engine":"io_uring","desc":"Hand-rolled WebSocket echo on the Minima engine \u2014 a from-scratch C# multi-reactor io_uring server (direct io_uring syscalls via libc, multishot accept + multishot recv into a provided buffer ring, one ring per core with SO_REUSEPORT). The RFC 6455 handshake and the frame parser/masking/echo are written by hand on Minima's raw recv/send API; no WebSocket library."},"minima":{"type":"engine","mode":"standard","language":"","repo":"","dir":"minima","engine":"io_uring","desc":"Minima \u2014 a from-scratch C# multi-reactor io_uring HTTP/1.1 server. Per-reactor SO_REUSEPORT + multishot accept, multishot recv into a provided buffer ring, inline (RCA=false) continuations with a reactor-thread short-circuit on buffer return/flush/recycle. The engine is vendored unchanged; the request handler (request line, headers, Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads) is hand-written on its raw recv/send API. No HTTP framework."},"mq-bridge-py":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/marcomq/mq-bridge","dir":"mq-bridge-py","engine":"mq-bridge","desc":"mq-bridge Python bindings (mq_bridge_py). A single http->response route dispatches on request metadata while HTTP framing stays in Rust; cleartext HTTP/1.1 + h2c run on 8080/8082, optional TLS listeners serve HTTP/2 on 8443 and HTTP/1.1 on 8081, and the inline-response fast path keeps responses off the GIL so the Python handler runs only the per-request dispatch."},"mq-bridge":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/marcomq/mq-bridge","dir":"mq-bridge","engine":"mq-bridge","desc":"mq-bridge async message-bridging library run as an HTTP server. A single catch-all http->response route dispatches on request metadata and replies through mq-bridge's inline-response fast path; hyper-util's auto connection builder serves HTTP/1.1 and HTTP/2 prior-knowledge (h2c) on the cleartext port (8080) and HTTP/2-over-TLS (ALPN h2) on 8443. Postgres via sqlx for async-db, dataset read from /data/dataset.json, static assets from /data/static, gzip negotiated by the library's Accept-Encoding-gated response compression."},"ngx-php":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/rryqszq4/ngx-php","dir":"ngx-php","engine":"nginx","desc":"Embedded PHP scripting language module for nginx."},"node-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/websockets/ws","dir":"node-websocket","engine":"v8","desc":"Node.js WebSocket echo server using ws package"},"phoenix-bandit":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/phoenixframework/phoenix","dir":"phoenix-bandit","engine":"bandit","desc":"High-performance Elixir framework using Phoenix and Bandit HTTP server, leveraging Erlang/OTP for concurrent networking and asynchronous database operations."},"php-fpm":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/php/php-src","dir":"php","engine":"nginx","desc":"Plain PHP with PHP-FPM & nginx."},"pico":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/vlang/v","dir":"pico","engine":"picoev","desc":"A raw V server on the picoev non-blocking event loop + picohttpparser (both stdlib). One process per core shares the listen socket via SO_REUSEPORT. JSON is serialized manually (precomputed prefixes, no per-request reflection). Built with the default GC on pinned V master c0624b274. DB profiles are not subscribed: picoev is a single-threaded event loop and the stdlib db.pg driver is blocking, which would stall the loop. baseline is not subscribed: picoev parses each recv() in one shot and does not reassemble TCP-fragmented requests, which baseline validation requires."},"pyronova":{"type":"experimental","mode":"tuned","language":"","repo":"https://github.com/leocaolab/pyronova","dir":"pyronova","engine":"pyronova","desc":"Pyronova \u2014 Python web framework with a Rust core (hyper + tokio + rustls + mimalloc) and PEP 684 sub-interpreter workers for true multi-core parallelism. Opt-in features: gzip/brotli compression, rustls TLS with h2/h1 ALPN, streaming body ingest, async Postgres via sqlx::PgPool. Handlers are standard Python functions routed via decorators."},"quarkus-jvm":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/quarkusio/quarkus","dir":"quarkus-jvm","engine":"netty","desc":"Quarkus with RESTEasy Reactive on Vert.x/Netty, JDK 21, optimized JVM tuning."},"rack-falcon":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/socketry/falcon","dir":"rack-falcon","engine":"falcon","desc":"A high-performance web server for Ruby"},"rack-iodine":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/boazsegev/iodine","dir":"rack-iodine","engine":"iodine","desc":"Iodine is a fast concurrent web application for Ruby"},"rage":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/rage-rb/rage","dir":"rage","engine":"iodine","desc":"Rage is a modern Ruby framework designed for non-blocking I/O and simpler infrastructure"},"rails":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/rails/rails","dir":"rails","engine":"puma","desc":"Ruby on Rails (API mode) on Puma, multi-worker with one worker per CPU core."},"ring-http-exchange":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/ruroru/ring-http-exchange","dir":"ring-http-exchange","engine":"robaho-httpserver","desc":""},"ringzero-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/axboe/liburing","dir":"ringzero-ws","engine":"io_uring","desc":"Hand-rolled WebSocket echo server on raw io_uring (liburing) \u2014 no WebSocket library. Multishot accept + multishot recv into a provided buffer ring for zero-copy ingest, one ring per core with SO_REUSEPORT, and a from-scratch RFC 6455 handshake (hand-written SHA-1 + base64) and frame parser/masking."},"ringzero":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/MDA2AV/ringzero","dir":"ringzero","engine":"io_uring","desc":"Custom C HTTP server built on io_uring with a multi-reactor architecture. No epoll, no thread-per-connection."},"roadrunner":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/arizona-framework/roadrunner","dir":"roadrunner","engine":"roadrunner","desc":"Roadrunner: pure-Erlang HTTP/1.1 + HTTP/2 + HTTP/3 + WebSocket server from the Arizona framework."},"robyn":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/sparckles/Robyn","dir":"robyn","engine":"uvloop","desc":"Robyn is a High-Performance Web Framework with a Rust runtime"},"roda":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/jeremyevans/roda","dir":"roda","engine":"puma","desc":"Roda routing tree web toolkit"},"rust-epoll":{"type":"engine","mode":"standard","language":"","repo":"","dir":"rust-epoll","engine":"epoll","desc":"Zero-dependency Rust HTTP engine using raw epoll syscalls, one-thread-per-core with SO_REUSEPORT."},"sark":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/dope-rs/dope","dir":"sark","engine":"io_uring","desc":"sark \u2014 Rust HTTP on the dope io_uring runtime: thread-per-core, zero-copy parsing, type-safe routing, cartel-pg for Postgres. No serde, no tokio, no Arc/atomic."},"servicestack":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/ServiceStack/ServiceStack","dir":"servicestack","engine":"kestrel","desc":"One framework to power them all. Write your HTTP APIs once and take advantage of end to end typed integrations for all popular Web, Mobile and Desktop platforms."},"simplew-tuned":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/stratdev3/SimpleW","dir":"simplew-tuned","engine":"simplew","desc":"SimpleW is Modern Web Server for .NET. Designed for Simplicity. Built for Speed."},"simplew":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/stratdev3/SimpleW","dir":"simplew","engine":"simplew","desc":"SimpleW is Modern Web Server for .NET. Designed for Simplicity. Built for Speed."},"sinatra":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/sinatra/sinatra","dir":"sinatra","engine":"puma","desc":"Sinatra DSL web framework on Puma, multi-threaded with one worker per CPU core."},"sisk":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/sisk-http","dir":"sisk","engine":"sisk","desc":"Sisk is a lightweight, agnostic, simple, and robust web development framework."},"slimeweb":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/ATOMMAX-2001/Slime/","dir":"slimeweb","engine":"hyper","desc":"SlimeWeb is a fast lightweight framework for python powered by rust"},"spring-boot":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/spring-projects/spring-boot","dir":"spring-boot","engine":"tomcat","desc":"Spring Boot with embedded Tomcat on JDK 25 with virtual threads."},"spring-jvm-grpc":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/grpc-ecosystem/grpc-spring","dir":"spring-jvm-grpc","engine":"netty (grpc)","desc":"Spring Boot gRPC server using grpc-spring-boot-starter with Netty transport on JDK 24."},"swerver":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/justinGrosvenor/swerver","dir":"swerver","engine":"swerver","desc":"swerver as an engine: no pre-computed response bodies (pre-encoded registry off), JSON serialized per request through the framework's std.json-based ctx.jsonValue, static files served from an in-memory cache with precompressed .br/.gz negotiation, and the native async PostgreSQL client (pipelined, prepared-statement cache, park/resume) for async-db and fortunes. Single-threaded event loop per worker, SO_REUSEPORT fork fan-out, one multi-listener process for the four protocol ports, native HTTP/1.1 + HTTP/2 + HTTP/3 (QUIC), kqueue/epoll/io_uring backends."},"swoole":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/swoole/swoole-src","dir":"swoole","engine":"swoole","desc":"Swoole is an event-driven, asynchronous, coroutine-based concurrency library with high performance for PHP."},"symfony-spawn-franken":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/yangusik/symfony-spawn","dir":"symfony-spawn-franken","engine":"frankenphp","desc":"Symfony with symfony-spawn bundle: coroutine-per-request isolation via TrueAsync PHP core, Doctrine DBAL connection pooling, and FrankenPHP."},"symfony-spawn-tas":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/yangusik/symfony-spawn","dir":"symfony-spawn-tas","engine":"true-async-server","desc":"Symfony with symfony-spawn bundle: coroutine-per-request isolation via TrueAsync PHP core, Doctrine DBAL connection pooling, and TrueAsyncServer."},"tokio-uring-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio-uring","dir":"tokio-uring-ws","engine":"io_uring","desc":"Hand-rolled WebSocket echo on tokio-uring \u2014 the io_uring-backed Rust runtime with a completion/owned-buffer API. One tokio-uring runtime per core with SO_REUSEPORT, and a from-scratch RFC 6455 handshake (hand-written SHA-1 + base64) and frame parser/masking on tokio-uring's TcpStream. No WebSocket library."},"tokio-uring":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio-uring","dir":"tokio-uring","engine":"io_uring","desc":"Minimal HTTP/1.1 server on tokio-uring \u2014 the io_uring-backed Rust runtime with a completion/owned-buffer API. A hand-rolled request parser (Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads), one runtime per core with SO_REUSEPORT. No HTTP framework."},"tokio-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio","dir":"tokio-ws","engine":"tokio","desc":"Hand-rolled WebSocket echo server on raw tokio \u2014 no WebSocket library. A current-thread runtime per core with SO_REUSEPORT sharding, a from-scratch RFC 6455 handshake (hand-written SHA-1 + base64) and a manual frame parser/masking + echo write path."},"tokio":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio","dir":"tokio","engine":"tokio","desc":"Minimal HTTP/1.1 server on raw tokio \u2014 no HTTP framework. A hand-rolled request parser (request line, headers, Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads) on a tokio TcpStream, with one current-thread runtime per core and SO_REUSEPORT."},"tonic-grpc":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/hyperium/tonic","dir":"tonic-grpc","engine":"tonic","desc":"Rust gRPC server using tonic, a native Rust gRPC implementation built on top of hyper and tower."},"trillium-tuned":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/trillium-rs/trillium","dir":"trillium-tuned","engine":"trillium-http","desc":"Trillium 1.x with one current_thread tokio runtime per CPU, SO_REUSEPORT TCP sharding (single QUIC endpoint for h3), tuned HttpConfig (larger response/body buffers, 64K h2 frames, eager body preallocation), and static files preloaded into memory at startup. sonic-rs for JSON, deadpool-postgres, mimalloc, trillium-grpc for the benchmark.BenchmarkService gRPC endpoints."},"trillium":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/trillium-rs/trillium","dir":"trillium","engine":"trillium-http","desc":"Trillium 1.x async Rust web framework on tokio. trillium-rustls for TLS (h1 + h2 via ALPN), trillium-quinn for HTTP/3, trillium-websockets for /ws, trillium-static for /static/* served from disk per request, trillium-compression middleware for runtime gzip/brotli, trillium-api for JSON handlers, trillium-grpc for the benchmark.BenchmarkService gRPC endpoints, deadpool-postgres for async-db and crud."},"true-async-server":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/true-async/server","dir":"true-async-server","engine":"true-async-server","desc":"Native PHP HTTP server built on the TrueAsync coroutine engine. Each connection runs as a cooperative coroutine; one OS thread per CPU listens via SO_REUSEPORT inside a single PHP process. PDO connection pool, OPcache JIT, no Caddy / FrankenPHP / FastCGI in front."},"typev":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/praisethemoon/type-project","dir":"typev","engine":"io_uring","desc":"TypeV bytecode VM running a Type-C HTTP server."},"ultimate-express":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/dimdenGD/ultimate-express","dir":"ultimate-express","engine":"uwebsockets","desc":"ultimate-express (Express API on uWebSockets.js) with the cluster module for multi-core scaling."},"userver":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/userver-framework/userver","dir":"userver","engine":"userver","desc":"Asynchronous framework with a rich set of abstractions for fast and comfortable creation of C++ microservices, services and utilities"},"uvicorn":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Kludex/uvicorn","dir":"uvicorn","engine":"uvloop","desc":"An ASGI web server implementation for Python (uvloop)"},"vanilla-epoll":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-epoll","engine":"epoll","desc":"vanilla is a minimalist, high-performance HTTP server written in V: multi-threaded, non-blocking epoll I/O, lock-free, copy-free, SO_REUSEPORT. Handlers are pure (request)->[]u8 returning raw response bytes. JSON is built in a single allocation with precomputed prefixes (no per-request reflection); json-comp gzips on Accept-Encoding; json-tls terminates TLS 1.3 (Mbed TLS 4) on :8081 with ALPN http/1.1, reusing the same allocation-free /json serializer; static assets are preloaded into memory; fortunes renders the DB rows + a runtime row with HTML escaping; async-db uses the stdlib db.pg ConnectionPool. Pinned V 0.5.1 (prebuilt release). crud uses an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update) \u2014 no Redis required."},"vanilla-h2c":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-h2c","engine":"epoll","desc":"HTTP/2 cleartext (h2c, prior-knowledge) on vanilla's conn-mode seam: one epoll engine drives the RFC 9113 state machine behind a ConnHandler. The client's PRI * HTTP/2.0 preface parses as an ordinary request; the HTTP handler flips the connection over (core.queue_takeover), appends the server SETTINGS preface, and every later burst is fed to the http2 machine instead of the HTTP/1.1 parser. The http2 module is a self-contained RFC 9113/7541 codec: HPACK (static + dynamic table, canonical Huffman decode, decoded-block ceiling), frame codec, and a stream state machine with send-side flow control, hardened against a live h2spec CI gate. Requests surface only when COMPLETE (END_STREAM); responses are HPACK-encoded HEADERS + DATA. The :8082 listener is h2c-only \u2014 a plain HTTP/1.1 request is refused 505, never a 200, so the benchmark cannot silently measure h1 throughput. /json reuses the vanilla /json shape (same dataset, precomputed per-item prefixes, total = price*quantity*m). Multi-threaded, SO_REUSEPORT, lock-free, -gc none. Pinned V 0.5.2 (prebuilt from source)."},"vanilla-io_uring":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-io_uring","engine":"io_uring","desc":"vanilla is a minimalist, high-performance HTTP server written in V: multi-threaded, non-blocking io_uring I/O, lock-free, copy-free, SO_REUSEPORT. This entry is the vanilla-epoll entry's async handler verbatim, running on the io_uring async runtime (enghitalo/vanilla#99): DB queries park on the PG socket via a oneshot IORING_OP_POLL_ADD and resume on the ring \u2014 never blocking the worker. JSON is built in a single allocation with precomputed prefixes (no per-request reflection); json-comp gzips on Accept-Encoding; json-tls serves /json over HTTP/1.1 + TLS 1.3 on :8081 via the lib's epoll backend (the io_uring backend has no TLS) with kTLS record offload where present; static assets are preloaded into memory; fortunes renders the DB rows + a runtime row with HTML escaping; async-db/crud/fortunes use the native async pg_async driver with per-worker pipelined pools. Built with the default GC on pinned V master (built from source). crud uses an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update) \u2014 no Redis required."},"vanilla-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-ws","engine":"epoll","desc":"WebSocket echo on vanilla's conn-mode seam: one epoll engine, two protocols on the same connection. The HTTP handler validates the RFC 6455 upgrade as a pure function, appends the 101 and hands the connection over (core.queue_takeover); from then on every readable burst is fed to a ConnHandler instead of the HTTP/1.1 state machine. The websocket module is a pure RFC 6455 codec (accept-key, frame-head parsing, in-place unmasking, unmasked server-frame writers). Read buffering/compaction, batched flushes and EPOLLOUT backpressure are the engine's own, so a pipelined burst of frames is drained in one handler call and coalesced into one write. Multi-threaded, SO_REUSEPORT, lock-free, -gc none."},"veb":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/vlang/v","dir":"veb","engine":"veb","desc":"veb is the web framework in V's standard library, now running on the parallel fasthttp backend (multi-threaded, SO_REUSEPORT epoll, zero-copy append handler). Its deterministic request framing reassembles TCP-fragmented requests and decodes chunked bodies, so baseline is subscribed (the old single-threaded backend could not). JSON responses are built without per-request reflection (precomputed item prefixes + manual serialization); json-comp gzips on Accept-Encoding with a process-shared cache; static assets are served via veb's static handler (sendfile + MIME) mounted at /static/; crud is an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update); fortunes renders the DB rows + a runtime row with HTML escaping; async-db/crud/fortunes use the stdlib db.pg pooled Go-style DB. Built on pinned V master 84a76d791 (the fasthttp vanilla-architecture refactor, vlang/v#27771) with the default GC (Boehm). json-tls is not subscribed: it needs a second TLS listener on :8081 (a separate OpenSSL path) not wired here."},"WebFramework C":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-cc","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"WebFramework C++":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-cpp","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"WebFramework C#":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-csharp","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"WebFramework Python":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-python","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"workerman-websocket":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/walkor/Workerman","dir":"workerman-websocket","engine":"workerman","desc":"An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols."},"workerman":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/walkor/Workerman","dir":"workerman","engine":"workerman","desc":"An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols."},"wtx":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/c410-f3r/wtx","dir":"wtx-grpc","engine":"wtx","desc":"WTX - gRPC Server"},"zeemo":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/skylightis666/zeemo","dir":"zeemo","engine":"io_uring","desc":"Bare-metal Zig HTTP/1.1 server on io_uring. One reactor process per logical CPU via SO_REUSEPORT, hand-written incremental parser, registered provided-buffer rings."},"zix-grpc":{"type":"engine","mode":"standard","language":"","repo":"https://codeberg.org/prothegee/zix","dir":"zix-grpc","engine":"zix","desc":"Zig gRPC server (h2c) on the zix.Grpc engine built on zix.Http2 (no std.http). Shared-nothing by design: each worker owns its own SO_REUSEPORT listener, io_uring completion ring, and connections, with no shared state or locking across cores, multiplexing HTTP/2 streams per connection. Replies use comptime-cached HPACK blocks. Implements GetSum (unary) and StreamSum (server-streaming)."},"zix":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/prothegee/zix","dir":"zix","engine":"zix","desc":"Zig HTTP/1.1 server on the zix.Http1 raw engine (no std.http). Shared-nothing: each worker runs its own SO_REUSEPORT multishot accept plus io_uring completion loop and owns its connections. The /json endpoint serves from the per-worker response cache, and request bodies larger than the read buffer are drained rather than buffered."},"zix-ws":{"type":"engine","mode":"standard","language":"","repo":"https://codeberg.org/prothegee/zix","dir":"zix-ws","engine":"zix","desc":"Zig WebSocket echo server on the zix.Http1 raw engine (no std.http). Shared-nothing by design: each worker owns its own SO_REUSEPORT multishot accept, io_uring completion ring, and connections, with no shared state or locking across cores. The upgrade and echo are engine-owned: frames are read from a shared per-worker provided-buffer ring (an idle connection holds no buffer), and a pipelined burst is coalesced into one write."}},"profiles":[{"id":"baseline","label":"Baseline","category":"Connection","blurb":"Mixed GET/POST with query parsing.","conns":[512,4096],"scoredConns":[512,4096],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/baseline/implementation"},{"id":"pipelined","label":"Pipelined","category":"Connection","blurb":"16x batched HTTP/1.1 pipelining (reference).","conns":[512,4096],"scoredConns":[512,4096],"scored":false,"engineScored":false,"doc":"test-profiles/h1/isolated/pipelined/implementation"},{"id":"limited-conn","label":"Short-lived","category":"Connection","blurb":"Connections close after 10 requests.","conns":[512,4096],"scoredConns":[512,4096],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/short-lived/implementation"},{"id":"json","label":"JSON","category":"Workload","blurb":"Per-request JSON serialization.","conns":[4096],"scoredConns":[4096],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/json-processing/implementation"},{"id":"json-comp","label":"JSON Comp","category":"Workload","blurb":"gzip/brotli content negotiation.","conns":[512,4096,16384],"scoredConns":[512,4096,16384],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/json-compressed/implementation"},{"id":"json-tls","label":"JSON TLS","category":"Workload","blurb":"JSON over HTTP/1.1 + TLS.","conns":[4096],"scoredConns":[4096],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/json-tls/implementation"},{"id":"upload","label":"Upload","category":"Workload","blurb":"Large request-body ingestion.","conns":[32,256],"scoredConns":[32,256],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/upload/implementation"},{"id":"static","label":"Static","category":"Workload","blurb":"20-file static asset serving.","conns":[1024,4096,6800],"scoredConns":[1024,4096,6800],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/static/implementation"},{"id":"async-db","label":"Async DB","category":"Database","blurb":"Async Postgres sequential scan.","conns":[1024],"scoredConns":[1024],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/async-database/implementation"},{"id":"crud","label":"CRUD","category":"Database","blurb":"REST API: list, cached read, upsert, update.","conns":[4096],"scoredConns":[4096],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/crud/implementation"},{"id":"fortunes","label":"Fortunes","category":"Database","blurb":"DB query + HTML template render (reference).","conns":[1024],"scoredConns":[1024],"scored":false,"engineScored":false,"doc":"test-profiles/h1/isolated/fortunes/implementation"},{"id":"api-4","label":"API-4","category":"Multi-endpoint","blurb":"Mixed workload, server capped at 4 CPUs.","conns":[256],"scoredConns":[256],"scored":true,"engineScored":false,"doc":"test-profiles/h1/workload/api-4/implementation"},{"id":"api-16","label":"API-16","category":"Multi-endpoint","blurb":"Mixed workload, server capped at 16 CPUs.","conns":[1024],"scoredConns":[1024],"scored":true,"engineScored":false,"doc":"test-profiles/h1/workload/api-16/implementation"},{"id":"baseline-h2","label":"Baseline","category":"HTTP/2","blurb":"Baseline over h2 (TLS, ALPN).","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/h2/baseline-h2/implementation"},{"id":"static-h2","label":"Static","category":"HTTP/2","blurb":"Static assets over h2 multiplexing.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/h2/static-h2/implementation"},{"id":"baseline-h2c","label":"Baseline (h2c)","category":"HTTP/2","blurb":"Baseline over cleartext h2.","conns":[256,1024,4096],"scoredConns":[256,1024,4096],"scored":true,"engineScored":true,"doc":"test-profiles/h2/baseline-h2c/implementation"},{"id":"json-h2c","label":"JSON (h2c)","category":"HTTP/2","blurb":"JSON over cleartext h2.","conns":[1024,4096],"scoredConns":[1024,4096],"scored":true,"engineScored":false,"doc":"test-profiles/h2/json-h2c/implementation"},{"id":"baseline-h3","label":"Baseline","category":"HTTP/3","blurb":"Baseline over QUIC + TLS 1.3.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/h3/baseline-h3/implementation"},{"id":"static-h3","label":"Static","category":"HTTP/3","blurb":"Static assets over QUIC.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/h3/static-h3/implementation"},{"id":"unary-grpc","label":"Unary","category":"gRPC","blurb":"Unary gRPC over plaintext h2.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/unary/implementation"},{"id":"unary-grpc-tls","label":"Unary TLS","category":"gRPC","blurb":"Unary gRPC over TLS.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/unary/implementation"},{"id":"stream-grpc","label":"Stream","category":"gRPC","blurb":"Server-streaming gRPC, plaintext.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/stream/implementation"},{"id":"stream-grpc-tls","label":"Stream TLS","category":"gRPC","blurb":"Server-streaming gRPC over TLS.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/stream/implementation"},{"id":"gateway-64","label":"Gateway (H2)","category":"Gateway","blurb":"Reverse proxy + server, mixed h2.","conns":[512,1024],"scoredConns":[512,1024],"scored":true,"engineScored":true,"doc":"test-profiles/gateway/gateway-h2/implementation"},{"id":"gateway-h3","label":"Gateway (H3)","category":"Gateway","blurb":"Reverse proxy + server over h3.","conns":[64,256],"scoredConns":[64,256],"scored":true,"engineScored":true,"doc":"test-profiles/gateway/gateway-h3/implementation"},{"id":"production-stack","label":"Production Stack","category":"Gateway","blurb":"Edge + Redis + JWT auth + server.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/gateway/production-stack/implementation"},{"id":"echo-ws","label":"Echo","category":"WebSocket","blurb":"WebSocket echo throughput.","conns":[512,4096,16384],"scoredConns":[512,4096,16384],"scored":true,"engineScored":true,"doc":"test-profiles/ws/echo/implementation"},{"id":"echo-ws-pipeline","label":"Echo Pipelined","category":"WebSocket","blurb":"Batched WebSocket echo.","conns":[512,4096,16384],"scoredConns":[512,4096,16384],"scored":true,"engineScored":true,"doc":"test-profiles/ws/echo-pipeline/implementation"},{"id":"echo-ws-limited","label":"Echo Short-lived","category":"WebSocket","blurb":"WebSocket echo, 10 messages per connection.","conns":[512,4096],"scoredConns":[512,4096],"scored":true,"engineScored":true,"doc":"test-profiles/ws/echo-limited/implementation"}],"results":{"baseline-512":[{"fw":"actix","lang":"Rust","rps":2713517,"avg_latency":"188us","p99_latency":"284us","cpu":"6656.4%","memory":"85MiB","bandwidth":"344.12MB/s","input_bw":"209.61MB/s","status_2xx":13567587,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":1229424,"avg_latency":"415us","p99_latency":"6.20ms","cpu":"6572.5%","memory":"14.5GiB","bandwidth":"184.03MB/s","input_bw":"94.97MB/s","status_2xx":6147121,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1252267,"avg_latency":"408us","p99_latency":"1.95ms","cpu":"5099.8%","memory":"249MiB","bandwidth":"192.23MB/s","input_bw":"96.73MB/s","status_2xx":6261339,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1501740,"avg_latency":"340us","p99_latency":"1.01ms","cpu":"6332.6%","memory":"931.2MiB","bandwidth":"244.80MB/s","input_bw":"116.01MB/s","status_2xx":7508701,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1687058,"avg_latency":"302us","p99_latency":"2.03ms","cpu":"5920.7%","memory":"1.5GiB","bandwidth":"307.22MB/s","input_bw":"130.32MB/s","status_2xx":8435292,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":874581,"avg_latency":"584us","p99_latency":"3.35ms","cpu":"5049.9%","memory":"245MiB","bandwidth":"130.89MB/s","input_bw":"67.56MB/s","status_2xx":4372906,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":12322,"avg_latency":"41.66ms","p99_latency":"43.30ms","cpu":"78.6%","memory":"164MiB","bandwidth":"1.46MB/s","input_bw":"974.69KB/s","status_2xx":61612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":287538,"avg_latency":"1.78ms","p99_latency":"2.97ms","cpu":"6268.9%","memory":"1.4GiB","bandwidth":"32.35MB/s","input_bw":"22.21MB/s","status_2xx":1437694,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":154226,"avg_latency":"3.20ms","p99_latency":"3.71ms","cpu":"5727.4%","memory":"2.5GiB","bandwidth":"22.79MB/s","input_bw":"11.91MB/s","status_2xx":771132,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":578707,"avg_latency":"854us","p99_latency":"2.61ms","cpu":"6642.2%","memory":"358MiB","bandwidth":"107.59MB/s","input_bw":"44.70MB/s","status_2xx":2893538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1321796,"avg_latency":"386us","p99_latency":"682us","cpu":"6623.8%","memory":"2.5GiB","bandwidth":"132.32MB/s","input_bw":"102.11MB/s","status_2xx":6608984,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1324910,"avg_latency":"356us","p99_latency":"2.41ms","cpu":"5798.0%","memory":"411MiB","bandwidth":"213.80MB/s","input_bw":"102.35MB/s","status_2xx":6624551,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1815797,"avg_latency":"281us","p99_latency":"2.03ms","cpu":"5900.5%","memory":"1.4GiB","bandwidth":"228.52MB/s","input_bw":null,"status_2xx":9078989,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":607777,"avg_latency":"842us","p99_latency":"1.61ms","cpu":"6612.6%","memory":"5.8GiB","bandwidth":"118.79MB/s","input_bw":"46.95MB/s","status_2xx":3038886,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":320447,"avg_latency":"1.60ms","p99_latency":"3.24ms","cpu":"6505.3%","memory":"4.5GiB","bandwidth":"41.25MB/s","input_bw":"24.75MB/s","status_2xx":1602237,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1178298,"avg_latency":"433us","p99_latency":"2.23ms","cpu":"5296.5%","memory":"230MiB","bandwidth":"179.75MB/s","input_bw":"91.02MB/s","status_2xx":5891492,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2984044,"avg_latency":"171us","p99_latency":"1.79ms","cpu":"6063.0%","memory":"378MiB","bandwidth":"307.27MB/s","input_bw":"230.51MB/s","status_2xx":14920222,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":711263,"avg_latency":"719us","p99_latency":"1.37ms","cpu":"6659.9%","memory":"3.0GiB","bandwidth":"113.93MB/s","input_bw":"54.94MB/s","status_2xx":3556317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":832831,"avg_latency":"614us","p99_latency":"1.28ms","cpu":"6993.1%","memory":"1.6GiB","bandwidth":"131.03MB/s","input_bw":"64.33MB/s","status_2xx":4164159,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1380613,"avg_latency":"370us","p99_latency":"875us","cpu":"6881.3%","memory":"367MiB","bandwidth":"217.19MB/s","input_bw":"106.65MB/s","status_2xx":6903069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1887468,"avg_latency":"270us","p99_latency":"6.10ms","cpu":"6477.9%","memory":"9.5GiB","bandwidth":"230.35MB/s","input_bw":"145.80MB/s","status_2xx":9437344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":115161,"avg_latency":"4.25ms","p99_latency":"5.41ms","cpu":"5978.6%","memory":"3.2GiB","bandwidth":"16.80MB/s","input_bw":null,"status_2xx":575806,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":573606,"avg_latency":"865us","p99_latency":"1.99ms","cpu":"6527.7%","memory":"3.1GiB","bandwidth":"106.65MB/s","input_bw":"44.31MB/s","status_2xx":2868034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":158851,"avg_latency":"3.22ms","p99_latency":"15.10ms","cpu":"2821.4%","memory":"553.7MiB","bandwidth":"17.87MB/s","input_bw":"12.27MB/s","status_2xx":794258,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1226235,"avg_latency":"417us","p99_latency":"1.16ms","cpu":"6758.6%","memory":"5.9GiB","bandwidth":"213.95MB/s","input_bw":"94.72MB/s","status_2xx":6131178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":33073,"avg_latency":"10.70ms","p99_latency":"82.80ms","cpu":"4838.6%","memory":"306MiB","bandwidth":"4.54MB/s","input_bw":"2.55MB/s","status_2xx":165369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2057461,"avg_latency":"248us","p99_latency":"1.08ms","cpu":"5777.5%","memory":"245MiB","bandwidth":"253.05MB/s","input_bw":"158.93MB/s","status_2xx":10287307,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2949676,"avg_latency":"173us","p99_latency":"455us","cpu":"6180.8%","memory":"382MiB","bandwidth":"357.16MB/s","input_bw":"227.86MB/s","status_2xx":14748381,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1419420,"avg_latency":"360us","p99_latency":"1.72ms","cpu":"5655.4%","memory":"315MiB","bandwidth":"185.41MB/s","input_bw":"109.65MB/s","status_2xx":7097103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1044040,"avg_latency":"489us","p99_latency":"2.06ms","cpu":"4866.7%","memory":"202MiB","bandwidth":"134.36MB/s","input_bw":"80.65MB/s","status_2xx":5220200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":1374954,"avg_latency":"373us","p99_latency":"982us","cpu":"4358.1%","memory":"66.6MiB","bandwidth":"162.56MB/s","input_bw":"106.21MB/s","status_2xx":6874773,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":1552399,"avg_latency":"329us","p99_latency":"571us","cpu":"6786.4%","memory":"155MiB","bandwidth":"233.86MB/s","input_bw":"119.92MB/s","status_2xx":7761999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1560881,"avg_latency":"327us","p99_latency":"685us","cpu":"6163.8%","memory":"5.1GiB","bandwidth":"214.29MB/s","input_bw":"120.57MB/s","status_2xx":7804407,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":1707929,"avg_latency":"299us","p99_latency":"540us","cpu":"6257.4%","memory":"6.8GiB","bandwidth":"195.40MB/s","input_bw":"131.93MB/s","status_2xx":8539646,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3080718,"avg_latency":"165us","p99_latency":"2.36ms","cpu":"6571.2%","memory":"48MiB","bandwidth":"434.70MB/s","input_bw":"237.98MB/s","status_2xx":15403592,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1230668,"avg_latency":"415us","p99_latency":"3.45ms","cpu":"5840.1%","memory":"1.9GiB","bandwidth":"141.98MB/s","input_bw":"95.07MB/s","status_2xx":6153340,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":401131,"avg_latency":"1.24ms","p99_latency":"5.19ms","cpu":"6424.2%","memory":"89.8MiB","bandwidth":"47.42MB/s","input_bw":"30.99MB/s","status_2xx":2005657,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":2944730,"avg_latency":"173us","p99_latency":"409us","cpu":"6442.5%","memory":"42.3MiB","bandwidth":"331.31MB/s","input_bw":"227.47MB/s","status_2xx":14723652,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":365205,"avg_latency":"1.40ms","p99_latency":"1.91ms","cpu":"3550.4%","memory":"1.9GiB","bandwidth":"54.67MB/s","input_bw":null,"status_2xx":1826029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":4098128,"avg_latency":"124us","p99_latency":"254us","cpu":"6252.7%","memory":"264MiB","bandwidth":"257.88MB/s","input_bw":"316.57MB/s","status_2xx":20490644,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":3822806,"avg_latency":"133us","p99_latency":"402us","cpu":"5379.5%","memory":"111MiB","bandwidth":"426.39MB/s","input_bw":"295.30MB/s","status_2xx":19114034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":817316,"avg_latency":"625us","p99_latency":"1.39ms","cpu":"6273.8%","memory":"5.0GiB","bandwidth":"51.43MB/s","input_bw":"63.14MB/s","status_2xx":4086580,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":830262,"avg_latency":"616us","p99_latency":"1.34ms","cpu":"6404.1%","memory":"10.7GiB","bandwidth":"52.24MB/s","input_bw":"64.14MB/s","status_2xx":4151314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":4021648,"avg_latency":"126us","p99_latency":"211us","cpu":"6171.6%","memory":"72MiB","bandwidth":"437.13MB/s","input_bw":"310.66MB/s","status_2xx":20108241,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2539880,"avg_latency":"201us","p99_latency":"532us","cpu":"5953.6%","memory":"101MiB","bandwidth":"290.66MB/s","input_bw":"196.20MB/s","status_2xx":12699400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2802794,"avg_latency":"182us","p99_latency":"493us","cpu":"6748.2%","memory":"152MiB","bandwidth":"240.51MB/s","input_bw":"216.51MB/s","status_2xx":14013974,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":3276956,"avg_latency":"155us","p99_latency":"473us","cpu":"6352.5%","memory":"115.4MiB","bandwidth":"206.18MB/s","input_bw":"253.14MB/s","status_2xx":16384780,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":4089826,"avg_latency":"124us","p99_latency":"255us","cpu":"6417.6%","memory":"433MiB","bandwidth":"257.34MB/s","input_bw":"315.93MB/s","status_2xx":20449132,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":4099604,"avg_latency":"124us","p99_latency":"217us","cpu":"6437.9%","memory":"81MiB","bandwidth":"257.93MB/s","input_bw":"316.68MB/s","status_2xx":20498024,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1078632,"avg_latency":"474us","p99_latency":"1.34ms","cpu":"3984.0%","memory":"98MiB","bandwidth":"176.89MB/s","input_bw":"83.32MB/s","status_2xx":5393162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":840257,"avg_latency":"609us","p99_latency":"1.41ms","cpu":"6647.5%","memory":"2.9GiB","bandwidth":"152.15MB/s","input_bw":"64.91MB/s","status_2xx":4201289,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2375489,"avg_latency":"214us","p99_latency":"3.18ms","cpu":"6583.0%","memory":"4.4GiB","bandwidth":"321.61MB/s","input_bw":"183.50MB/s","status_2xx":11877449,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":506101,"avg_latency":"1.01ms","p99_latency":"1.83ms","cpu":"6428.9%","memory":"374MiB","bandwidth":"110.50MB/s","input_bw":"39.10MB/s","status_2xx":2530506,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":277796,"avg_latency":"1.84ms","p99_latency":"5.53ms","cpu":"6509.7%","memory":"3.9GiB","bandwidth":"53.03MB/s","input_bw":"21.46MB/s","status_2xx":1388982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":326238,"avg_latency":"1.57ms","p99_latency":"3.70ms","cpu":"2339.5%","memory":"860MiB","bandwidth":"39.50MB/s","input_bw":"25.20MB/s","status_2xx":1631191,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1741705,"avg_latency":"293us","p99_latency":"538us","cpu":"6602.2%","memory":"4.3GiB","bandwidth":"167.74MB/s","input_bw":"134.54MB/s","status_2xx":8708525,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":576090,"avg_latency":"888us","p99_latency":"1.79ms","cpu":"6576.0%","memory":"1.2GiB","bandwidth":"48.88MB/s","input_bw":"44.50MB/s","status_2xx":2880451,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":730114,"avg_latency":"702us","p99_latency":"25.80ms","cpu":"5395.2%","memory":"4.9GiB","bandwidth":"85.62MB/s","input_bw":"56.40MB/s","status_2xx":3650574,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":477939,"avg_latency":"1.07ms","p99_latency":"30.50ms","cpu":"5279.9%","memory":"5.0GiB","bandwidth":"72.90MB/s","input_bw":"36.92MB/s","status_2xx":2389696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":75539,"avg_latency":"6.79ms","p99_latency":"80.30ms","cpu":"5662.9%","memory":"7.9GiB","bandwidth":"15.92MB/s","input_bw":"5.84MB/s","status_2xx":377699,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":1209922,"avg_latency":"422us","p99_latency":"1.05ms","cpu":"6360.6%","memory":"13.5GiB","bandwidth":"151.12MB/s","input_bw":"93.46MB/s","status_2xx":6049611,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":4352994,"avg_latency":"117us","p99_latency":"157us","cpu":"6104.1%","memory":"4.1GiB","bandwidth":"348.56MB/s","input_bw":"336.26MB/s","status_2xx":21764973,"status_3xx":0,"status_4xx":571,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":833311,"avg_latency":"193us","p99_latency":"399us","cpu":"6413.0%","memory":"280MiB","bandwidth":"112.02MB/s","input_bw":"64.37MB/s","status_2xx":4166556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":423322,"avg_latency":"1.21ms","p99_latency":"4.83ms","cpu":"6381.3%","memory":"836MiB","bandwidth":"47.63MB/s","input_bw":"32.70MB/s","status_2xx":2116612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":100648,"avg_latency":"5.09ms","p99_latency":"83.10ms","cpu":"4772.5%","memory":"9.0GiB","bandwidth":"8.54MB/s","input_bw":"7.77MB/s","status_2xx":503241,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":4173959,"avg_latency":"122us","p99_latency":"280us","cpu":"6241.7%","memory":"47MiB","bandwidth":"342.20MB/s","input_bw":"322.43MB/s","status_2xx":20869796,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":3986715,"avg_latency":"127us","p99_latency":"280us","cpu":"6335.9%","memory":"1.1GiB","bandwidth":"444.68MB/s","input_bw":"307.96MB/s","status_2xx":19933579,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":19510,"avg_latency":"26.29ms","p99_latency":"110.80ms","cpu":"734.1%","memory":"353MiB","bandwidth":"3.92MB/s","input_bw":"1.51MB/s","status_2xx":97554,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1898421,"avg_latency":"269us","p99_latency":"1.59ms","cpu":"5630.3%","memory":"198MiB","bandwidth":"257.03MB/s","input_bw":"146.65MB/s","status_2xx":9492107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2649847,"avg_latency":"192us","p99_latency":"449us","cpu":"6181.5%","memory":"599MiB","bandwidth":"358.75MB/s","input_bw":"204.69MB/s","status_2xx":13249237,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":98225,"avg_latency":"5.21ms","p99_latency":"66.50ms","cpu":"4526.0%","memory":"6.7GiB","bandwidth":"9.93MB/s","input_bw":"7.59MB/s","status_2xx":491129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":603332,"avg_latency":"847us","p99_latency":"7.99ms","cpu":"4768.3%","memory":"214MiB","bandwidth":"75.93MB/s","input_bw":"46.61MB/s","status_2xx":3016662,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":85240,"avg_latency":"5.69ms","p99_latency":"16.00ms","cpu":"1539.1%","memory":"168MiB","bandwidth":"10.08MB/s","input_bw":"6.58MB/s","status_2xx":426200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":278960,"avg_latency":"1.71ms","p99_latency":"3.64ms","cpu":"2080.0%","memory":"2.1GiB","bandwidth":"30.64MB/s","input_bw":"21.55MB/s","status_2xx":1394803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":3519409,"avg_latency":"144us","p99_latency":"360us","cpu":"6487.1%","memory":"1.0GiB","bandwidth":"449.63MB/s","input_bw":"271.87MB/s","status_2xx":17597048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2035856,"avg_latency":"250us","p99_latency":"3.31ms","cpu":"6714.5%","memory":"201.6MiB","bandwidth":"300.86MB/s","input_bw":"157.27MB/s","status_2xx":10179282,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":144708,"avg_latency":"3.54ms","p99_latency":"10.40ms","cpu":"4707.6%","memory":"787MiB","bandwidth":"23.02MB/s","input_bw":"11.18MB/s","status_2xx":723544,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":299993,"avg_latency":"1.71ms","p99_latency":"7.71ms","cpu":"6485.7%","memory":"411MiB","bandwidth":"43.47MB/s","input_bw":"23.17MB/s","status_2xx":1499969,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":4269664,"avg_latency":"119us","p99_latency":"266us","cpu":"6289.3%","memory":"43MiB","bandwidth":"268.64MB/s","input_bw":"329.82MB/s","status_2xx":21348321,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":3380500,"avg_latency":"150us","p99_latency":"315us","cpu":"6512.2%","memory":"45MiB","bandwidth":"212.76MB/s","input_bw":"261.14MB/s","status_2xx":16902502,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":607122,"avg_latency":"790us","p99_latency":"1.85ms","cpu":"5777.3%","memory":"134MiB","bandwidth":"85.09MB/s","input_bw":"46.90MB/s","status_2xx":3035610,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":590554,"avg_latency":"866us","p99_latency":"2.01ms","cpu":"6211.6%","memory":"260MiB","bandwidth":"82.77MB/s","input_bw":"45.62MB/s","status_2xx":2952772,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2154955,"avg_latency":"237us","p99_latency":"571us","cpu":"6712.0%","memory":"182MiB","bandwidth":"135.61MB/s","input_bw":"166.47MB/s","status_2xx":10774775,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2232140,"avg_latency":"107us","p99_latency":"636us","cpu":"6380.0%","memory":"156MiB","bandwidth":"191.53MB/s","input_bw":"172.43MB/s","status_2xx":11160704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1202638,"avg_latency":"425us","p99_latency":"1.20ms","cpu":"6742.4%","memory":"7.3GiB","bandwidth":"220.15MB/s","input_bw":"92.90MB/s","status_2xx":6013191,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1026922,"avg_latency":"498us","p99_latency":"3.60ms","cpu":"6555.9%","memory":"221MiB","bandwidth":"141.01MB/s","input_bw":"79.33MB/s","status_2xx":5134613,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":691849,"avg_latency":"739us","p99_latency":"1.53ms","cpu":"6486.6%","memory":"3.2GiB","bandwidth":"100.92MB/s","input_bw":null,"status_2xx":3459249,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":3657649,"avg_latency":"139us","p99_latency":"583us","cpu":"6461.8%","memory":"77MiB","bandwidth":"373.12MB/s","input_bw":"282.54MB/s","status_2xx":18288247,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":3570560,"avg_latency":"142us","p99_latency":"1.02ms","cpu":"6447.4%","memory":"1.0GiB","bandwidth":"364.24MB/s","input_bw":"275.82MB/s","status_2xx":17852804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":106147,"avg_latency":"4.85ms","p99_latency":"42.90ms","cpu":"1183.9%","memory":"519MiB","bandwidth":"7.99MB/s","input_bw":"8.20MB/s","status_2xx":530739,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":2844479,"avg_latency":"179us","p99_latency":"488us","cpu":"6423.3%","memory":"193MiB","bandwidth":"241.36MB/s","input_bw":null,"status_2xx":14222395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":4096391,"avg_latency":"124us","p99_latency":"229us","cpu":"6259.7%","memory":"75MiB","bandwidth":"257.77MB/s","input_bw":"316.44MB/s","status_2xx":20481958,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":4217982,"avg_latency":"120us","p99_latency":"231us","cpu":"6348.6%","memory":"130MiB","bandwidth":"265.42MB/s","input_bw":"325.83MB/s","status_2xx":21089911,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-4096":[{"fw":"actix","lang":"Rust","rps":2775120,"avg_latency":"1.37ms","p99_latency":"2.56ms","cpu":"6675.4%","memory":"154MiB","bandwidth":"351.90MB/s","input_bw":"214.37MB/s","status_2xx":13875601,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":1254305,"avg_latency":"2.88ms","p99_latency":"10.60ms","cpu":"6434.9%","memory":"7.2GiB","bandwidth":"187.76MB/s","input_bw":"96.89MB/s","status_2xx":6271529,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1279817,"avg_latency":"2.75ms","p99_latency":"8.65ms","cpu":"5503.3%","memory":"352MiB","bandwidth":"196.46MB/s","input_bw":"98.86MB/s","status_2xx":6399088,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1034605,"avg_latency":"3.13ms","p99_latency":"8.42ms","cpu":"5307.1%","memory":"964.6MiB","bandwidth":"168.68MB/s","input_bw":"79.92MB/s","status_2xx":5173026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1806612,"avg_latency":"2.27ms","p99_latency":"8.08ms","cpu":"5949.2%","memory":"1.8GiB","bandwidth":"328.99MB/s","input_bw":"139.56MB/s","status_2xx":9033064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":892723,"avg_latency":"3.79ms","p99_latency":"11.70ms","cpu":"5527.8%","memory":"314MiB","bandwidth":"133.63MB/s","input_bw":"68.96MB/s","status_2xx":4463617,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":98769,"avg_latency":"41.47ms","p99_latency":"43.20ms","cpu":"429.0%","memory":"189MiB","bandwidth":"11.67MB/s","input_bw":"7.63MB/s","status_2xx":493847,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":283731,"avg_latency":"13.98ms","p99_latency":"29.40ms","cpu":"6517.8%","memory":"1.5GiB","bandwidth":"31.92MB/s","input_bw":"21.92MB/s","status_2xx":1418657,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":107925,"avg_latency":"20.94ms","p99_latency":"120.40ms","cpu":"3397.0%","memory":"2.5GiB","bandwidth":"15.95MB/s","input_bw":"8.34MB/s","status_2xx":539627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":562836,"avg_latency":"7.24ms","p99_latency":"13.60ms","cpu":"6538.5%","memory":"745MiB","bandwidth":"104.64MB/s","input_bw":"43.48MB/s","status_2xx":2814183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1630539,"avg_latency":"2.51ms","p99_latency":"3.40ms","cpu":"6806.9%","memory":"2.5GiB","bandwidth":"163.23MB/s","input_bw":"125.96MB/s","status_2xx":8152699,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1391217,"avg_latency":"2.90ms","p99_latency":"7.53ms","cpu":"5910.5%","memory":"1.9GiB","bandwidth":"226.52MB/s","input_bw":"107.47MB/s","status_2xx":6956088,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1836710,"avg_latency":"2.23ms","p99_latency":"10.00ms","cpu":"5806.3%","memory":"1.5GiB","bandwidth":"231.15MB/s","input_bw":null,"status_2xx":9183552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":592570,"avg_latency":"5.82ms","p99_latency":"7.80ms","cpu":"6454.5%","memory":"6.2GiB","bandwidth":"115.82MB/s","input_bw":"45.77MB/s","status_2xx":2962853,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":314605,"avg_latency":"12.99ms","p99_latency":"18.30ms","cpu":"6506.2%","memory":"4.6GiB","bandwidth":"40.49MB/s","input_bw":"24.30MB/s","status_2xx":1573028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1219151,"avg_latency":"2.91ms","p99_latency":"8.69ms","cpu":"5383.4%","memory":"385MiB","bandwidth":"185.98MB/s","input_bw":"94.18MB/s","status_2xx":6095758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":3271479,"avg_latency":"1.25ms","p99_latency":"7.03ms","cpu":"5909.8%","memory":"594MiB","bandwidth":"336.83MB/s","input_bw":"252.71MB/s","status_2xx":16357397,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":737611,"avg_latency":"4.65ms","p99_latency":"6.32ms","cpu":"6515.5%","memory":"3.0GiB","bandwidth":"118.15MB/s","input_bw":"56.98MB/s","status_2xx":3688058,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1016061,"avg_latency":"4.03ms","p99_latency":"6.27ms","cpu":"6959.6%","memory":"1.4GiB","bandwidth":"159.84MB/s","input_bw":"78.49MB/s","status_2xx":5080308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1400230,"avg_latency":"2.93ms","p99_latency":"3.70ms","cpu":"6620.2%","memory":"846MiB","bandwidth":"220.28MB/s","input_bw":"108.16MB/s","status_2xx":7001154,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1918113,"avg_latency":"1.88ms","p99_latency":"10.20ms","cpu":"6236.7%","memory":"10.6GiB","bandwidth":"234.08MB/s","input_bw":"148.17MB/s","status_2xx":9590569,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":77319,"avg_latency":"28.75ms","p99_latency":"257.70ms","cpu":"3355.5%","memory":"3.2GiB","bandwidth":"11.28MB/s","input_bw":null,"status_2xx":386597,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":552953,"avg_latency":"7.39ms","p99_latency":"14.50ms","cpu":"6436.2%","memory":"3.2GiB","bandwidth":"102.81MB/s","input_bw":"42.71MB/s","status_2xx":2764766,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":202696,"avg_latency":"20.16ms","p99_latency":"158.10ms","cpu":"3503.0%","memory":"704.2MiB","bandwidth":"22.59MB/s","input_bw":"15.66MB/s","status_2xx":1013484,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1210412,"avg_latency":"3.38ms","p99_latency":"5.21ms","cpu":"6640.1%","memory":"5.9GiB","bandwidth":"211.19MB/s","input_bw":"93.50MB/s","status_2xx":6052062,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":24842,"avg_latency":"11.12ms","p99_latency":"28.00ms","cpu":"4985.0%","memory":"792MiB","bandwidth":"3.41MB/s","input_bw":"1.92MB/s","status_2xx":124214,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1810183,"avg_latency":"2.12ms","p99_latency":"6.33ms","cpu":"5125.5%","memory":"528MiB","bandwidth":"222.64MB/s","input_bw":"139.83MB/s","status_2xx":9050919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":3073700,"avg_latency":"1.33ms","p99_latency":"4.54ms","cpu":"5924.9%","memory":"499MiB","bandwidth":"372.17MB/s","input_bw":"237.44MB/s","status_2xx":15368502,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1479005,"avg_latency":"2.35ms","p99_latency":"7.01ms","cpu":"5869.2%","memory":"477MiB","bandwidth":"193.19MB/s","input_bw":"114.25MB/s","status_2xx":7395026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1120402,"avg_latency":"2.98ms","p99_latency":"9.34ms","cpu":"5467.5%","memory":"346MiB","bandwidth":"144.21MB/s","input_bw":"86.55MB/s","status_2xx":5602014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":1258483,"avg_latency":"3.25ms","p99_latency":"4.01ms","cpu":"4207.1%","memory":"148.5MiB","bandwidth":"148.78MB/s","input_bw":"97.21MB/s","status_2xx":6292417,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":1531028,"avg_latency":"665us","p99_latency":"989us","cpu":"6140.5%","memory":"141MiB","bandwidth":"230.61MB/s","input_bw":"118.27MB/s","status_2xx":7655142,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1441708,"avg_latency":"2.50ms","p99_latency":"7.35ms","cpu":"6059.0%","memory":"7.5GiB","bandwidth":"197.93MB/s","input_bw":"111.37MB/s","status_2xx":7208544,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":1529299,"avg_latency":"2.68ms","p99_latency":"7.77ms","cpu":"6209.9%","memory":"6.7GiB","bandwidth":"174.97MB/s","input_bw":"118.13MB/s","status_2xx":7646496,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3262680,"avg_latency":"1.25ms","p99_latency":"6.82ms","cpu":"6620.6%","memory":"116MiB","bandwidth":"460.39MB/s","input_bw":"252.03MB/s","status_2xx":16313401,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1243806,"avg_latency":"3.29ms","p99_latency":"12.40ms","cpu":"5961.1%","memory":"1.9GiB","bandwidth":"143.49MB/s","input_bw":"96.08MB/s","status_2xx":6219032,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":402360,"avg_latency":"6.26ms","p99_latency":"16.60ms","cpu":"6449.3%","memory":"130.9MiB","bandwidth":"47.56MB/s","input_bw":"31.08MB/s","status_2xx":2011802,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":3003360,"avg_latency":"1.36ms","p99_latency":"2.68ms","cpu":"6604.7%","memory":"112.4MiB","bandwidth":"337.86MB/s","input_bw":"232.00MB/s","status_2xx":15016802,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":387711,"avg_latency":"8.41ms","p99_latency":"12.90ms","cpu":"3407.8%","memory":"1.9GiB","bandwidth":"58.03MB/s","input_bw":null,"status_2xx":1938557,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":4138716,"avg_latency":"989us","p99_latency":"1.29ms","cpu":"6178.4%","memory":"348MiB","bandwidth":"260.34MB/s","input_bw":"319.71MB/s","status_2xx":20693581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":4025988,"avg_latency":"1.02ms","p99_latency":"2.18ms","cpu":"5964.1%","memory":"162MiB","bandwidth":"449.00MB/s","input_bw":"311.00MB/s","status_2xx":20129944,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":822062,"avg_latency":"4.97ms","p99_latency":"9.82ms","cpu":"6154.9%","memory":"9.5GiB","bandwidth":"51.73MB/s","input_bw":"63.50MB/s","status_2xx":4110314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":838039,"avg_latency":"4.90ms","p99_latency":"9.60ms","cpu":"6201.7%","memory":"4.9GiB","bandwidth":"52.73MB/s","input_bw":"64.74MB/s","status_2xx":4190199,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":4309995,"avg_latency":"949us","p99_latency":"1.22ms","cpu":"6251.3%","memory":"102MiB","bandwidth":"468.33MB/s","input_bw":"332.94MB/s","status_2xx":21549979,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2565216,"avg_latency":"1.60ms","p99_latency":"3.27ms","cpu":"5711.6%","memory":"132MiB","bandwidth":"293.48MB/s","input_bw":"198.16MB/s","status_2xx":12826081,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2887122,"avg_latency":"1.42ms","p99_latency":"2.78ms","cpu":"6687.5%","memory":"157MiB","bandwidth":"247.74MB/s","input_bw":"223.02MB/s","status_2xx":14435612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":3333009,"avg_latency":"1.09ms","p99_latency":"4.02ms","cpu":"6560.3%","memory":"189.7MiB","bandwidth":"209.71MB/s","input_bw":"257.47MB/s","status_2xx":16665045,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":4127722,"avg_latency":"991us","p99_latency":"1.37ms","cpu":"6434.0%","memory":"498MiB","bandwidth":"259.63MB/s","input_bw":"318.86MB/s","status_2xx":20638613,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":4386544,"avg_latency":"932us","p99_latency":"1.23ms","cpu":"6194.4%","memory":"131MiB","bandwidth":"276.00MB/s","input_bw":"338.85MB/s","status_2xx":21932721,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1176223,"avg_latency":"3.48ms","p99_latency":"6.85ms","cpu":"4448.1%","memory":"181MiB","bandwidth":"192.89MB/s","input_bw":"90.86MB/s","status_2xx":5881116,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1209537,"avg_latency":"3.39ms","p99_latency":"7.79ms","cpu":"6599.4%","memory":"3.6GiB","bandwidth":"219.11MB/s","input_bw":"93.43MB/s","status_2xx":6047689,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2554976,"avg_latency":"1.60ms","p99_latency":"6.99ms","cpu":"6676.0%","memory":"4.4GiB","bandwidth":"345.90MB/s","input_bw":"197.37MB/s","status_2xx":12774882,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":486848,"avg_latency":"7.32ms","p99_latency":"10.70ms","cpu":"6431.4%","memory":"478MiB","bandwidth":"106.29MB/s","input_bw":"37.61MB/s","status_2xx":2434242,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":267441,"avg_latency":"15.25ms","p99_latency":"19.40ms","cpu":"6202.1%","memory":"3.9GiB","bandwidth":"50.99MB/s","input_bw":"20.66MB/s","status_2xx":1337209,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":825534,"avg_latency":"4.97ms","p99_latency":"9.79ms","cpu":"6355.9%","memory":"1.0GiB","bandwidth":"99.96MB/s","input_bw":"63.77MB/s","status_2xx":4127671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1777039,"avg_latency":"2.30ms","p99_latency":"4.51ms","cpu":"6409.0%","memory":"8.4GiB","bandwidth":"171.12MB/s","input_bw":"137.27MB/s","status_2xx":8885195,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":550257,"avg_latency":"7.45ms","p99_latency":"11.90ms","cpu":"6547.7%","memory":"1.3GiB","bandwidth":"46.69MB/s","input_bw":"42.51MB/s","status_2xx":2751285,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":65472,"avg_latency":"59.13ms","p99_latency":"237.40ms","cpu":"4803.4%","memory":"5.3GiB","bandwidth":"7.68MB/s","input_bw":"5.06MB/s","status_2xx":327361,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":57975,"avg_latency":"68.86ms","p99_latency":"171.80ms","cpu":"4816.2%","memory":"4.5GiB","bandwidth":"8.84MB/s","input_bw":"4.48MB/s","status_2xx":289878,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":33983,"avg_latency":"101.73ms","p99_latency":"345.20ms","cpu":"5112.6%","memory":"7.7GiB","bandwidth":"7.16MB/s","input_bw":"2.63MB/s","status_2xx":169917,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":1176734,"avg_latency":"3.48ms","p99_latency":"13.00ms","cpu":"6299.7%","memory":"13.0GiB","bandwidth":"146.98MB/s","input_bw":"90.90MB/s","status_2xx":5883671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":4264134,"avg_latency":"961us","p99_latency":"1.11ms","cpu":"6100.1%","memory":"4.2GiB","bandwidth":"341.48MB/s","input_bw":"329.39MB/s","status_2xx":21320673,"status_3xx":0,"status_4xx":1849,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":846968,"avg_latency":"217us","p99_latency":"391us","cpu":"6217.2%","memory":"288MiB","bandwidth":"113.86MB/s","input_bw":"65.43MB/s","status_2xx":4234844,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":430749,"avg_latency":"9.39ms","p99_latency":"26.60ms","cpu":"6285.4%","memory":"903MiB","bandwidth":"48.46MB/s","input_bw":"33.27MB/s","status_2xx":2153748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":49154,"avg_latency":"73.62ms","p99_latency":"290.40ms","cpu":"4002.9%","memory":"8.2GiB","bandwidth":"4.17MB/s","input_bw":"3.80MB/s","status_2xx":245772,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":4194000,"avg_latency":"975us","p99_latency":"2.08ms","cpu":"6427.4%","memory":"118MiB","bandwidth":"343.78MB/s","input_bw":"323.98MB/s","status_2xx":20970000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4199582,"avg_latency":"975us","p99_latency":"1.29ms","cpu":"6227.0%","memory":"1.2GiB","bandwidth":"468.28MB/s","input_bw":"324.41MB/s","status_2xx":20997910,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":18656,"avg_latency":"168.86ms","p99_latency":"647.70ms","cpu":"1000.1%","memory":"308MiB","bandwidth":"3.75MB/s","input_bw":"1.44MB/s","status_2xx":93280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1868900,"avg_latency":"2.19ms","p99_latency":"6.79ms","cpu":"5855.4%","memory":"558MiB","bandwidth":"253.03MB/s","input_bw":"144.37MB/s","status_2xx":9344504,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2707036,"avg_latency":"1.51ms","p99_latency":"5.42ms","cpu":"5811.5%","memory":"958MiB","bandwidth":"366.49MB/s","input_bw":"209.11MB/s","status_2xx":13535183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":58507,"avg_latency":"59.81ms","p99_latency":"235.40ms","cpu":"3410.4%","memory":"4.9GiB","bandwidth":"5.91MB/s","input_bw":"4.52MB/s","status_2xx":292535,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":558421,"avg_latency":"7.35ms","p99_latency":"19.20ms","cpu":"5969.6%","memory":"468MiB","bandwidth":"70.28MB/s","input_bw":"43.14MB/s","status_2xx":2792107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":82494,"avg_latency":"17.52ms","p99_latency":"67.50ms","cpu":"1370.1%","memory":"125MiB","bandwidth":"9.75MB/s","input_bw":"6.37MB/s","status_2xx":412474,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":259473,"avg_latency":"8.25ms","p99_latency":"16.10ms","cpu":"2040.5%","memory":"2.5GiB","bandwidth":"28.49MB/s","input_bw":"20.04MB/s","status_2xx":1297367,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":3690482,"avg_latency":"1.11ms","p99_latency":"2.17ms","cpu":"6390.7%","memory":"1.0GiB","bandwidth":"471.49MB/s","input_bw":"285.08MB/s","status_2xx":18452411,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2034436,"avg_latency":"2.01ms","p99_latency":"8.16ms","cpu":"6532.1%","memory":"211.5MiB","bandwidth":"300.65MB/s","input_bw":"157.16MB/s","status_2xx":10172183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":150306,"avg_latency":"27.14ms","p99_latency":"48.30ms","cpu":"4891.8%","memory":"1.4GiB","bandwidth":"23.83MB/s","input_bw":"11.61MB/s","status_2xx":751532,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":292336,"avg_latency":"14.02ms","p99_latency":"28.20ms","cpu":"6611.2%","memory":"650MiB","bandwidth":"42.35MB/s","input_bw":"22.58MB/s","status_2xx":1461681,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":4187085,"avg_latency":"977us","p99_latency":"1.34ms","cpu":"6417.9%","memory":"187MiB","bandwidth":"263.43MB/s","input_bw":"323.44MB/s","status_2xx":20935425,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":3565878,"avg_latency":"1.15ms","p99_latency":"1.72ms","cpu":"6627.1%","memory":"175MiB","bandwidth":"224.38MB/s","input_bw":"275.46MB/s","status_2xx":17829392,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":663079,"avg_latency":"2.83ms","p99_latency":"9.20ms","cpu":"6113.0%","memory":"200MiB","bandwidth":"92.93MB/s","input_bw":"51.22MB/s","status_2xx":3315395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":618801,"avg_latency":"6.62ms","p99_latency":"9.47ms","cpu":"6271.0%","memory":"368MiB","bandwidth":"86.73MB/s","input_bw":"47.80MB/s","status_2xx":3094007,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2260254,"avg_latency":"1.81ms","p99_latency":"2.53ms","cpu":"5871.2%","memory":"220MiB","bandwidth":"142.23MB/s","input_bw":"174.60MB/s","status_2xx":11301272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2159262,"avg_latency":"150us","p99_latency":"729us","cpu":"6556.8%","memory":"396MiB","bandwidth":"185.27MB/s","input_bw":"166.80MB/s","status_2xx":10796310,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1194438,"avg_latency":"3.43ms","p99_latency":"6.38ms","cpu":"6758.4%","memory":"7.6GiB","bandwidth":"218.65MB/s","input_bw":"92.27MB/s","status_2xx":5972194,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1019661,"avg_latency":"4.02ms","p99_latency":"10.00ms","cpu":"6363.5%","memory":"441MiB","bandwidth":"140.00MB/s","input_bw":"78.77MB/s","status_2xx":5098307,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":727096,"avg_latency":"5.57ms","p99_latency":"6.92ms","cpu":"6377.1%","memory":"3.2GiB","bandwidth":"106.07MB/s","input_bw":null,"status_2xx":3635484,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":4056051,"avg_latency":"1.01ms","p99_latency":"6.58ms","cpu":"6445.9%","memory":"160MiB","bandwidth":"413.67MB/s","input_bw":"313.32MB/s","status_2xx":20280259,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":4260437,"avg_latency":"961us","p99_latency":"6.59ms","cpu":"6285.6%","memory":"1.2GiB","bandwidth":"434.61MB/s","input_bw":"329.11MB/s","status_2xx":21302187,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":105425,"avg_latency":"38.81ms","p99_latency":"88.80ms","cpu":"1038.6%","memory":"740MiB","bandwidth":"7.94MB/s","input_bw":"8.14MB/s","status_2xx":527129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":2848413,"avg_latency":"1.43ms","p99_latency":"3.05ms","cpu":"6310.7%","memory":"220MiB","bandwidth":"241.69MB/s","input_bw":null,"status_2xx":14242066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":4422489,"avg_latency":"925us","p99_latency":"1.22ms","cpu":"6410.6%","memory":"182MiB","bandwidth":"278.29MB/s","input_bw":"341.63MB/s","status_2xx":22112448,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":4492613,"avg_latency":"911us","p99_latency":"1.19ms","cpu":"6413.1%","memory":"186MiB","bandwidth":"282.68MB/s","input_bw":"347.04MB/s","status_2xx":22463065,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"pipelined-512":[{"fw":"actix","lang":"Rust","rps":16342080,"avg_latency":"500us","p99_latency":"546us","cpu":"6727.6%","memory":"67MiB","bandwidth":"2.02GB/s","input_bw":null,"status_2xx":81710400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":6735398,"avg_latency":"1.21ms","p99_latency":"4.84ms","cpu":"5067.1%","memory":"174MiB","bandwidth":"1.01GB/s","input_bw":null,"status_2xx":33676991,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":9292638,"avg_latency":"873us","p99_latency":"3.73ms","cpu":"6565.1%","memory":"730.1MiB","bandwidth":"1.43GB/s","input_bw":"","status_2xx":46463192,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":6945628,"avg_latency":"1.18ms","p99_latency":"4.85ms","cpu":"5883.1%","memory":"1.4GiB","bandwidth":"1.24GB/s","input_bw":null,"status_2xx":34728142,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":3674627,"avg_latency":"2.21ms","p99_latency":"6.13ms","cpu":"4606.0%","memory":"165MiB","bandwidth":"550.00MB/s","input_bw":null,"status_2xx":18373138,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":12324,"avg_latency":"629.07ms","p99_latency":"677.30ms","cpu":"55.4%","memory":"162MiB","bandwidth":"1.46MB/s","input_bw":null,"status_2xx":61622,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":382850,"avg_latency":"21.27ms","p99_latency":"235.70ms","cpu":"6370.9%","memory":"1.4GiB","bandwidth":"43.07MB/s","input_bw":null,"status_2xx":1914250,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":154579,"avg_latency":"3.19ms","p99_latency":"3.73ms","cpu":"4651.5%","memory":"2.5GiB","bandwidth":"22.84MB/s","input_bw":null,"status_2xx":772896,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":979524,"avg_latency":"7.10ms","p99_latency":"126.50ms","cpu":"6785.4%","memory":"375MiB","bandwidth":"182.19MB/s","input_bw":null,"status_2xx":4897624,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1348509,"avg_latency":"6.08ms","p99_latency":"9.70ms","cpu":"6707.7%","memory":"2.5GiB","bandwidth":"135.00MB/s","input_bw":null,"status_2xx":6742548,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":4998892,"avg_latency":"1.64ms","p99_latency":"6.82ms","cpu":"5730.5%","memory":"406MiB","bandwidth":"1.02GB/s","input_bw":null,"status_2xx":24994464,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":4654576,"avg_latency":"1.76ms","p99_latency":"2.93ms","cpu":"6438.9%","memory":"1016MiB","bandwidth":"528.14MB/s","input_bw":null,"status_2xx":23272884,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":1009543,"avg_latency":"8.13ms","p99_latency":"9.32ms","cpu":"6606.6%","memory":"6.9GiB","bandwidth":"197.30MB/s","input_bw":null,"status_2xx":5047715,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":364432,"avg_latency":"22.48ms","p99_latency":"25.70ms","cpu":"6524.6%","memory":"4.5GiB","bandwidth":"46.91MB/s","input_bw":null,"status_2xx":1822160,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":6193254,"avg_latency":"1.31ms","p99_latency":"4.98ms","cpu":"4913.9%","memory":"167MiB","bandwidth":"944.76MB/s","input_bw":null,"status_2xx":30966274,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":35845795,"avg_latency":"228us","p99_latency":"3.22ms","cpu":"6743.3%","memory":"163MiB","bandwidth":"3.60GB/s","input_bw":null,"status_2xx":179228976,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1671338,"avg_latency":"4.90ms","p99_latency":"6.57ms","cpu":"6673.1%","memory":"3.4GiB","bandwidth":"267.68MB/s","input_bw":null,"status_2xx":8356694,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1334787,"avg_latency":"6.14ms","p99_latency":"10.40ms","cpu":"6760.5%","memory":"275.8MiB","bandwidth":"209.98MB/s","input_bw":"","status_2xx":6673938,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":3448844,"avg_latency":"2.36ms","p99_latency":"5.29ms","cpu":"6592.9%","memory":"348MiB","bandwidth":"542.54MB/s","input_bw":null,"status_2xx":17244220,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":3712021,"avg_latency":"2.21ms","p99_latency":"12.10ms","cpu":"6469.1%","memory":"3.7GiB","bandwidth":"453.13MB/s","input_bw":null,"status_2xx":18560107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":116458,"avg_latency":"4.20ms","p99_latency":"5.36ms","cpu":"5951.1%","memory":"3.2GiB","bandwidth":"17.10MB/s","input_bw":null,"status_2xx":582290,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":947653,"avg_latency":"7.66ms","p99_latency":"151.20ms","cpu":"6679.4%","memory":"3.1GiB","bandwidth":"176.23MB/s","input_bw":"","status_2xx":4738268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":206393,"avg_latency":"39.69ms","p99_latency":"79.90ms","cpu":"2759.4%","memory":"474.8MiB","bandwidth":"23.21MB/s","input_bw":"","status_2xx":1031966,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":7378288,"avg_latency":"1.11ms","p99_latency":"2.77ms","cpu":"6565.3%","memory":"6.0GiB","bandwidth":"1.26GB/s","input_bw":null,"status_2xx":36891440,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":8991398,"avg_latency":"910us","p99_latency":"7.37ms","cpu":"5677.2%","memory":"258MiB","bandwidth":"1.08GB/s","input_bw":null,"status_2xx":44956992,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":18096665,"avg_latency":"451us","p99_latency":"5.00ms","cpu":"6602.1%","memory":"148MiB","bandwidth":"2.17GB/s","input_bw":null,"status_2xx":90483328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":18924281,"avg_latency":"432us","p99_latency":"1.67ms","cpu":"6125.2%","memory":"319MiB","bandwidth":"2.24GB/s","input_bw":null,"status_2xx":94621408,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":3532749,"avg_latency":"2.32ms","p99_latency":"6.83ms","cpu":"5638.7%","memory":"252MiB","bandwidth":"461.40MB/s","input_bw":null,"status_2xx":17663749,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":3133552,"avg_latency":"2.61ms","p99_latency":"7.02ms","cpu":"5553.6%","memory":"153MiB","bandwidth":"358.48MB/s","input_bw":null,"status_2xx":15667763,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":14170360,"avg_latency":"578us","p99_latency":"1.46ms","cpu":"6471.2%","memory":"49.6MiB","bandwidth":"1.64GB/s","input_bw":"","status_2xx":70851803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":2388203,"avg_latency":"3.43ms","p99_latency":"7.72ms","cpu":"6593.4%","memory":"141MiB","bandwidth":"359.72MB/s","input_bw":null,"status_2xx":11941017,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":9010410,"avg_latency":"879us","p99_latency":"4.91ms","cpu":"6017.9%","memory":"7.2GiB","bandwidth":"1.21GB/s","input_bw":"","status_2xx":45052051,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":10901216,"avg_latency":"713us","p99_latency":"2.71ms","cpu":"6133.0%","memory":"6.5GiB","bandwidth":"1.22GB/s","input_bw":"","status_2xx":54506083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":4794074,"avg_latency":"1.71ms","p99_latency":"7.65ms","cpu":"6548.7%","memory":"41MiB","bandwidth":"676.48MB/s","input_bw":null,"status_2xx":23970373,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":87793,"avg_latency":"19.19ms","p99_latency":"53.90ms","cpu":"2109.2%","memory":"1.5GiB","bandwidth":"10.32MB/s","input_bw":"","status_2xx":438968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":762240,"avg_latency":"9.88ms","p99_latency":"19.60ms","cpu":"6446.0%","memory":"63.8MiB","bandwidth":"90.11MB/s","input_bw":"","status_2xx":3811204,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":16389433,"avg_latency":"499us","p99_latency":"992us","cpu":"6544.8%","memory":"34.0MiB","bandwidth":"1.80GB/s","input_bw":"","status_2xx":81947168,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":478071,"avg_latency":"17.14ms","p99_latency":"20.50ms","cpu":"3454.9%","memory":"1.8GiB","bandwidth":"72.02MB/s","input_bw":null,"status_2xx":2390357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":53828080,"avg_latency":"151us","p99_latency":"356us","cpu":"6399.8%","memory":"225MiB","bandwidth":"3.31GB/s","input_bw":null,"status_2xx":269140400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":37081286,"avg_latency":"220us","p99_latency":"415us","cpu":"6410.6%","memory":"99MiB","bandwidth":"4.04GB/s","input_bw":null,"status_2xx":185406432,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":619926,"avg_latency":"13.23ms","p99_latency":"59.70ms","cpu":"4584.1%","memory":"10.6GiB","bandwidth":"39.00MB/s","input_bw":null,"status_2xx":3099632,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":590006,"avg_latency":"13.89ms","p99_latency":"51.20ms","cpu":"4645.7%","memory":"9.1GiB","bandwidth":"37.12MB/s","input_bw":null,"status_2xx":2950032,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":42185939,"avg_latency":"193us","p99_latency":"361us","cpu":"6515.9%","memory":"70MiB","bandwidth":"4.48GB/s","input_bw":null,"status_2xx":210929696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":11661827,"avg_latency":"701us","p99_latency":"1.69ms","cpu":"5847.1%","memory":"98MiB","bandwidth":"1.30GB/s","input_bw":null,"status_2xx":58309136,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":3680607,"avg_latency":"2.22ms","p99_latency":"3.70ms","cpu":"6609.0%","memory":"120MiB","bandwidth":"315.82MB/s","input_bw":null,"status_2xx":18403039,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":22999727,"avg_latency":"355us","p99_latency":"863us","cpu":"5914.7%","memory":"114.3MiB","bandwidth":"1.41GB/s","input_bw":"","status_2xx":114998639,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":54594394,"avg_latency":"149us","p99_latency":"299us","cpu":"6228.5%","memory":"406MiB","bandwidth":"3.35GB/s","input_bw":null,"status_2xx":272971971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":54262814,"avg_latency":"150us","p99_latency":"264us","cpu":"6258.3%","memory":"79MiB","bandwidth":"3.33GB/s","input_bw":null,"status_2xx":271314073,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":4931049,"avg_latency":"1.66ms","p99_latency":"3.70ms","cpu":"6226.0%","memory":"50MiB","bandwidth":"808.64MB/s","input_bw":null,"status_2xx":24655248,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1583489,"avg_latency":"5.17ms","p99_latency":"13.70ms","cpu":"6473.9%","memory":"2.8GiB","bandwidth":"286.72MB/s","input_bw":null,"status_2xx":7917445,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":3097170,"avg_latency":"2.64ms","p99_latency":"8.40ms","cpu":"6502.7%","memory":"4.4GiB","bandwidth":"419.31MB/s","input_bw":"","status_2xx":15485852,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":650903,"avg_latency":"12.61ms","p99_latency":"30.50ms","cpu":"6457.7%","memory":"357MiB","bandwidth":"142.12MB/s","input_bw":null,"status_2xx":3254515,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":294569,"avg_latency":"27.81ms","p99_latency":"38.10ms","cpu":"6480.2%","memory":"3.8GiB","bandwidth":"56.17MB/s","input_bw":"","status_2xx":1472846,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pico","lang":"V","rps":4269399,"avg_latency":"1.92ms","p99_latency":"4.19ms","cpu":"6417.4%","memory":"646MiB","bandwidth":"313.45MB/s","input_bw":null,"status_2xx":21346998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4103669,"avg_latency":"1.99ms","p99_latency":"4.00ms","cpu":"6406.3%","memory":"829MiB","bandwidth":"496.89MB/s","input_bw":null,"status_2xx":20518349,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":7832208,"avg_latency":"1.04ms","p99_latency":"2.23ms","cpu":"6236.0%","memory":"10.1GiB","bandwidth":"754.19MB/s","input_bw":"","status_2xx":39161040,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":868025,"avg_latency":"9.44ms","p99_latency":"14.20ms","cpu":"6723.8%","memory":"716MiB","bandwidth":"73.66MB/s","input_bw":null,"status_2xx":4340127,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":2037298,"avg_latency":"4.02ms","p99_latency":"15.20ms","cpu":"6652.7%","memory":"4.4GiB","bandwidth":"238.90MB/s","input_bw":null,"status_2xx":10186490,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":977544,"avg_latency":"8.37ms","p99_latency":"107.90ms","cpu":"6652.7%","memory":"4.4GiB","bandwidth":"135.13MB/s","input_bw":null,"status_2xx":4887720,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":306971,"avg_latency":"26.51ms","p99_latency":"67.50ms","cpu":"6471.9%","memory":"2.4GiB","bandwidth":"60.27MB/s","input_bw":null,"status_2xx":1534859,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":56349020,"avg_latency":"145us","p99_latency":"214us","cpu":"5947.5%","memory":"4.1GiB","bandwidth":"4.41GB/s","input_bw":null,"status_2xx":281745104,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":1408430,"avg_latency":"2.12ms","p99_latency":"25.90ms","cpu":"6521.5%","memory":"182MiB","bandwidth":"189.34MB/s","input_bw":null,"status_2xx":7042152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":15867443,"avg_latency":"515us","p99_latency":"6.32ms","cpu":"6729.4%","memory":"825MiB","bandwidth":"1.74GB/s","input_bw":null,"status_2xx":79337216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":718707,"avg_latency":"11.31ms","p99_latency":"31.80ms","cpu":"6642.8%","memory":"1.7GiB","bandwidth":"61.00MB/s","input_bw":null,"status_2xx":3593538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":56078179,"avg_latency":"145us","p99_latency":"319us","cpu":"5811.3%","memory":"43MiB","bandwidth":"4.49GB/s","input_bw":null,"status_2xx":280390896,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":40074710,"avg_latency":"203us","p99_latency":"397us","cpu":"6723.3%","memory":"1.1GiB","bandwidth":"4.36GB/s","input_bw":null,"status_2xx":200373552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":14268,"avg_latency":"551.56ms","p99_latency":"1.89s","cpu":"793.7%","memory":"194MiB","bandwidth":"2.77MB/s","input_bw":null,"status_2xx":71342,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":5874637,"avg_latency":"908us","p99_latency":"2.95ms","cpu":"5809.8%","memory":"274MiB","bandwidth":"795.27MB/s","input_bw":null,"status_2xx":29373187,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":6501,"avg_latency":"13.80ms","p99_latency":"64.00ms","cpu":"0.0%","memory":"413MiB","bandwidth":"901.30KB/s","input_bw":null,"status_2xx":32509,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":430404,"avg_latency":"18.89ms","p99_latency":"55.30ms","cpu":"6519.8%","memory":"2.1GiB","bandwidth":"43.49MB/s","input_bw":null,"status_2xx":2152021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":898788,"avg_latency":"9.12ms","p99_latency":"48.60ms","cpu":"5208.1%","memory":"178MiB","bandwidth":"113.10MB/s","input_bw":null,"status_2xx":4493943,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":82213,"avg_latency":"90.31ms","p99_latency":"128.00ms","cpu":"1322.6%","memory":"113MiB","bandwidth":"9.72MB/s","input_bw":null,"status_2xx":411066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":561637,"avg_latency":"12.44ms","p99_latency":"65.50ms","cpu":"2260.1%","memory":"1.4GiB","bandwidth":"61.68MB/s","input_bw":"","status_2xx":2808186,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":24027148,"avg_latency":"340us","p99_latency":"729us","cpu":"6808.4%","memory":"1021MiB","bandwidth":"3.00GB/s","input_bw":null,"status_2xx":120135744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2833444,"avg_latency":"2.89ms","p99_latency":"8.99ms","cpu":"6494.1%","memory":"169.2MiB","bandwidth":"418.70MB/s","input_bw":"","status_2xx":14167224,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":184486,"avg_latency":"44.40ms","p99_latency":"69.00ms","cpu":"5026.0%","memory":"787MiB","bandwidth":"29.35MB/s","input_bw":null,"status_2xx":922434,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":314005,"avg_latency":"26.05ms","p99_latency":"65.50ms","cpu":"6714.3%","memory":"370MiB","bandwidth":"45.50MB/s","input_bw":null,"status_2xx":1570028,"status_3xx":0,"status_4xx":0,"status_5xx":2},{"fw":"tokio","lang":"Rust","rps":54824854,"avg_latency":"148us","p99_latency":"272us","cpu":"6385.0%","memory":"46MiB","bandwidth":"3.37GB/s","input_bw":null,"status_2xx":274124272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":46383110,"avg_latency":"175us","p99_latency":"369us","cpu":"6496.7%","memory":"44MiB","bandwidth":"2.85GB/s","input_bw":null,"status_2xx":231915552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2582259,"avg_latency":"2.91ms","p99_latency":"34.70ms","cpu":"6688.1%","memory":"125MiB","bandwidth":"362.00MB/s","input_bw":null,"status_2xx":12911298,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":2739167,"avg_latency":"2.99ms","p99_latency":"5.17ms","cpu":"6547.8%","memory":"216MiB","bandwidth":"383.87MB/s","input_bw":null,"status_2xx":13695835,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":8993883,"avg_latency":"910us","p99_latency":"2.02ms","cpu":"6514.3%","memory":"150MiB","bandwidth":"565.95MB/s","input_bw":null,"status_2xx":44969418,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":44170000,"avg_latency":"153us","p99_latency":"608us","cpu":"6624.6%","memory":"181MiB","bandwidth":"3.70GB/s","input_bw":null,"status_2xx":220850000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":4699289,"avg_latency":"1.74ms","p99_latency":"4.53ms","cpu":"6501.3%","memory":"7.8GiB","bandwidth":"860.18MB/s","input_bw":null,"status_2xx":23496448,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1443633,"avg_latency":"5.67ms","p99_latency":"9.07ms","cpu":"6717.2%","memory":"265MiB","bandwidth":"198.20MB/s","input_bw":null,"status_2xx":7218169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":797839,"avg_latency":"10.27ms","p99_latency":"12.90ms","cpu":"6513.0%","memory":"3.2GiB","bandwidth":"117.14MB/s","input_bw":null,"status_2xx":3989198,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":39432674,"avg_latency":"207us","p99_latency":"3.30ms","cpu":"6742.4%","memory":"74MiB","bandwidth":"3.93GB/s","input_bw":null,"status_2xx":197163370,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":40813667,"avg_latency":"200us","p99_latency":"3.14ms","cpu":"6622.4%","memory":"1.0GiB","bandwidth":"4.07GB/s","input_bw":null,"status_2xx":204068336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":132236,"avg_latency":"62.10ms","p99_latency":"148.20ms","cpu":"1164.6%","memory":"525MiB","bandwidth":"9.96MB/s","input_bw":null,"status_2xx":661184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":3637410,"avg_latency":"2.25ms","p99_latency":"4.04ms","cpu":"6590.3%","memory":"185MiB","bandwidth":"312.09MB/s","input_bw":null,"status_2xx":18187053,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":48531942,"avg_latency":"168us","p99_latency":"358us","cpu":"6576.9%","memory":"66MiB","bandwidth":"2.98GB/s","input_bw":null,"status_2xx":242659712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":53609380,"avg_latency":"152us","p99_latency":"344us","cpu":"6399.9%","memory":"134MiB","bandwidth":"3.29GB/s","input_bw":null,"status_2xx":268046903,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"pipelined-4096":[{"fw":"actix","lang":"Rust","rps":16338425,"avg_latency":"3.69ms","p99_latency":"5.31ms","cpu":"6656.8%","memory":"196MiB","bandwidth":"2.02GB/s","input_bw":null,"status_2xx":81692128,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":7049780,"avg_latency":"7.87ms","p99_latency":"20.90ms","cpu":"5633.6%","memory":"346MiB","bandwidth":"1.06GB/s","input_bw":null,"status_2xx":35248902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":9484062,"avg_latency":"5.61ms","p99_latency":"14.50ms","cpu":"6380.4%","memory":"893.4MiB","bandwidth":"1.46GB/s","input_bw":"","status_2xx":47420311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":7024560,"avg_latency":"9.35ms","p99_latency":"23.20ms","cpu":"6203.2%","memory":"1.7GiB","bandwidth":"1.25GB/s","input_bw":null,"status_2xx":35122800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":3795814,"avg_latency":"14.05ms","p99_latency":"36.20ms","cpu":"6085.2%","memory":"372MiB","bandwidth":"568.14MB/s","input_bw":null,"status_2xx":18979071,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":97989,"avg_latency":"626.26ms","p99_latency":"683.00ms","cpu":"308.7%","memory":"431MiB","bandwidth":"11.59MB/s","input_bw":null,"status_2xx":489948,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":374366,"avg_latency":"164.39ms","p99_latency":"494.70ms","cpu":"6333.9%","memory":"1.6GiB","bandwidth":"42.11MB/s","input_bw":null,"status_2xx":1871831,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":124318,"avg_latency":"18.26ms","p99_latency":"22.10ms","cpu":"2945.7%","memory":"2.5GiB","bandwidth":"18.37MB/s","input_bw":null,"status_2xx":621593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":981405,"avg_latency":"57.25ms","p99_latency":"820.60ms","cpu":"6689.6%","memory":"609MiB","bandwidth":"182.54MB/s","input_bw":null,"status_2xx":4907026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1467972,"avg_latency":"44.38ms","p99_latency":"80.30ms","cpu":"6581.3%","memory":"2.7GiB","bandwidth":"146.96MB/s","input_bw":null,"status_2xx":7339860,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":5014140,"avg_latency":"12.97ms","p99_latency":"166.90ms","cpu":"5958.8%","memory":"1.3GiB","bandwidth":"1.02GB/s","input_bw":null,"status_2xx":25070704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":4990677,"avg_latency":"13.12ms","p99_latency":"16.50ms","cpu":"6373.5%","memory":"1.0GiB","bandwidth":"566.22MB/s","input_bw":null,"status_2xx":24953389,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":991370,"avg_latency":"52.23ms","p99_latency":"112.40ms","cpu":"6581.2%","memory":"7.2GiB","bandwidth":"193.74MB/s","input_bw":null,"status_2xx":4956852,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":359847,"avg_latency":"178.29ms","p99_latency":"205.40ms","cpu":"6524.2%","memory":"4.7GiB","bandwidth":"46.31MB/s","input_bw":null,"status_2xx":1799237,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":6589782,"avg_latency":"7.88ms","p99_latency":"21.40ms","cpu":"5523.2%","memory":"361MiB","bandwidth":"1005.20MB/s","input_bw":null,"status_2xx":32948914,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":35926640,"avg_latency":"1.83ms","p99_latency":"7.40ms","cpu":"6462.1%","memory":"330MiB","bandwidth":"3.61GB/s","input_bw":null,"status_2xx":179633200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1671518,"avg_latency":"28.79ms","p99_latency":"49.80ms","cpu":"6608.7%","memory":"4.3GiB","bandwidth":"267.72MB/s","input_bw":null,"status_2xx":8357591,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1541772,"avg_latency":"42.47ms","p99_latency":"77.00ms","cpu":"6720.6%","memory":"799.0MiB","bandwidth":"242.54MB/s","input_bw":"","status_2xx":7708863,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":2681196,"avg_latency":"24.40ms","p99_latency":"30.80ms","cpu":"6479.3%","memory":"845MiB","bandwidth":"421.79MB/s","input_bw":null,"status_2xx":13405981,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":3250416,"avg_latency":"17.66ms","p99_latency":"76.30ms","cpu":"6338.4%","memory":"7.0GiB","bandwidth":"396.68MB/s","input_bw":null,"status_2xx":16252082,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":77697,"avg_latency":"28.52ms","p99_latency":"161.70ms","cpu":"3325.3%","memory":"3.2GiB","bandwidth":"11.41MB/s","input_bw":null,"status_2xx":388489,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":944151,"avg_latency":"52.25ms","p99_latency":"761.50ms","cpu":"6574.9%","memory":"3.2GiB","bandwidth":"175.59MB/s","input_bw":"","status_2xx":4720755,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":330989,"avg_latency":"191.69ms","p99_latency":"743.10ms","cpu":"3476.7%","memory":"805.9MiB","bandwidth":"35.92MB/s","input_bw":"","status_2xx":1654947,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":7335952,"avg_latency":"8.93ms","p99_latency":"11.80ms","cpu":"6548.7%","memory":"6.5GiB","bandwidth":"1.25GB/s","input_bw":null,"status_2xx":36679760,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":9442956,"avg_latency":"6.24ms","p99_latency":"14.90ms","cpu":"6126.1%","memory":"1.3GiB","bandwidth":"1.13GB/s","input_bw":null,"status_2xx":47214784,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":16952306,"avg_latency":"3.62ms","p99_latency":"12.40ms","cpu":"6376.9%","memory":"313MiB","bandwidth":"2.04GB/s","input_bw":null,"status_2xx":84761533,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":19131625,"avg_latency":"3.42ms","p99_latency":"9.68ms","cpu":"6242.5%","memory":"473MiB","bandwidth":"2.26GB/s","input_bw":null,"status_2xx":95658128,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":3236033,"avg_latency":"16.64ms","p99_latency":"43.80ms","cpu":"6150.8%","memory":"439MiB","bandwidth":"422.67MB/s","input_bw":null,"status_2xx":16180167,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":3542709,"avg_latency":"15.53ms","p99_latency":"39.60ms","cpu":"5930.5%","memory":"295MiB","bandwidth":"405.28MB/s","input_bw":null,"status_2xx":17713548,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":14135609,"avg_latency":"4.63ms","p99_latency":"8.86ms","cpu":"6374.1%","memory":"142.4MiB","bandwidth":"1.63GB/s","input_bw":"","status_2xx":70678048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":2511269,"avg_latency":"6.51ms","p99_latency":"9.45ms","cpu":"6323.6%","memory":"146MiB","bandwidth":"378.27MB/s","input_bw":null,"status_2xx":12556346,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":8852955,"avg_latency":"6.36ms","p99_latency":"30.50ms","cpu":"5886.4%","memory":"8.0GiB","bandwidth":"1.19GB/s","input_bw":"","status_2xx":44264777,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":10029440,"avg_latency":"6.48ms","p99_latency":"23.10ms","cpu":"5994.1%","memory":"7.6GiB","bandwidth":"1.12GB/s","input_bw":"","status_2xx":50147203,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":4787219,"avg_latency":"13.75ms","p99_latency":"36.00ms","cpu":"6402.6%","memory":"137MiB","bandwidth":"675.49MB/s","input_bw":null,"status_2xx":23936098,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":276543,"avg_latency":"187.81ms","p99_latency":"283.60ms","cpu":"6496.0%","memory":"1.6GiB","bandwidth":"32.48MB/s","input_bw":"","status_2xx":1382717,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":786408,"avg_latency":"40.07ms","p99_latency":"77.60ms","cpu":"6142.9%","memory":"143.8MiB","bandwidth":"92.96MB/s","input_bw":"","status_2xx":3932043,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":16218012,"avg_latency":"4.03ms","p99_latency":"5.31ms","cpu":"6408.6%","memory":"126.2MiB","bandwidth":"1.78GB/s","input_bw":"","status_2xx":81090064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":466686,"avg_latency":"117.55ms","p99_latency":"300.30ms","cpu":"3578.6%","memory":"1.9GiB","bandwidth":"70.29MB/s","input_bw":null,"status_2xx":2333431,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":53970163,"avg_latency":"1.21ms","p99_latency":"1.89ms","cpu":"6427.6%","memory":"316MiB","bandwidth":"3.32GB/s","input_bw":null,"status_2xx":269850816,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":36933660,"avg_latency":"1.77ms","p99_latency":"3.46ms","cpu":"6473.5%","memory":"176MiB","bandwidth":"4.02GB/s","input_bw":null,"status_2xx":184668304,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":584867,"avg_latency":"110.57ms","p99_latency":"138.90ms","cpu":"4725.5%","memory":"17.9GiB","bandwidth":"36.80MB/s","input_bw":null,"status_2xx":2924336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":654297,"avg_latency":"99.47ms","p99_latency":"146.90ms","cpu":"4849.5%","memory":"9.5GiB","bandwidth":"41.17MB/s","input_bw":null,"status_2xx":3271488,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":42807713,"avg_latency":"1.53ms","p99_latency":"2.54ms","cpu":"6449.1%","memory":"149MiB","bandwidth":"4.54GB/s","input_bw":null,"status_2xx":214038567,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":11705846,"avg_latency":"5.60ms","p99_latency":"7.60ms","cpu":"5727.8%","memory":"129MiB","bandwidth":"1.31GB/s","input_bw":null,"status_2xx":58529232,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":3688724,"avg_latency":"17.79ms","p99_latency":"24.40ms","cpu":"6441.5%","memory":"156MiB","bandwidth":"316.51MB/s","input_bw":null,"status_2xx":18443624,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":22803870,"avg_latency":"2.55ms","p99_latency":"3.20ms","cpu":"5269.6%","memory":"191.8MiB","bandwidth":"1.40GB/s","input_bw":"","status_2xx":114019353,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":54648012,"avg_latency":"1.20ms","p99_latency":"1.62ms","cpu":"6424.1%","memory":"493MiB","bandwidth":"3.36GB/s","input_bw":null,"status_2xx":273240064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":57140640,"avg_latency":"1.15ms","p99_latency":"1.54ms","cpu":"6410.5%","memory":"143MiB","bandwidth":"3.51GB/s","input_bw":null,"status_2xx":285703200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":4998403,"avg_latency":"13.09ms","p99_latency":"46.70ms","cpu":"6501.1%","memory":"168MiB","bandwidth":"819.65MB/s","input_bw":null,"status_2xx":24992016,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":2654617,"avg_latency":"24.70ms","p99_latency":"58.10ms","cpu":"6527.2%","memory":"3.2GiB","bandwidth":"480.76MB/s","input_bw":null,"status_2xx":13273086,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":3146339,"avg_latency":"20.80ms","p99_latency":"43.20ms","cpu":"6407.7%","memory":"4.4GiB","bandwidth":"425.93MB/s","input_bw":"","status_2xx":15731697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":632232,"avg_latency":"90.28ms","p99_latency":"175.10ms","cpu":"6576.3%","memory":"512MiB","bandwidth":"138.04MB/s","input_bw":null,"status_2xx":3161161,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":284705,"avg_latency":"224.80ms","p99_latency":"242.60ms","cpu":"6149.0%","memory":"3.9GiB","bandwidth":"54.29MB/s","input_bw":"","status_2xx":1423529,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pico","lang":"V","rps":4255760,"avg_latency":"15.43ms","p99_latency":"29.30ms","cpu":"6285.3%","memory":"453MiB","bandwidth":"312.39MB/s","input_bw":null,"status_2xx":21278802,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4171572,"avg_latency":"15.68ms","p99_latency":"26.60ms","cpu":"6426.0%","memory":"997MiB","bandwidth":"505.07MB/s","input_bw":null,"status_2xx":20857860,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":8126275,"avg_latency":"8.05ms","p99_latency":"16.60ms","cpu":"6130.1%","memory":"10.0GiB","bandwidth":"782.49MB/s","input_bw":"","status_2xx":40631376,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":800040,"avg_latency":"81.44ms","p99_latency":"147.50ms","cpu":"6594.3%","memory":"1.0GiB","bandwidth":"67.89MB/s","input_bw":null,"status_2xx":4000203,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":2054716,"avg_latency":"30.96ms","p99_latency":"94.70ms","cpu":"6595.0%","memory":"4.6GiB","bandwidth":"240.95MB/s","input_bw":null,"status_2xx":10273582,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":928352,"avg_latency":"68.57ms","p99_latency":"168.30ms","cpu":"6487.3%","memory":"4.5GiB","bandwidth":"128.33MB/s","input_bw":null,"status_2xx":4641763,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":307594,"avg_latency":"189.04ms","p99_latency":"401.40ms","cpu":"6443.5%","memory":"2.5GiB","bandwidth":"60.39MB/s","input_bw":null,"status_2xx":1537971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":55913552,"avg_latency":"1.17ms","p99_latency":"1.83ms","cpu":"6165.6%","memory":"4.2GiB","bandwidth":"4.37GB/s","input_bw":null,"status_2xx":279567760,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":1409539,"avg_latency":"2.99ms","p99_latency":"69.50ms","cpu":"6331.9%","memory":"225MiB","bandwidth":"189.46MB/s","input_bw":null,"status_2xx":7047698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":16183222,"avg_latency":"3.99ms","p99_latency":"15.90ms","cpu":"6371.7%","memory":"962MiB","bandwidth":"1.78GB/s","input_bw":null,"status_2xx":80916112,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":697544,"avg_latency":"79.34ms","p99_latency":"144.30ms","cpu":"6668.9%","memory":"2.0GiB","bandwidth":"59.19MB/s","input_bw":null,"status_2xx":3487723,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":55699580,"avg_latency":"1.17ms","p99_latency":"1.80ms","cpu":"6055.6%","memory":"117MiB","bandwidth":"4.46GB/s","input_bw":null,"status_2xx":278497904,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":40880271,"avg_latency":"1.60ms","p99_latency":"2.26ms","cpu":"6757.4%","memory":"1.2GiB","bandwidth":"4.45GB/s","input_bw":null,"status_2xx":204401357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":15140,"avg_latency":"1.66s","p99_latency":"3.68s","cpu":"840.1%","memory":"287MiB","bandwidth":"2.94MB/s","input_bw":null,"status_2xx":75700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":5899205,"avg_latency":"3.56ms","p99_latency":"1.62ms","cpu":"5752.0%","memory":"386MiB","bandwidth":"798.60MB/s","input_bw":null,"status_2xx":29496029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":67456,"avg_latency":"62.53ms","p99_latency":"201.50ms","cpu":"421.0%","memory":"601MiB","bandwidth":"9.13MB/s","input_bw":null,"status_2xx":337280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":427147,"avg_latency":"135.91ms","p99_latency":"293.60ms","cpu":"6519.5%","memory":"2.1GiB","bandwidth":"43.17MB/s","input_bw":null,"status_2xx":2135735,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":822590,"avg_latency":"79.19ms","p99_latency":"153.30ms","cpu":"6101.8%","memory":"475MiB","bandwidth":"103.52MB/s","input_bw":null,"status_2xx":4112954,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":81574,"avg_latency":"257.68ms","p99_latency":"1.96s","cpu":"1323.8%","memory":"159MiB","bandwidth":"9.64MB/s","input_bw":null,"status_2xx":407872,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":548229,"avg_latency":"48.92ms","p99_latency":"373.20ms","cpu":"2184.2%","memory":"2.3GiB","bandwidth":"60.20MB/s","input_bw":"","status_2xx":2741146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":24258825,"avg_latency":"2.70ms","p99_latency":"3.39ms","cpu":"6612.6%","memory":"1.0GiB","bandwidth":"3.03GB/s","input_bw":null,"status_2xx":121294128,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2928585,"avg_latency":"22.33ms","p99_latency":"45.20ms","cpu":"6483.1%","memory":"215.0MiB","bandwidth":"432.76MB/s","input_bw":"","status_2xx":14642926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":224686,"avg_latency":"282.52ms","p99_latency":"429.40ms","cpu":"5885.3%","memory":"1.8GiB","bandwidth":"35.45MB/s","input_bw":null,"status_2xx":1123434,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":323418,"avg_latency":"198.49ms","p99_latency":"355.20ms","cpu":"6400.9%","memory":"586MiB","bandwidth":"46.86MB/s","input_bw":null,"status_2xx":1617092,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":54755795,"avg_latency":"1.20ms","p99_latency":"1.62ms","cpu":"6057.7%","memory":"164MiB","bandwidth":"3.36GB/s","input_bw":null,"status_2xx":273778976,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":48876057,"avg_latency":"1.34ms","p99_latency":"2.11ms","cpu":"6577.5%","memory":"177MiB","bandwidth":"3.00GB/s","input_bw":null,"status_2xx":244380286,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2756991,"avg_latency":"12.67ms","p99_latency":"100.90ms","cpu":"6464.1%","memory":"234MiB","bandwidth":"386.37MB/s","input_bw":null,"status_2xx":13784955,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":2818523,"avg_latency":"23.20ms","p99_latency":"29.90ms","cpu":"6467.6%","memory":"319MiB","bandwidth":"394.99MB/s","input_bw":null,"status_2xx":14092617,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2295056,"avg_latency":"28.56ms","p99_latency":"48.20ms","cpu":"5949.5%","memory":"245MiB","bandwidth":"144.42MB/s","input_bw":null,"status_2xx":11475283,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":46159084,"avg_latency":"189us","p99_latency":"731us","cpu":"6258.8%","memory":"451MiB","bandwidth":"3.87GB/s","input_bw":null,"status_2xx":230795424,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":4613548,"avg_latency":"14.21ms","p99_latency":"31.30ms","cpu":"6413.3%","memory":"7.9GiB","bandwidth":"844.50MB/s","input_bw":null,"status_2xx":23067744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1324629,"avg_latency":"49.30ms","p99_latency":"66.00ms","cpu":"6703.8%","memory":"899MiB","bandwidth":"181.86MB/s","input_bw":null,"status_2xx":6623146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":799828,"avg_latency":"80.22ms","p99_latency":"91.30ms","cpu":"6376.6%","memory":"3.4GiB","bandwidth":"117.44MB/s","input_bw":null,"status_2xx":3999144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":39426457,"avg_latency":"1.66ms","p99_latency":"7.85ms","cpu":"6478.5%","memory":"166MiB","bandwidth":"3.93GB/s","input_bw":null,"status_2xx":197132288,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":43316035,"avg_latency":"1.51ms","p99_latency":"7.51ms","cpu":"6473.8%","memory":"1.1GiB","bandwidth":"4.32GB/s","input_bw":null,"status_2xx":216580176,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":126275,"avg_latency":"493.45ms","p99_latency":"755.40ms","cpu":"1033.9%","memory":"764MiB","bandwidth":"9.51MB/s","input_bw":null,"status_2xx":631376,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":3936670,"avg_latency":"16.56ms","p99_latency":"21.20ms","cpu":"6320.1%","memory":"221MiB","bandwidth":"337.77MB/s","input_bw":null,"status_2xx":19683354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":49860224,"avg_latency":"1.31ms","p99_latency":"2.14ms","cpu":"6407.1%","memory":"106MiB","bandwidth":"3.06GB/s","input_bw":null,"status_2xx":249301120,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":55979164,"avg_latency":"1.17ms","p99_latency":"1.79ms","cpu":"6454.4%","memory":"186MiB","bandwidth":"3.44GB/s","input_bw":null,"status_2xx":279895824,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"limited-conn-512":[{"fw":"actix","lang":"Rust","rps":1121546,"avg_latency":"447us","p99_latency":"4.06ms","cpu":"4775.9%","memory":"71MiB","bandwidth":"142.20MB/s","input_bw":"86.64MB/s","status_2xx":5607731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":515600,"avg_latency":"982us","p99_latency":"8.80ms","cpu":"3598.3%","memory":"5.3GiB","bandwidth":"77.17MB/s","input_bw":"39.83MB/s","status_2xx":2578004,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":455768,"avg_latency":"1.10ms","p99_latency":"11.70ms","cpu":"3427.8%","memory":"146MiB","bandwidth":"69.95MB/s","input_bw":"35.21MB/s","status_2xx":2278843,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":488293,"avg_latency":"1.02ms","p99_latency":"11.60ms","cpu":"3539.1%","memory":"842.5MiB","bandwidth":"79.60MB/s","input_bw":"37.72MB/s","status_2xx":2441469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1145776,"avg_latency":"435us","p99_latency":"3.76ms","cpu":"5562.6%","memory":"1.5GiB","bandwidth":"208.68MB/s","input_bw":"88.51MB/s","status_2xx":5728884,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":422945,"avg_latency":"1.16ms","p99_latency":"12.50ms","cpu":"4295.4%","memory":"194MiB","bandwidth":"63.31MB/s","input_bw":"32.67MB/s","status_2xx":2114729,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":13725,"avg_latency":"37.22ms","p99_latency":"42.30ms","cpu":"89.5%","memory":"149MiB","bandwidth":"1.62MB/s","input_bw":"1.06MB/s","status_2xx":68629,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":245461,"avg_latency":"2.08ms","p99_latency":"5.20ms","cpu":"6374.9%","memory":"1.6GiB","bandwidth":"27.61MB/s","input_bw":"18.96MB/s","status_2xx":1227305,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":152370,"avg_latency":"3.25ms","p99_latency":"3.75ms","cpu":"5655.5%","memory":"2.5GiB","bandwidth":"22.52MB/s","input_bw":"11.77MB/s","status_2xx":761854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":484376,"avg_latency":"990us","p99_latency":"4.00ms","cpu":"6177.3%","memory":"846MiB","bandwidth":"90.06MB/s","input_bw":"37.42MB/s","status_2xx":2421883,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1081262,"avg_latency":"462us","p99_latency":"2.55ms","cpu":"6553.8%","memory":"2.5GiB","bandwidth":"108.24MB/s","input_bw":"83.52MB/s","status_2xx":5406311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":384420,"avg_latency":"1.32ms","p99_latency":"14.70ms","cpu":"3072.3%","memory":"166MiB","bandwidth":"62.67MB/s","input_bw":"29.70MB/s","status_2xx":1922100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1279234,"avg_latency":"391us","p99_latency":"3.76ms","cpu":"5212.1%","memory":"1.1GiB","bandwidth":"161.02MB/s","input_bw":null,"status_2xx":6396171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":278163,"avg_latency":"1.83ms","p99_latency":"18.60ms","cpu":"3613.1%","memory":"5.7GiB","bandwidth":"54.36MB/s","input_bw":"21.49MB/s","status_2xx":1390815,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":284181,"avg_latency":"1.79ms","p99_latency":"3.92ms","cpu":"6508.9%","memory":"5.7GiB","bandwidth":"36.58MB/s","input_bw":"21.95MB/s","status_2xx":1420905,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":449724,"avg_latency":"1.10ms","p99_latency":"11.70ms","cpu":"3523.8%","memory":"147MiB","bandwidth":"68.60MB/s","input_bw":"34.74MB/s","status_2xx":2248620,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2156962,"avg_latency":"224us","p99_latency":"1.73ms","cpu":"5574.7%","memory":"555MiB","bandwidth":"222.10MB/s","input_bw":"166.62MB/s","status_2xx":10784810,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":298779,"avg_latency":"1.71ms","p99_latency":"17.60ms","cpu":"3287.2%","memory":"4.3GiB","bandwidth":"47.85MB/s","input_bw":"23.08MB/s","status_2xx":1493898,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":629673,"avg_latency":"803us","p99_latency":"2.71ms","cpu":"6866.3%","memory":"1006MiB","bandwidth":"99.05MB/s","input_bw":"48.64MB/s","status_2xx":3148365,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1044286,"avg_latency":"479us","p99_latency":"3.75ms","cpu":"6180.2%","memory":"406MiB","bandwidth":"164.28MB/s","input_bw":"80.67MB/s","status_2xx":5221434,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":596007,"avg_latency":"851us","p99_latency":"8.27ms","cpu":"3572.3%","memory":"3.2GiB","bandwidth":"72.73MB/s","input_bw":"46.04MB/s","status_2xx":2980038,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":113993,"avg_latency":"4.29ms","p99_latency":"5.28ms","cpu":"6042.0%","memory":"3.2GiB","bandwidth":"16.63MB/s","input_bw":null,"status_2xx":569968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":459714,"avg_latency":"1.07ms","p99_latency":"5.02ms","cpu":"5650.8%","memory":"3.2GiB","bandwidth":"85.47MB/s","input_bw":"35.51MB/s","status_2xx":2298571,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":150425,"avg_latency":"3.40ms","p99_latency":"17.10ms","cpu":"2900.4%","memory":"480.4MiB","bandwidth":"16.92MB/s","input_bw":"11.62MB/s","status_2xx":752126,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1033273,"avg_latency":"485us","p99_latency":"2.27ms","cpu":"6146.1%","memory":"7.5GiB","bandwidth":"180.28MB/s","input_bw":"79.82MB/s","status_2xx":5166368,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":51719,"avg_latency":"9.70ms","p99_latency":"209.70ms","cpu":"4952.6%","memory":"341MiB","bandwidth":"7.10MB/s","input_bw":"4.00MB/s","status_2xx":258598,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1114258,"avg_latency":"449us","p99_latency":"4.17ms","cpu":"5569.9%","memory":"244MiB","bandwidth":"137.05MB/s","input_bw":"86.07MB/s","status_2xx":5571293,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2168227,"avg_latency":"222us","p99_latency":"745us","cpu":"5733.2%","memory":"459MiB","bandwidth":"262.54MB/s","input_bw":"167.49MB/s","status_2xx":10841136,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":469631,"avg_latency":"1.08ms","p99_latency":"11.70ms","cpu":"3368.3%","memory":"215MiB","bandwidth":"61.34MB/s","input_bw":"36.28MB/s","status_2xx":2348156,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":439883,"avg_latency":"1.16ms","p99_latency":"12.10ms","cpu":"3515.6%","memory":"132MiB","bandwidth":"56.61MB/s","input_bw":"33.98MB/s","status_2xx":2199416,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":201821,"avg_latency":"2.53ms","p99_latency":"59.80ms","cpu":"2533.8%","memory":"77.3MiB","bandwidth":"23.86MB/s","input_bw":"15.59MB/s","status_2xx":1009107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":832217,"avg_latency":"599us","p99_latency":"2.46ms","cpu":"6059.9%","memory":"145MiB","bandwidth":"125.33MB/s","input_bw":"64.29MB/s","status_2xx":4161088,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":587778,"avg_latency":"862us","p99_latency":"7.93ms","cpu":"5147.1%","memory":"3.0GiB","bandwidth":"80.69MB/s","input_bw":"45.40MB/s","status_2xx":2938890,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":577823,"avg_latency":"878us","p99_latency":"7.89ms","cpu":"4862.2%","memory":"3.8GiB","bandwidth":"66.10MB/s","input_bw":"44.64MB/s","status_2xx":2889119,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":2090932,"avg_latency":"231us","p99_latency":"1.96ms","cpu":"6247.5%","memory":"65MiB","bandwidth":"295.04MB/s","input_bw":"161.52MB/s","status_2xx":10454660,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":941234,"avg_latency":"535us","p99_latency":"4.79ms","cpu":"5240.0%","memory":"1.5GiB","bandwidth":"108.58MB/s","input_bw":"72.71MB/s","status_2xx":4706171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":127675,"avg_latency":"2.42ms","p99_latency":"20.60ms","cpu":"2216.6%","memory":"42.5MiB","bandwidth":"15.09MB/s","input_bw":"9.86MB/s","status_2xx":638379,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":2021689,"avg_latency":"240us","p99_latency":"1.03ms","cpu":"5748.4%","memory":"80.5MiB","bandwidth":"227.40MB/s","input_bw":"156.17MB/s","status_2xx":10108447,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":279032,"avg_latency":"1.83ms","p99_latency":"3.05ms","cpu":"3306.0%","memory":"1.8GiB","bandwidth":"41.77MB/s","input_bw":null,"status_2xx":1395163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":2480795,"avg_latency":"191us","p99_latency":"810us","cpu":"5243.0%","memory":"310MiB","bandwidth":"156.04MB/s","input_bw":"191.64MB/s","status_2xx":12403975,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2571231,"avg_latency":"183us","p99_latency":"618us","cpu":"5348.3%","memory":"117MiB","bandwidth":"286.74MB/s","input_bw":"198.62MB/s","status_2xx":12856159,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":656997,"avg_latency":"771us","p99_latency":"4.71ms","cpu":"6284.7%","memory":"4.7GiB","bandwidth":"41.34MB/s","input_bw":"50.75MB/s","status_2xx":3284988,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":646754,"avg_latency":"783us","p99_latency":"4.89ms","cpu":"6255.2%","memory":"4.7GiB","bandwidth":"40.70MB/s","input_bw":"49.96MB/s","status_2xx":3233772,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":2569884,"avg_latency":"183us","p99_latency":"485us","cpu":"5375.3%","memory":"86MiB","bandwidth":"279.30MB/s","input_bw":"198.52MB/s","status_2xx":12849422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":1839624,"avg_latency":"265us","p99_latency":"1.17ms","cpu":"5366.9%","memory":"107MiB","bandwidth":"210.45MB/s","input_bw":"142.11MB/s","status_2xx":9198123,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2000001,"avg_latency":"243us","p99_latency":"1.34ms","cpu":"5879.2%","memory":"127MiB","bandwidth":"171.62MB/s","input_bw":"154.50MB/s","status_2xx":10000008,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":755586,"avg_latency":"670us","p99_latency":"6.48ms","cpu":"2033.2%","memory":"116.2MiB","bandwidth":"47.54MB/s","input_bw":"58.37MB/s","status_2xx":3777930,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":2477111,"avg_latency":"191us","p99_latency":"1.00ms","cpu":"5115.8%","memory":"480MiB","bandwidth":"155.85MB/s","input_bw":"191.35MB/s","status_2xx":12385559,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":2670310,"avg_latency":"175us","p99_latency":"413us","cpu":"5407.2%","memory":"96MiB","bandwidth":"168.01MB/s","input_bw":"206.28MB/s","status_2xx":13351554,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":716090,"avg_latency":"706us","p99_latency":"1.87ms","cpu":"4500.2%","memory":"81MiB","bandwidth":"117.43MB/s","input_bw":"55.32MB/s","status_2xx":3580454,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":671068,"avg_latency":"754us","p99_latency":"3.30ms","cpu":"6585.4%","memory":"3.4GiB","bandwidth":"121.52MB/s","input_bw":"51.84MB/s","status_2xx":3355343,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":724148,"avg_latency":"604us","p99_latency":"9.69ms","cpu":"3338.7%","memory":"4.4GiB","bandwidth":"98.03MB/s","input_bw":"55.94MB/s","status_2xx":3620740,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":400726,"avg_latency":"1.27ms","p99_latency":"11.40ms","cpu":"6274.7%","memory":"421MiB","bandwidth":"87.48MB/s","input_bw":"30.96MB/s","status_2xx":2003631,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":266984,"avg_latency":"1.91ms","p99_latency":"6.15ms","cpu":"6435.4%","memory":"3.8GiB","bandwidth":"50.91MB/s","input_bw":"20.62MB/s","status_2xx":1334923,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":213906,"avg_latency":"2.40ms","p99_latency":"8.69ms","cpu":"1697.4%","memory":"852MiB","bandwidth":"25.90MB/s","input_bw":"16.52MB/s","status_2xx":1069534,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":564915,"avg_latency":"898us","p99_latency":"8.88ms","cpu":"2948.1%","memory":"1.3GiB","bandwidth":"54.39MB/s","input_bw":"43.64MB/s","status_2xx":2824575,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":497281,"avg_latency":"1.02ms","p99_latency":"2.03ms","cpu":"6569.5%","memory":"1.3GiB","bandwidth":"42.20MB/s","input_bw":"38.41MB/s","status_2xx":2486409,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":60162,"avg_latency":"8.55ms","p99_latency":"71.00ms","cpu":"4844.6%","memory":"5.1GiB","bandwidth":"7.05MB/s","input_bw":"4.65MB/s","status_2xx":300814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":53484,"avg_latency":"9.52ms","p99_latency":"65.30ms","cpu":"4726.8%","memory":"5.0GiB","bandwidth":"8.16MB/s","input_bw":"4.13MB/s","status_2xx":267424,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":27385,"avg_latency":"18.68ms","p99_latency":"69.10ms","cpu":"4655.0%","memory":"6.3GiB","bandwidth":"5.77MB/s","input_bw":"2.12MB/s","status_2xx":136927,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":838837,"avg_latency":"602us","p99_latency":"5.42ms","cpu":"6169.5%","memory":"13.5GiB","bandwidth":"104.77MB/s","input_bw":"64.80MB/s","status_2xx":4194189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":1379191,"avg_latency":"358us","p99_latency":"3.26ms","cpu":"2564.2%","memory":"4.1GiB","bandwidth":"110.44MB/s","input_bw":"106.54MB/s","status_2xx":6895956,"status_3xx":0,"status_4xx":135,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":406237,"avg_latency":"1.25ms","p99_latency":"12.00ms","cpu":"3767.8%","memory":"232MiB","bandwidth":"54.61MB/s","input_bw":"31.38MB/s","status_2xx":2031185,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":284472,"avg_latency":"1.75ms","p99_latency":"14.00ms","cpu":"5854.5%","memory":"894MiB","bandwidth":"32.00MB/s","input_bw":"21.97MB/s","status_2xx":1422363,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":28599,"avg_latency":"17.91ms","p99_latency":"71.30ms","cpu":"3725.9%","memory":"5.7GiB","bandwidth":"2.43MB/s","input_bw":"2.21MB/s","status_2xx":142999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":2637357,"avg_latency":"179us","p99_latency":"533us","cpu":"5214.1%","memory":"79MiB","bandwidth":"216.24MB/s","input_bw":"203.73MB/s","status_2xx":13186786,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2443440,"avg_latency":"195us","p99_latency":"695us","cpu":"5996.1%","memory":"1.3GiB","bandwidth":"272.66MB/s","input_bw":"188.75MB/s","status_2xx":12217202,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":18651,"avg_latency":"27.50ms","p99_latency":"88.40ms","cpu":"1042.8%","memory":"250MiB","bandwidth":"3.75MB/s","input_bw":"1.44MB/s","status_2xx":93257,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":867477,"avg_latency":"581us","p99_latency":"5.95ms","cpu":"4143.5%","memory":"119MiB","bandwidth":"117.44MB/s","input_bw":"67.01MB/s","status_2xx":4337386,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":1934677,"avg_latency":"251us","p99_latency":"1.16ms","cpu":"5771.8%","memory":"547MiB","bandwidth":"261.93MB/s","input_bw":"149.45MB/s","status_2xx":9673387,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":37259,"avg_latency":"13.73ms","p99_latency":"49.50ms","cpu":"2830.5%","memory":"3.5GiB","bandwidth":"3.77MB/s","input_bw":"2.88MB/s","status_2xx":186296,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":524678,"avg_latency":"968us","p99_latency":"9.58ms","cpu":"4974.1%","memory":"152MiB","bandwidth":"66.02MB/s","input_bw":"40.53MB/s","status_2xx":2623393,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":88480,"avg_latency":"4.94ms","p99_latency":"15.50ms","cpu":"1585.7%","memory":"114MiB","bandwidth":"10.46MB/s","input_bw":"6.83MB/s","status_2xx":442400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":228052,"avg_latency":"2.02ms","p99_latency":"4.01ms","cpu":"1879.4%","memory":"1.4GiB","bandwidth":"25.00MB/s","input_bw":"17.62MB/s","status_2xx":1140264,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2306414,"avg_latency":"208us","p99_latency":"721us","cpu":"5783.2%","memory":"1.0GiB","bandwidth":"294.65MB/s","input_bw":"178.16MB/s","status_2xx":11532071,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1511351,"avg_latency":"327us","p99_latency":"3.59ms","cpu":"6059.2%","memory":"215.2MiB","bandwidth":"223.35MB/s","input_bw":"116.75MB/s","status_2xx":7556756,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":134923,"avg_latency":"3.79ms","p99_latency":"12.00ms","cpu":"4776.3%","memory":"672MiB","bandwidth":"21.47MB/s","input_bw":"10.42MB/s","status_2xx":674615,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":275542,"avg_latency":"1.85ms","p99_latency":"11.80ms","cpu":"6368.5%","memory":"432MiB","bandwidth":"39.93MB/s","input_bw":"21.28MB/s","status_2xx":1377714,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":2563668,"avg_latency":"185us","p99_latency":"638us","cpu":"5380.0%","memory":"106MiB","bandwidth":"161.29MB/s","input_bw":"198.04MB/s","status_2xx":12818344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":2219613,"avg_latency":"217us","p99_latency":"752us","cpu":"5728.2%","memory":"94MiB","bandwidth":"139.67MB/s","input_bw":"171.46MB/s","status_2xx":11098069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":502168,"avg_latency":"413us","p99_latency":"1.84ms","cpu":"2356.9%","memory":"216MiB","bandwidth":"70.38MB/s","input_bw":"38.79MB/s","status_2xx":2510842,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":525211,"avg_latency":"967us","p99_latency":"4.14ms","cpu":"5721.3%","memory":"263MiB","bandwidth":"73.62MB/s","input_bw":"40.57MB/s","status_2xx":2626056,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1610019,"avg_latency":"306us","p99_latency":"1.50ms","cpu":"6107.4%","memory":"157MiB","bandwidth":"101.31MB/s","input_bw":"124.37MB/s","status_2xx":8050095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1708478,"avg_latency":"289us","p99_latency":"4.52ms","cpu":"6541.8%","memory":"314MiB","bandwidth":"146.60MB/s","input_bw":"131.98MB/s","status_2xx":8542394,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1028273,"avg_latency":"488us","p99_latency":"2.19ms","cpu":"6162.3%","memory":"7.5GiB","bandwidth":"188.23MB/s","input_bw":"79.43MB/s","status_2xx":5141369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":828453,"avg_latency":"609us","p99_latency":"3.85ms","cpu":"6203.2%","memory":"253MiB","bandwidth":"113.74MB/s","input_bw":"64.00MB/s","status_2xx":4142265,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":570633,"avg_latency":"886us","p99_latency":"1.87ms","cpu":"6400.2%","memory":"4.9GiB","bandwidth":"83.23MB/s","input_bw":null,"status_2xx":2853166,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":994532,"avg_latency":"506us","p99_latency":"4.76ms","cpu":"3197.6%","memory":"67MiB","bandwidth":"101.46MB/s","input_bw":"76.83MB/s","status_2xx":4972660,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2541639,"avg_latency":"185us","p99_latency":"820us","cpu":"6072.5%","memory":"1.1GiB","bandwidth":"259.27MB/s","input_bw":"196.34MB/s","status_2xx":12708197,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":107424,"avg_latency":"4.73ms","p99_latency":"46.70ms","cpu":"1183.2%","memory":"585MiB","bandwidth":"8.09MB/s","input_bw":"8.30MB/s","status_2xx":537123,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":1967016,"avg_latency":"246us","p99_latency":"1.97ms","cpu":"5577.4%","memory":"193MiB","bandwidth":"166.89MB/s","input_bw":null,"status_2xx":9835082,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":2543420,"avg_latency":"185us","p99_latency":"474us","cpu":"5731.0%","memory":"70MiB","bandwidth":"160.03MB/s","input_bw":"196.47MB/s","status_2xx":12717103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2740199,"avg_latency":"170us","p99_latency":"403us","cpu":"5474.7%","memory":"150MiB","bandwidth":"172.36MB/s","input_bw":"211.67MB/s","status_2xx":13700995,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"limited-conn-4096":[{"fw":"actix","lang":"Rust","rps":1135157,"avg_latency":"1.17ms","p99_latency":"9.25ms","cpu":"4577.8%","memory":"72MiB","bandwidth":"143.94MB/s","input_bw":"87.69MB/s","status_2xx":5675787,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":504438,"avg_latency":"2.70ms","p99_latency":"21.90ms","cpu":"3305.9%","memory":"5.3GiB","bandwidth":"75.50MB/s","input_bw":"38.97MB/s","status_2xx":2522190,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":461367,"avg_latency":"1.44ms","p99_latency":"12.30ms","cpu":"3388.6%","memory":"153MiB","bandwidth":"70.81MB/s","input_bw":"35.64MB/s","status_2xx":2306838,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":477814,"avg_latency":"1.46ms","p99_latency":"12.50ms","cpu":"3302.8%","memory":"850.9MiB","bandwidth":"77.89MB/s","input_bw":"36.91MB/s","status_2xx":2389073,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1003689,"avg_latency":"4.07ms","p99_latency":"21.80ms","cpu":"5847.3%","memory":"1.8GiB","bandwidth":"182.78MB/s","input_bw":"77.53MB/s","status_2xx":5018449,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":432876,"avg_latency":"1.68ms","p99_latency":"14.20ms","cpu":"4507.0%","memory":"328MiB","bandwidth":"64.79MB/s","input_bw":"33.44MB/s","status_2xx":2164384,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":110125,"avg_latency":"37.08ms","p99_latency":"42.50ms","cpu":"691.4%","memory":"192MiB","bandwidth":"13.06MB/s","input_bw":"8.51MB/s","status_2xx":550625,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":246362,"avg_latency":"15.30ms","p99_latency":"34.50ms","cpu":"6235.2%","memory":"1.9GiB","bandwidth":"27.71MB/s","input_bw":"19.03MB/s","status_2xx":1231811,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":119299,"avg_latency":"15.14ms","p99_latency":"21.30ms","cpu":"4520.8%","memory":"2.5GiB","bandwidth":"17.63MB/s","input_bw":"9.22MB/s","status_2xx":596496,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":507745,"avg_latency":"7.94ms","p99_latency":"99.20ms","cpu":"6385.2%","memory":"1.3GiB","bandwidth":"94.40MB/s","input_bw":"39.22MB/s","status_2xx":2538725,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1284184,"avg_latency":"3.17ms","p99_latency":"49.70ms","cpu":"6484.5%","memory":"2.5GiB","bandwidth":"128.56MB/s","input_bw":"99.20MB/s","status_2xx":6420920,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":370709,"avg_latency":"10.95ms","p99_latency":"117.90ms","cpu":"2727.1%","memory":"359MiB","bandwidth":"60.43MB/s","input_bw":"28.64MB/s","status_2xx":1853548,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1566288,"avg_latency":"2.60ms","p99_latency":"13.50ms","cpu":"5670.5%","memory":"1.5GiB","bandwidth":"197.10MB/s","input_bw":null,"status_2xx":7831442,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":281746,"avg_latency":"2.62ms","p99_latency":"19.30ms","cpu":"3504.7%","memory":"5.8GiB","bandwidth":"55.06MB/s","input_bw":"21.76MB/s","status_2xx":1408734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":286820,"avg_latency":"10.07ms","p99_latency":"75.80ms","cpu":"6496.5%","memory":"5.8GiB","bandwidth":"36.91MB/s","input_bw":"22.16MB/s","status_2xx":1434102,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":452008,"avg_latency":"1.62ms","p99_latency":"12.50ms","cpu":"3579.0%","memory":"149MiB","bandwidth":"68.95MB/s","input_bw":"34.92MB/s","status_2xx":2260042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2516707,"avg_latency":"1.56ms","p99_latency":"7.44ms","cpu":"5604.9%","memory":"941MiB","bandwidth":"259.01MB/s","input_bw":"194.41MB/s","status_2xx":12583539,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":291264,"avg_latency":"2.19ms","p99_latency":"18.80ms","cpu":"2951.1%","memory":"5.7GiB","bandwidth":"46.65MB/s","input_bw":"22.50MB/s","status_2xx":1456322,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":805973,"avg_latency":"5.06ms","p99_latency":"15.20ms","cpu":"6799.8%","memory":"2.5GiB","bandwidth":"126.79MB/s","input_bw":"62.26MB/s","status_2xx":4029867,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1163153,"avg_latency":"3.50ms","p99_latency":"55.90ms","cpu":"6450.8%","memory":"507MiB","bandwidth":"182.98MB/s","input_bw":"89.85MB/s","status_2xx":5815767,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":602123,"avg_latency":"2.11ms","p99_latency":"17.90ms","cpu":"3445.7%","memory":"3.1GiB","bandwidth":"73.48MB/s","input_bw":"46.51MB/s","status_2xx":3010618,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":107404,"avg_latency":"20.50ms","p99_latency":"28.30ms","cpu":"5688.8%","memory":"3.2GiB","bandwidth":"15.67MB/s","input_bw":null,"status_2xx":537023,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":498494,"avg_latency":"8.16ms","p99_latency":"83.60ms","cpu":"6358.9%","memory":"3.2GiB","bandwidth":"92.67MB/s","input_bw":"38.51MB/s","status_2xx":2492471,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":184591,"avg_latency":"22.06ms","p99_latency":"134.90ms","cpu":"3279.4%","memory":"695.3MiB","bandwidth":"20.58MB/s","input_bw":"14.26MB/s","status_2xx":922958,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1100364,"avg_latency":"3.71ms","p99_latency":"15.50ms","cpu":"6633.5%","memory":"7.6GiB","bandwidth":"191.99MB/s","input_bw":"85.00MB/s","status_2xx":5501821,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":50548,"avg_latency":"44.63ms","p99_latency":"931.80ms","cpu":"4929.6%","memory":"723MiB","bandwidth":"6.94MB/s","input_bw":"3.90MB/s","status_2xx":252744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1166913,"avg_latency":"2.20ms","p99_latency":"23.00ms","cpu":"5819.8%","memory":"433MiB","bandwidth":"143.49MB/s","input_bw":"90.14MB/s","status_2xx":5834569,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2589784,"avg_latency":"1.52ms","p99_latency":"5.16ms","cpu":"6027.0%","memory":"673MiB","bandwidth":"313.54MB/s","input_bw":"200.05MB/s","status_2xx":12948920,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":481713,"avg_latency":"1.41ms","p99_latency":"11.90ms","cpu":"3432.9%","memory":"222MiB","bandwidth":"62.91MB/s","input_bw":"37.21MB/s","status_2xx":2408566,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":450665,"avg_latency":"1.59ms","p99_latency":"12.70ms","cpu":"3646.8%","memory":"146MiB","bandwidth":"58.00MB/s","input_bw":"34.81MB/s","status_2xx":2253329,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":716630,"avg_latency":"5.71ms","p99_latency":"12.70ms","cpu":"4970.3%","memory":"321.5MiB","bandwidth":"84.73MB/s","input_bw":"55.36MB/s","status_2xx":3583151,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":578704,"avg_latency":"6.89ms","p99_latency":"55.30ms","cpu":"4308.3%","memory":"149MiB","bandwidth":"87.12MB/s","input_bw":"44.70MB/s","status_2xx":2893521,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":554770,"avg_latency":"2.30ms","p99_latency":"19.00ms","cpu":"4762.6%","memory":"3.2GiB","bandwidth":"76.16MB/s","input_bw":"42.85MB/s","status_2xx":2773854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":584873,"avg_latency":"6.98ms","p99_latency":"70.20ms","cpu":"4659.3%","memory":"3.0GiB","bandwidth":"66.91MB/s","input_bw":"45.18MB/s","status_2xx":2924365,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":2415587,"avg_latency":"1.68ms","p99_latency":"22.90ms","cpu":"6210.0%","memory":"90MiB","bandwidth":"340.79MB/s","input_bw":"186.60MB/s","status_2xx":12077937,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1116468,"avg_latency":"3.65ms","p99_latency":"15.80ms","cpu":"5859.3%","memory":"1.9GiB","bandwidth":"128.80MB/s","input_bw":"86.24MB/s","status_2xx":5582341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":126607,"avg_latency":"2.81ms","p99_latency":"20.70ms","cpu":"2140.3%","memory":"45.7MiB","bandwidth":"14.97MB/s","input_bw":"9.78MB/s","status_2xx":633036,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":2362875,"avg_latency":"1.70ms","p99_latency":"4.22ms","cpu":"6243.0%","memory":"189.2MiB","bandwidth":"265.78MB/s","input_bw":"182.53MB/s","status_2xx":11814375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":294276,"avg_latency":"10.41ms","p99_latency":"17.80ms","cpu":"3202.2%","memory":"1.9GiB","bandwidth":"44.05MB/s","input_bw":null,"status_2xx":1471382,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":2552917,"avg_latency":"1.48ms","p99_latency":"4.47ms","cpu":"5522.9%","memory":"470MiB","bandwidth":"160.62MB/s","input_bw":"197.21MB/s","status_2xx":12764585,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2853732,"avg_latency":"1.31ms","p99_latency":"2.01ms","cpu":"5596.0%","memory":"222MiB","bandwidth":"318.27MB/s","input_bw":"220.44MB/s","status_2xx":14268660,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":665691,"avg_latency":"6.12ms","p99_latency":"49.70ms","cpu":"6284.1%","memory":"4.4GiB","bandwidth":"41.89MB/s","input_bw":"51.42MB/s","status_2xx":3328457,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":655894,"avg_latency":"6.20ms","p99_latency":"54.10ms","cpu":"6025.3%","memory":"4.9GiB","bandwidth":"41.27MB/s","input_bw":"50.67MB/s","status_2xx":3279472,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":2662214,"avg_latency":"1.40ms","p99_latency":"2.31ms","cpu":"5647.4%","memory":"165MiB","bandwidth":"289.32MB/s","input_bw":"205.65MB/s","status_2xx":13311072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2079850,"avg_latency":"1.95ms","p99_latency":"7.68ms","cpu":"5699.4%","memory":"140MiB","bandwidth":"237.86MB/s","input_bw":"160.66MB/s","status_2xx":10399253,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2194435,"avg_latency":"1.85ms","p99_latency":"28.10ms","cpu":"6328.9%","memory":"136MiB","bandwidth":"188.29MB/s","input_bw":"169.51MB/s","status_2xx":10972178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":761340,"avg_latency":"1.54ms","p99_latency":"13.70ms","cpu":"2063.2%","memory":"116.8MiB","bandwidth":"47.90MB/s","input_bw":"58.81MB/s","status_2xx":3806704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":2514980,"avg_latency":"1.51ms","p99_latency":"4.43ms","cpu":"5198.2%","memory":"598MiB","bandwidth":"158.23MB/s","input_bw":"194.28MB/s","status_2xx":12574903,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":2687059,"avg_latency":"1.38ms","p99_latency":"1.89ms","cpu":"5751.1%","memory":"181MiB","bandwidth":"169.07MB/s","input_bw":"207.57MB/s","status_2xx":13435295,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":713952,"avg_latency":"5.73ms","p99_latency":"24.10ms","cpu":"5350.7%","memory":"258MiB","bandwidth":"117.08MB/s","input_bw":"55.15MB/s","status_2xx":3569763,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":953877,"avg_latency":"4.28ms","p99_latency":"20.60ms","cpu":"6504.6%","memory":"5.2GiB","bandwidth":"172.80MB/s","input_bw":"73.68MB/s","status_2xx":4769385,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":709765,"avg_latency":"5.58ms","p99_latency":"50.90ms","cpu":"2721.4%","memory":"4.4GiB","bandwidth":"96.09MB/s","input_bw":"54.83MB/s","status_2xx":3548825,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":400254,"avg_latency":"3.37ms","p99_latency":"27.30ms","cpu":"6223.4%","memory":"431MiB","bandwidth":"87.38MB/s","input_bw":"30.92MB/s","status_2xx":2001273,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":259403,"avg_latency":"15.74ms","p99_latency":"20.40ms","cpu":"6221.8%","memory":"3.9GiB","bandwidth":"49.45MB/s","input_bw":"20.04MB/s","status_2xx":1297019,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":325540,"avg_latency":"12.53ms","p99_latency":"32.90ms","cpu":"2456.0%","memory":"1.0GiB","bandwidth":"39.42MB/s","input_bw":"25.15MB/s","status_2xx":1627700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":574869,"avg_latency":"7.08ms","p99_latency":"73.00ms","cpu":"3030.2%","memory":"2.2GiB","bandwidth":"55.35MB/s","input_bw":"44.41MB/s","status_2xx":2874347,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":496292,"avg_latency":"8.19ms","p99_latency":"71.60ms","cpu":"6544.9%","memory":"1.3GiB","bandwidth":"42.11MB/s","input_bw":"38.34MB/s","status_2xx":2481460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":59205,"avg_latency":"66.55ms","p99_latency":"266.30ms","cpu":"4693.3%","memory":"5.2GiB","bandwidth":"6.94MB/s","input_bw":"4.57MB/s","status_2xx":296026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":51448,"avg_latency":"76.35ms","p99_latency":"331.20ms","cpu":"4637.2%","memory":"5.1GiB","bandwidth":"7.85MB/s","input_bw":"3.97MB/s","status_2xx":257241,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":27305,"avg_latency":"130.53ms","p99_latency":"280.40ms","cpu":"4643.2%","memory":"6.7GiB","bandwidth":"5.75MB/s","input_bw":"2.11MB/s","status_2xx":136527,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":833565,"avg_latency":"4.89ms","p99_latency":"51.40ms","cpu":"5983.6%","memory":"13.5GiB","bandwidth":"104.10MB/s","input_bw":"64.39MB/s","status_2xx":4167825,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":1565455,"avg_latency":"2.58ms","p99_latency":"25.90ms","cpu":"3181.1%","memory":"4.2GiB","bandwidth":"125.37MB/s","input_bw":"120.93MB/s","status_2xx":7827279,"status_3xx":0,"status_4xx":171,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":404495,"avg_latency":"3.00ms","p99_latency":"26.00ms","cpu":"3888.3%","memory":"216MiB","bandwidth":"54.37MB/s","input_bw":"31.25MB/s","status_2xx":2022475,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":320875,"avg_latency":"12.55ms","p99_latency":"75.50ms","cpu":"6081.3%","memory":"1.1GiB","bandwidth":"36.09MB/s","input_bw":"24.79MB/s","status_2xx":1604375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":28814,"avg_latency":"125.72ms","p99_latency":"305.00ms","cpu":"3432.2%","memory":"6.4GiB","bandwidth":"2.44MB/s","input_bw":"2.23MB/s","status_2xx":144074,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":2710496,"avg_latency":"1.38ms","p99_latency":"2.14ms","cpu":"5553.2%","memory":"147MiB","bandwidth":"222.17MB/s","input_bw":"209.38MB/s","status_2xx":13552480,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2681484,"avg_latency":"1.40ms","p99_latency":"3.56ms","cpu":"6238.1%","memory":"1.3GiB","bandwidth":"299.07MB/s","input_bw":"207.14MB/s","status_2xx":13407423,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":19672,"avg_latency":"132.02ms","p99_latency":"407.30ms","cpu":"611.7%","memory":"404MiB","bandwidth":"3.96MB/s","input_bw":"1.52MB/s","status_2xx":98360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":892471,"avg_latency":"4.57ms","p99_latency":"46.20ms","cpu":"4323.5%","memory":"259MiB","bandwidth":"120.83MB/s","input_bw":"68.94MB/s","status_2xx":4462357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2156115,"avg_latency":"1.87ms","p99_latency":"9.86ms","cpu":"5968.8%","memory":"902MiB","bandwidth":"291.91MB/s","input_bw":"166.55MB/s","status_2xx":10780577,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":39840,"avg_latency":"90.64ms","p99_latency":"201.50ms","cpu":"2868.2%","memory":"4.3GiB","bandwidth":"4.03MB/s","input_bw":"3.08MB/s","status_2xx":199203,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":532833,"avg_latency":"7.62ms","p99_latency":"78.10ms","cpu":"5019.2%","memory":"161MiB","bandwidth":"67.05MB/s","input_bw":"41.16MB/s","status_2xx":2664168,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":101595,"avg_latency":"14.16ms","p99_latency":"62.50ms","cpu":"1712.7%","memory":"160MiB","bandwidth":"12.01MB/s","input_bw":"7.85MB/s","status_2xx":507975,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":208860,"avg_latency":"10.23ms","p99_latency":"18.20ms","cpu":"1746.0%","memory":"2.4GiB","bandwidth":"22.90MB/s","input_bw":"16.13MB/s","status_2xx":1044300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2630808,"avg_latency":"1.46ms","p99_latency":"3.26ms","cpu":"6285.8%","memory":"1.1GiB","bandwidth":"336.06MB/s","input_bw":"203.22MB/s","status_2xx":13154041,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1796637,"avg_latency":"2.26ms","p99_latency":"9.69ms","cpu":"6326.8%","memory":"255.7MiB","bandwidth":"265.51MB/s","input_bw":"138.79MB/s","status_2xx":8983188,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":147200,"avg_latency":"27.74ms","p99_latency":"49.30ms","cpu":"4876.8%","memory":"1.5GiB","bandwidth":"23.33MB/s","input_bw":"11.37MB/s","status_2xx":736003,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":281005,"avg_latency":"14.55ms","p99_latency":"63.50ms","cpu":"6609.0%","memory":"794MiB","bandwidth":"40.71MB/s","input_bw":"21.71MB/s","status_2xx":1405029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":2721455,"avg_latency":"1.38ms","p99_latency":"2.36ms","cpu":"5727.1%","memory":"426MiB","bandwidth":"171.22MB/s","input_bw":"210.23MB/s","status_2xx":13607276,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":2636459,"avg_latency":"1.51ms","p99_latency":"20.50ms","cpu":"6395.8%","memory":"187MiB","bandwidth":"165.88MB/s","input_bw":"203.66MB/s","status_2xx":13182298,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":483480,"avg_latency":"1.19ms","p99_latency":"2.25ms","cpu":"2341.3%","memory":"224MiB","bandwidth":"67.76MB/s","input_bw":"37.35MB/s","status_2xx":2417404,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":506854,"avg_latency":"8.07ms","p99_latency":"21.30ms","cpu":"6138.5%","memory":"373MiB","bandwidth":"71.04MB/s","input_bw":"39.15MB/s","status_2xx":2534274,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1798930,"avg_latency":"2.26ms","p99_latency":"33.70ms","cpu":"6213.4%","memory":"165MiB","bandwidth":"113.20MB/s","input_bw":"138.96MB/s","status_2xx":8994651,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1674965,"avg_latency":"2.43ms","p99_latency":"34.40ms","cpu":"6595.2%","memory":"472MiB","bandwidth":"143.72MB/s","input_bw":"129.39MB/s","status_2xx":8374829,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1096024,"avg_latency":"3.73ms","p99_latency":"15.60ms","cpu":"6625.9%","memory":"7.6GiB","bandwidth":"200.64MB/s","input_bw":"84.67MB/s","status_2xx":5480124,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":872918,"avg_latency":"4.68ms","p99_latency":"13.10ms","cpu":"6390.8%","memory":"585MiB","bandwidth":"119.85MB/s","input_bw":"67.43MB/s","status_2xx":4364594,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":588030,"avg_latency":"5.18ms","p99_latency":"36.70ms","cpu":"6283.7%","memory":"5.0GiB","bandwidth":"85.78MB/s","input_bw":null,"status_2xx":2940154,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":990366,"avg_latency":"4.12ms","p99_latency":"41.30ms","cpu":"3027.6%","memory":"71MiB","bandwidth":"101.02MB/s","input_bw":"76.50MB/s","status_2xx":4951832,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2624809,"avg_latency":"1.42ms","p99_latency":"2.03ms","cpu":"6148.1%","memory":"1.4GiB","bandwidth":"267.73MB/s","input_bw":"202.76MB/s","status_2xx":13124047,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":107019,"avg_latency":"38.15ms","p99_latency":"121.20ms","cpu":"993.8%","memory":"904MiB","bandwidth":"8.06MB/s","input_bw":"8.27MB/s","status_2xx":535098,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":2215363,"avg_latency":"1.81ms","p99_latency":"21.40ms","cpu":"6454.9%","memory":"206MiB","bandwidth":"187.88MB/s","input_bw":null,"status_2xx":11076818,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":2606127,"avg_latency":"1.43ms","p99_latency":"2.04ms","cpu":"5920.9%","memory":"130MiB","bandwidth":"163.96MB/s","input_bw":"201.32MB/s","status_2xx":13030635,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2751069,"avg_latency":"1.35ms","p99_latency":"1.89ms","cpu":"5783.9%","memory":"237MiB","bandwidth":"173.09MB/s","input_bw":"212.51MB/s","status_2xx":13755345,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-4096":[{"fw":"actix","lang":"Rust","rps":1216437,"avg_latency":"2.55ms","p99_latency":"13.10ms","cpu":"6523.9%","memory":"297MiB","bandwidth":"4.13GB/s","input_bw":"58.00MB/s","status_2xx":6082185,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":538732,"avg_latency":"3.00ms","p99_latency":"47.20ms","cpu":"5038.7%","memory":"6.7GiB","bandwidth":"1.84GB/s","input_bw":"25.69MB/s","status_2xx":2693662,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":568890,"avg_latency":"4.65ms","p99_latency":"22.00ms","cpu":"5805.2%","memory":"561MiB","bandwidth":"1.96GB/s","input_bw":"27.13MB/s","status_2xx":2844454,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":603898,"avg_latency":"5.10ms","p99_latency":"19.00ms","cpu":"6107.6%","memory":"970.8MiB","bandwidth":"2.08GB/s","input_bw":"28.80MB/s","status_2xx":3019493,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":676306,"avg_latency":"5.72ms","p99_latency":"24.50ms","cpu":"6005.5%","memory":"2.0GiB","bandwidth":"2.35GB/s","input_bw":"32.25MB/s","status_2xx":3381534,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":439286,"avg_latency":"7.17ms","p99_latency":"28.80ms","cpu":"5860.1%","memory":"565MiB","bandwidth":"1.51GB/s","input_bw":"20.95MB/s","status_2xx":2196430,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":318976,"avg_latency":"12.47ms","p99_latency":"43.90ms","cpu":"4487.6%","memory":"222MiB","bandwidth":"1.13GB/s","input_bw":"15.21MB/s","status_2xx":1594883,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":182199,"avg_latency":"20.50ms","p99_latency":"45.40ms","cpu":"6190.5%","memory":"1.8GiB","bandwidth":"719.43MB/s","input_bw":"8.69MB/s","status_2xx":910995,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":105902,"avg_latency":"20.51ms","p99_latency":"106.10ms","cpu":"3864.3%","memory":"2.5GiB","bandwidth":"421.58MB/s","input_bw":"5.05MB/s","status_2xx":529511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":232910,"avg_latency":"17.31ms","p99_latency":"50.40ms","cpu":"6614.0%","memory":"1.3GiB","bandwidth":"824.97MB/s","input_bw":"11.11MB/s","status_2xx":1164553,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":286722,"avg_latency":"13.70ms","p99_latency":"309.40ms","cpu":"6534.6%","memory":"3.4GiB","bandwidth":"988.03MB/s","input_bw":"13.67MB/s","status_2xx":1433614,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":442618,"avg_latency":"8.83ms","p99_latency":"225.80ms","cpu":"4353.8%","memory":"396MiB","bandwidth":"1.54GB/s","input_bw":"21.11MB/s","status_2xx":2213093,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":877405,"avg_latency":"4.35ms","p99_latency":"16.30ms","cpu":"5814.2%","memory":"1.5GiB","bandwidth":"2.99GB/s","input_bw":null,"status_2xx":4387026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":395361,"avg_latency":"1.97ms","p99_latency":"34.40ms","cpu":"5081.8%","memory":"7.1GiB","bandwidth":"1.37GB/s","input_bw":"18.85MB/s","status_2xx":1976808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":157204,"avg_latency":"23.62ms","p99_latency":"344.30ms","cpu":"6468.8%","memory":"4.8GiB","bandwidth":"556.14MB/s","input_bw":"7.50MB/s","status_2xx":786024,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":544549,"avg_latency":"5.67ms","p99_latency":"22.90ms","cpu":"5804.3%","memory":"511MiB","bandwidth":"1.87GB/s","input_bw":"25.97MB/s","status_2xx":2722748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2175338,"avg_latency":"1.16ms","p99_latency":"8.48ms","cpu":"6182.2%","memory":"748MiB","bandwidth":"7.36GB/s","input_bw":"103.73MB/s","status_2xx":10876692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":522201,"avg_latency":"1.42ms","p99_latency":"25.30ms","cpu":"4956.6%","memory":"4.6GiB","bandwidth":"1.80GB/s","input_bw":"24.90MB/s","status_2xx":2611006,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":631455,"avg_latency":"6.17ms","p99_latency":"14.90ms","cpu":"6794.1%","memory":"2.5GiB","bandwidth":"2.19GB/s","input_bw":"30.11MB/s","status_2xx":3157278,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":732898,"avg_latency":"5.22ms","p99_latency":"140.90ms","cpu":"6391.2%","memory":"842MiB","bandwidth":"2.54GB/s","input_bw":"34.95MB/s","status_2xx":3664490,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":451305,"avg_latency":"7.65ms","p99_latency":"36.20ms","cpu":"2853.7%","memory":"3.5GiB","bandwidth":"1.54GB/s","input_bw":"21.52MB/s","status_2xx":2256527,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":82137,"avg_latency":"26.28ms","p99_latency":"52.90ms","cpu":"6077.8%","memory":"3.2GiB","bandwidth":"290.42MB/s","input_bw":"3.92MB/s","status_2xx":410688,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":529153,"avg_latency":"7.66ms","p99_latency":"23.10ms","cpu":"6292.2%","memory":"3.4GiB","bandwidth":"1.82GB/s","input_bw":"25.23MB/s","status_2xx":2645766,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":188026,"avg_latency":"21.59ms","p99_latency":"209.60ms","cpu":"4122.4%","memory":"778.9MiB","bandwidth":"637.12MB/s","input_bw":"8.97MB/s","status_2xx":940134,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1112194,"avg_latency":"3.32ms","p99_latency":"10.10ms","cpu":"6441.4%","memory":"6.4GiB","bandwidth":"3.84GB/s","input_bw":"53.03MB/s","status_2xx":5560971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":661545,"avg_latency":"5.11ms","p99_latency":"20.10ms","cpu":"6264.3%","memory":"1.3GiB","bandwidth":"2.26GB/s","input_bw":"31.54MB/s","status_2xx":3307727,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":845702,"avg_latency":"4.30ms","p99_latency":"28.70ms","cpu":"6144.8%","memory":"648MiB","bandwidth":"2.90GB/s","input_bw":"40.33MB/s","status_2xx":4228512,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":1088181,"avg_latency":"3.31ms","p99_latency":"12.70ms","cpu":"6147.9%","memory":"720MiB","bandwidth":"3.73GB/s","input_bw":"51.89MB/s","status_2xx":5440907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":643879,"avg_latency":"4.35ms","p99_latency":"23.40ms","cpu":"5868.0%","memory":"608MiB","bandwidth":"2.21GB/s","input_bw":"30.70MB/s","status_2xx":3219399,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":589491,"avg_latency":"5.03ms","p99_latency":"23.80ms","cpu":"5855.0%","memory":"513MiB","bandwidth":"2.01GB/s","input_bw":"28.11MB/s","status_2xx":2947457,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":462413,"avg_latency":"8.52ms","p99_latency":"219.10ms","cpu":"4922.1%","memory":"325.4MiB","bandwidth":"1.57GB/s","input_bw":"22.05MB/s","status_2xx":2312065,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":134014,"avg_latency":"28.86ms","p99_latency":"585.30ms","cpu":"6207.4%","memory":"278MiB","bandwidth":"470.81MB/s","input_bw":"6.39MB/s","status_2xx":670074,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":181930,"avg_latency":"19.50ms","p99_latency":"42.10ms","cpu":"2474.6%","memory":"3.5GiB","bandwidth":"674.53MB/s","input_bw":"8.68MB/s","status_2xx":909651,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":757679,"avg_latency":"5.08ms","p99_latency":"14.20ms","cpu":"6278.5%","memory":"6.4GiB","bandwidth":"2.59GB/s","input_bw":"36.13MB/s","status_2xx":3788398,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":667967,"avg_latency":"5.80ms","p99_latency":"29.30ms","cpu":"6529.0%","memory":"214MiB","bandwidth":"2.28GB/s","input_bw":"31.85MB/s","status_2xx":3339839,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":786988,"avg_latency":"4.86ms","p99_latency":"16.10ms","cpu":"5874.2%","memory":"2.0GiB","bandwidth":"2.67GB/s","input_bw":"37.53MB/s","status_2xx":3934942,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":74874,"avg_latency":"9.81ms","p99_latency":"98.20ms","cpu":"7174.8%","memory":"65.0MiB","bandwidth":"260.76MB/s","input_bw":"3.57MB/s","status_2xx":374371,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":253641,"avg_latency":"12.90ms","p99_latency":"20.60ms","cpu":"3621.7%","memory":"1.9GiB","bandwidth":"891.95MB/s","input_bw":"12.09MB/s","status_2xx":1268208,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":1717044,"avg_latency":"1.72ms","p99_latency":"14.20ms","cpu":"5949.2%","memory":"770MiB","bandwidth":"5.75GB/s","input_bw":"81.88MB/s","status_2xx":8585222,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1886152,"avg_latency":"1.17ms","p99_latency":"7.06ms","cpu":"4667.7%","memory":"434MiB","bandwidth":"9.82GB/s","input_bw":"89.94MB/s","status_2xx":9430764,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":395250,"avg_latency":"10.11ms","p99_latency":"34.60ms","cpu":"4723.0%","memory":"9.9GiB","bandwidth":"1.32GB/s","input_bw":"18.85MB/s","status_2xx":1976253,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":657766,"avg_latency":"5.91ms","p99_latency":"29.70ms","cpu":"6362.7%","memory":"4.8GiB","bandwidth":"2.20GB/s","input_bw":"31.36MB/s","status_2xx":3288833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":65763,"avg_latency":"61.52ms","p99_latency":"176.00ms","cpu":"5626.0%","memory":"139MiB","bandwidth":"275.52MB/s","input_bw":"3.14MB/s","status_2xx":328817,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":1059267,"avg_latency":"3.49ms","p99_latency":"100.00ms","cpu":"6653.5%","memory":"144MiB","bandwidth":"3.57GB/s","input_bw":"50.51MB/s","status_2xx":5296336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":2037998,"avg_latency":"1.29ms","p99_latency":"5.60ms","cpu":"6141.0%","memory":"791MiB","bandwidth":"6.82GB/s","input_bw":"97.18MB/s","status_2xx":10189991,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":2368855,"avg_latency":"822us","p99_latency":"3.25ms","cpu":"6466.7%","memory":"231MiB","bandwidth":"7.93GB/s","input_bw":"112.96MB/s","status_2xx":11844279,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":891396,"avg_latency":"4.26ms","p99_latency":"18.80ms","cpu":"5883.7%","memory":"264MiB","bandwidth":"3.07GB/s","input_bw":"42.51MB/s","status_2xx":4456982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":331599,"avg_latency":"12.06ms","p99_latency":"49.50ms","cpu":"6500.5%","memory":"3.6GiB","bandwidth":"1.14GB/s","input_bw":"15.81MB/s","status_2xx":1657998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":994783,"avg_latency":"3.77ms","p99_latency":"44.10ms","cpu":"6437.0%","memory":"4.4GiB","bandwidth":"3.40GB/s","input_bw":"47.43MB/s","status_2xx":4973915,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":196508,"avg_latency":"13.97ms","p99_latency":"153.70ms","cpu":"6281.5%","memory":"1020MiB","bandwidth":"701.48MB/s","input_bw":"9.37MB/s","status_2xx":982543,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":221243,"avg_latency":"18.16ms","p99_latency":"22.90ms","cpu":"6412.7%","memory":"3.9GiB","bandwidth":"782.99MB/s","input_bw":"10.55MB/s","status_2xx":1106219,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pico","lang":"V","rps":2141867,"avg_latency":"1.25ms","p99_latency":"36.10ms","cpu":"6488.9%","memory":"3.3GiB","bandwidth":"7.19GB/s","input_bw":"102.13MB/s","status_2xx":10709338,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":723144,"avg_latency":"5.34ms","p99_latency":"12.90ms","cpu":"6635.4%","memory":"1.1GiB","bandwidth":"2.46GB/s","input_bw":"34.48MB/s","status_2xx":3615724,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":717328,"avg_latency":"5.41ms","p99_latency":"27.40ms","cpu":"6554.9%","memory":"10.3GiB","bandwidth":"2.43GB/s","input_bw":"34.20MB/s","status_2xx":3586641,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":388272,"avg_latency":"9.82ms","p99_latency":"45.40ms","cpu":"6509.1%","memory":"5.7GiB","bandwidth":"1.33GB/s","input_bw":"18.51MB/s","status_2xx":1941364,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":125696,"avg_latency":"29.15ms","p99_latency":"79.50ms","cpu":"6459.6%","memory":"4.2GiB","bandwidth":"449.09MB/s","input_bw":"5.99MB/s","status_2xx":628481,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":436681,"avg_latency":"9.19ms","p99_latency":"47.90ms","cpu":"5393.9%","memory":"13.7GiB","bandwidth":"1.50GB/s","input_bw":"20.82MB/s","status_2xx":2183405,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":206364,"avg_latency":"3.25ms","p99_latency":"95.70ms","cpu":"5528.3%","memory":"730MiB","bandwidth":"718.18MB/s","input_bw":"9.84MB/s","status_2xx":1031823,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":139934,"avg_latency":"27.83ms","p99_latency":"254.50ms","cpu":"2720.2%","memory":"1.1GiB","bandwidth":"491.24MB/s","input_bw":"6.67MB/s","status_2xx":699671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":249577,"avg_latency":"14.39ms","p99_latency":"43.10ms","cpu":"6396.1%","memory":"4.3GiB","bandwidth":"860.03MB/s","input_bw":"11.90MB/s","status_2xx":1247889,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1811202,"avg_latency":"1.68ms","p99_latency":"48.70ms","cpu":"6609.5%","memory":"1.3GiB","bandwidth":"6.15GB/s","input_bw":"86.36MB/s","status_2xx":9056014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":22976,"avg_latency":"139.68ms","p99_latency":"462.80ms","cpu":"650.3%","memory":"434MiB","bandwidth":"42.48MB/s","input_bw":"1.10MB/s","status_2xx":114884,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":826322,"avg_latency":"4.52ms","p99_latency":"113.50ms","cpu":"5789.5%","memory":"277MiB","bandwidth":"2.82GB/s","input_bw":"39.40MB/s","status_2xx":4131612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":977287,"avg_latency":"3.84ms","p99_latency":"17.00ms","cpu":"6310.6%","memory":"930MiB","bandwidth":"3.34GB/s","input_bw":"46.60MB/s","status_2xx":4886439,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":201560,"avg_latency":"18.17ms","p99_latency":"47.20ms","cpu":"6470.8%","memory":"4.6GiB","bandwidth":"698.54MB/s","input_bw":"9.61MB/s","status_2xx":1007804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":447725,"avg_latency":"8.79ms","p99_latency":"210.50ms","cpu":"5516.2%","memory":"231MiB","bandwidth":"1.52GB/s","input_bw":"21.35MB/s","status_2xx":2238628,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":79804,"avg_latency":"31.69ms","p99_latency":"97.50ms","cpu":"3496.7%","memory":"172MiB","bandwidth":"279.05MB/s","input_bw":"3.81MB/s","status_2xx":399021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":244820,"avg_latency":"7.76ms","p99_latency":"15.40ms","cpu":"2687.5%","memory":"2.0GiB","bandwidth":"852.00MB/s","input_bw":"11.67MB/s","status_2xx":1224103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1897044,"avg_latency":"1.60ms","p99_latency":"4.73ms","cpu":"6475.8%","memory":"1.1GiB","bandwidth":"6.47GB/s","input_bw":"90.46MB/s","status_2xx":9485223,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":946517,"avg_latency":"3.97ms","p99_latency":"16.40ms","cpu":"6427.0%","memory":"414.8MiB","bandwidth":"3.25GB/s","input_bw":"45.13MB/s","status_2xx":4732588,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":134310,"avg_latency":"30.28ms","p99_latency":"59.90ms","cpu":"5168.9%","memory":"1.8GiB","bandwidth":"463.25MB/s","input_bw":"6.40MB/s","status_2xx":671550,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":233995,"avg_latency":"17.22ms","p99_latency":"67.00ms","cpu":"6590.6%","memory":"590MiB","bandwidth":"816.60MB/s","input_bw":"11.16MB/s","status_2xx":1169977,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":536234,"avg_latency":"1.22ms","p99_latency":"3.63ms","cpu":"4748.6%","memory":"299MiB","bandwidth":"1.83GB/s","input_bw":"25.57MB/s","status_2xx":2681172,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":514016,"avg_latency":"7.73ms","p99_latency":"18.10ms","cpu":"6201.1%","memory":"386MiB","bandwidth":"1.76GB/s","input_bw":"24.51MB/s","status_2xx":2570080,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":983908,"avg_latency":"3.80ms","p99_latency":"9.61ms","cpu":"6485.4%","memory":"264MiB","bandwidth":"3.29GB/s","input_bw":"46.92MB/s","status_2xx":4919544,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1227325,"avg_latency":"2.96ms","p99_latency":"82.00ms","cpu":"6396.4%","memory":"720MiB","bandwidth":"4.13GB/s","input_bw":"58.52MB/s","status_2xx":6136626,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":911183,"avg_latency":"4.17ms","p99_latency":"12.90ms","cpu":"6575.3%","memory":"7.6GiB","bandwidth":"3.16GB/s","input_bw":"43.45MB/s","status_2xx":4555918,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":659597,"avg_latency":"5.84ms","p99_latency":"12.40ms","cpu":"6387.2%","memory":"559MiB","bandwidth":"2.28GB/s","input_bw":"31.45MB/s","status_2xx":3297988,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":465616,"avg_latency":"7.99ms","p99_latency":"115.70ms","cpu":"6317.1%","memory":"3.8GiB","bandwidth":"1.61GB/s","input_bw":null,"status_2xx":2328081,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2109538,"avg_latency":"1.39ms","p99_latency":"36.50ms","cpu":"6166.4%","memory":"160MiB","bandwidth":"7.14GB/s","input_bw":"100.59MB/s","status_2xx":10547693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2438927,"avg_latency":"844us","p99_latency":"6.78ms","cpu":"6564.4%","memory":"1.4GiB","bandwidth":"8.26GB/s","input_bw":"116.30MB/s","status_2xx":12194638,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":60374,"avg_latency":"67.20ms","p99_latency":"163.80ms","cpu":"1779.5%","memory":"861MiB","bandwidth":"206.36MB/s","input_bw":"2.88MB/s","status_2xx":301871,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":1039295,"avg_latency":"3.58ms","p99_latency":"70.40ms","cpu":"6684.7%","memory":"211MiB","bandwidth":"3.50GB/s","input_bw":null,"status_2xx":5196477,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":2389288,"avg_latency":"686us","p99_latency":"2.94ms","cpu":"5854.7%","memory":"289MiB","bandwidth":"8.00GB/s","input_bw":"113.93MB/s","status_2xx":11946443,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2348626,"avg_latency":"614us","p99_latency":"2.75ms","cpu":"5365.1%","memory":"290MiB","bandwidth":"7.86GB/s","input_bw":"111.99MB/s","status_2xx":11743130,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-comp-512":[{"fw":"actix","lang":"Rust","rps":18906,"avg_latency":"27.10ms","p99_latency":"42.10ms","cpu":"406.5%","memory":"110MiB","bandwidth":"25.34MB/s","input_bw":"1.41MB/s","status_2xx":94533,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":225671,"avg_latency":"2.26ms","p99_latency":"30.60ms","cpu":"5759.3%","memory":"5.5GiB","bandwidth":"328.35MB/s","input_bw":"16.79MB/s","status_2xx":1128355,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":333327,"avg_latency":"1.51ms","p99_latency":"6.71ms","cpu":"5327.5%","memory":"244MiB","bandwidth":"642.31MB/s","input_bw":"24.80MB/s","status_2xx":1666635,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":339900,"avg_latency":"1.49ms","p99_latency":"5.63ms","cpu":"6099.4%","memory":"887MiB","bandwidth":"655.98MB/s","input_bw":"25.28MB/s","status_2xx":1699501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":362672,"avg_latency":"1.40ms","p99_latency":"8.12ms","cpu":"5670.1%","memory":"1.5GiB","bandwidth":"701.21MB/s","input_bw":"26.98MB/s","status_2xx":1813360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":281614,"avg_latency":"1.80ms","p99_latency":"7.06ms","cpu":"5103.8%","memory":"241MiB","bandwidth":"541.51MB/s","input_bw":"20.95MB/s","status_2xx":1408072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":34545,"avg_latency":"14.82ms","p99_latency":"42.00ms","cpu":"652.0%","memory":"197MiB","bandwidth":"53.35MB/s","input_bw":"2.57MB/s","status_2xx":172726,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":100773,"avg_latency":"5.08ms","p99_latency":"10.90ms","cpu":"6301.3%","memory":"1.6GiB","bandwidth":"132.64MB/s","input_bw":"7.50MB/s","status_2xx":503865,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":311262,"avg_latency":"1.64ms","p99_latency":"40.70ms","cpu":"4326.1%","memory":"270MiB","bandwidth":"591.57MB/s","input_bw":"23.15MB/s","status_2xx":1556314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":348593,"avg_latency":"1.46ms","p99_latency":"6.99ms","cpu":"5940.0%","memory":"1.7GiB","bandwidth":"467.72MB/s","input_bw":"25.93MB/s","status_2xx":1742965,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":74761,"avg_latency":"6.85ms","p99_latency":"34.60ms","cpu":"6445.9%","memory":"6.0GiB","bandwidth":"105.26MB/s","input_bw":"5.56MB/s","status_2xx":373806,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":93695,"avg_latency":"5.46ms","p99_latency":"12.20ms","cpu":"6450.8%","memory":"4.7GiB","bandwidth":"127.79MB/s","input_bw":"6.97MB/s","status_2xx":468476,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":325197,"avg_latency":"1.56ms","p99_latency":"6.81ms","cpu":"5322.0%","memory":"238MiB","bandwidth":"626.28MB/s","input_bw":"24.19MB/s","status_2xx":1625988,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2028583,"avg_latency":"141us","p99_latency":"1.09ms","cpu":"6050.6%","memory":"366MiB","bandwidth":"3.24GB/s","input_bw":"150.90MB/s","status_2xx":10142919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":61346,"avg_latency":"8.36ms","p99_latency":"44.40ms","cpu":"6439.8%","memory":"10.1GiB","bandwidth":"86.46MB/s","input_bw":"4.56MB/s","status_2xx":306734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":301733,"avg_latency":"1.69ms","p99_latency":"6.75ms","cpu":"6689.3%","memory":"818MiB","bandwidth":"483.25MB/s","input_bw":"22.44MB/s","status_2xx":1508668,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":357084,"avg_latency":"1.43ms","p99_latency":"5.13ms","cpu":"5839.3%","memory":"593MiB","bandwidth":"571.98MB/s","input_bw":"26.56MB/s","status_2xx":1785420,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":346093,"avg_latency":"1.47ms","p99_latency":"18.80ms","cpu":"5432.2%","memory":"5.2GiB","bandwidth":"568.14MB/s","input_bw":"25.74MB/s","status_2xx":1730466,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":68903,"avg_latency":"7.32ms","p99_latency":"7.72ms","cpu":"6481.7%","memory":"3.2GiB","bandwidth":"97.42MB/s","input_bw":"5.13MB/s","status_2xx":344516,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":533687,"avg_latency":"931us","p99_latency":"3.75ms","cpu":"6167.2%","memory":"3.2GiB","bandwidth":"833.99MB/s","input_bw":"39.70MB/s","status_2xx":2668435,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":119733,"avg_latency":"4.27ms","p99_latency":"15.30ms","cpu":"5148.9%","memory":"1.1GiB","bandwidth":"147.72MB/s","input_bw":"8.91MB/s","status_2xx":598669,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":426738,"avg_latency":"1.20ms","p99_latency":"8.61ms","cpu":"6052.0%","memory":"7.7GiB","bandwidth":"666.51MB/s","input_bw":"31.74MB/s","status_2xx":2133693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":371930,"avg_latency":"1.37ms","p99_latency":"10.80ms","cpu":"5707.5%","memory":"384MiB","bandwidth":"605.85MB/s","input_bw":"27.67MB/s","status_2xx":1859650,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":447876,"avg_latency":"1.14ms","p99_latency":"10.10ms","cpu":"5723.4%","memory":"316MiB","bandwidth":"768.60MB/s","input_bw":"33.32MB/s","status_2xx":2239384,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":546290,"avg_latency":"927us","p99_latency":"4.50ms","cpu":"5785.0%","memory":"611MiB","bandwidth":"936.49MB/s","input_bw":"40.64MB/s","status_2xx":2731453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":407870,"avg_latency":"1.23ms","p99_latency":"6.25ms","cpu":"5583.3%","memory":"312MiB","bandwidth":"696.42MB/s","input_bw":"30.34MB/s","status_2xx":2039354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":387505,"avg_latency":"1.31ms","p99_latency":"6.33ms","cpu":"5546.8%","memory":"320MiB","bandwidth":"627.97MB/s","input_bw":"28.83MB/s","status_2xx":1937527,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":34160,"avg_latency":"14.87ms","p99_latency":"164.10ms","cpu":"2572.6%","memory":"767MiB","bandwidth":"45.62MB/s","input_bw":"2.54MB/s","status_2xx":170803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":76929,"avg_latency":"6.66ms","p99_latency":"13.80ms","cpu":"6240.4%","memory":"294MiB","bandwidth":"118.13MB/s","input_bw":"5.72MB/s","status_2xx":384649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":17562,"avg_latency":"29.14ms","p99_latency":"42.20ms","cpu":"564.8%","memory":"1.2GiB","bandwidth":"24.21MB/s","input_bw":"1.31MB/s","status_2xx":87812,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":313384,"avg_latency":"1.62ms","p99_latency":"6.53ms","cpu":"6307.9%","memory":"6.6GiB","bandwidth":"424.43MB/s","input_bw":"23.31MB/s","status_2xx":1566922,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":259626,"avg_latency":"1.97ms","p99_latency":"11.70ms","cpu":"6325.5%","memory":"114MiB","bandwidth":"353.21MB/s","input_bw":"19.31MB/s","status_2xx":1298132,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":53128,"avg_latency":"9.34ms","p99_latency":"33.20ms","cpu":"6395.7%","memory":"5.8GiB","bandwidth":"72.44MB/s","input_bw":"3.95MB/s","status_2xx":265640,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":50062,"avg_latency":"9.38ms","p99_latency":"47.00ms","cpu":"6348.7%","memory":"89MiB","bandwidth":"83.07MB/s","input_bw":"3.72MB/s","status_2xx":250313,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":226181,"avg_latency":"2.26ms","p99_latency":"3.53ms","cpu":"5231.8%","memory":"1.9GiB","bandwidth":"364.77MB/s","input_bw":"16.82MB/s","status_2xx":1130907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":919548,"avg_latency":"529us","p99_latency":"3.47ms","cpu":"5921.6%","memory":"633MiB","bandwidth":"1.37GB/s","input_bw":"68.40MB/s","status_2xx":4597744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":182888,"avg_latency":"2.78ms","p99_latency":"16.50ms","cpu":"6268.6%","memory":"4.9GiB","bandwidth":"241.85MB/s","input_bw":"13.60MB/s","status_2xx":914441,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":203733,"avg_latency":"2.49ms","p99_latency":"9.63ms","cpu":"6273.9%","memory":"4.0GiB","bandwidth":"269.48MB/s","input_bw":"15.16MB/s","status_2xx":1018665,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":549662,"avg_latency":"925us","p99_latency":"3.64ms","cpu":"5976.4%","memory":"135MiB","bandwidth":"851.44MB/s","input_bw":"40.89MB/s","status_2xx":2748314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":78928,"avg_latency":"6.49ms","p99_latency":"16.60ms","cpu":"5866.3%","memory":"78MiB","bandwidth":"139.03MB/s","input_bw":"5.87MB/s","status_2xx":394643,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":59879,"avg_latency":"8.55ms","p99_latency":"35.70ms","cpu":"6434.4%","memory":"3.3GiB","bandwidth":"105.63MB/s","input_bw":"4.45MB/s","status_2xx":299398,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":510837,"avg_latency":"990us","p99_latency":"6.27ms","cpu":"6505.2%","memory":"4.5GiB","bandwidth":"825.33MB/s","input_bw":"38.00MB/s","status_2xx":2554189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":113416,"avg_latency":"4.52ms","p99_latency":"15.80ms","cpu":"6303.8%","memory":"758MiB","bandwidth":"166.45MB/s","input_bw":"8.44MB/s","status_2xx":567084,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":190140,"avg_latency":"2.69ms","p99_latency":"7.43ms","cpu":"6514.3%","memory":"3.9GiB","bandwidth":"311.51MB/s","input_bw":"14.14MB/s","status_2xx":950701,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":424332,"avg_latency":"1.20ms","p99_latency":"6.22ms","cpu":"5768.3%","memory":"906MiB","bandwidth":"830.52MB/s","input_bw":"31.56MB/s","status_2xx":2121663,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":297811,"avg_latency":"1.72ms","p99_latency":"6.37ms","cpu":"6292.0%","memory":"6.7GiB","bandwidth":"469.82MB/s","input_bw":"22.15MB/s","status_2xx":1489058,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":189727,"avg_latency":"2.69ms","p99_latency":"10.10ms","cpu":"6391.5%","memory":"6.8GiB","bandwidth":"260.94MB/s","input_bw":"14.11MB/s","status_2xx":948637,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":83822,"avg_latency":"6.10ms","p99_latency":"23.10ms","cpu":"6425.5%","memory":"4.2GiB","bandwidth":"122.51MB/s","input_bw":"6.24MB/s","status_2xx":419114,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":18832,"avg_latency":"27.19ms","p99_latency":"42.10ms","cpu":"671.1%","memory":"801MiB","bandwidth":"26.43MB/s","input_bw":"1.40MB/s","status_2xx":94163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":104843,"avg_latency":"3.43ms","p99_latency":"58.10ms","cpu":"6107.3%","memory":"877MiB","bandwidth":"144.55MB/s","input_bw":"7.80MB/s","status_2xx":524216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":130040,"avg_latency":"3.93ms","p99_latency":"13.60ms","cpu":"6456.3%","memory":"3.5GiB","bandwidth":"173.69MB/s","input_bw":"9.67MB/s","status_2xx":650204,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":605170,"avg_latency":"833us","p99_latency":"2.61ms","cpu":"6105.9%","memory":"1.3GiB","bandwidth":"864.14MB/s","input_bw":"45.02MB/s","status_2xx":3025854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":17986,"avg_latency":"28.18ms","p99_latency":"169.90ms","cpu":"733.8%","memory":"429MiB","bandwidth":"30.60MB/s","input_bw":"1.34MB/s","status_2xx":89932,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":470220,"avg_latency":"1.08ms","p99_latency":"20.00ms","cpu":"5721.1%","memory":"193MiB","bandwidth":"883.42MB/s","input_bw":"34.98MB/s","status_2xx":2351102,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":538538,"avg_latency":"940us","p99_latency":"4.36ms","cpu":"5763.3%","memory":"724MiB","bandwidth":"1011.88MB/s","input_bw":"40.06MB/s","status_2xx":2692691,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":118140,"avg_latency":"4.33ms","p99_latency":"18.60ms","cpu":"6386.9%","memory":"4.6GiB","bandwidth":"159.72MB/s","input_bw":"8.79MB/s","status_2xx":590703,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":187631,"avg_latency":"2.73ms","p99_latency":"16.10ms","cpu":"5579.3%","memory":"289MiB","bandwidth":"247.88MB/s","input_bw":"13.96MB/s","status_2xx":938155,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":101416,"avg_latency":"4.64ms","p99_latency":"15.20ms","cpu":"5722.9%","memory":"192MiB","bandwidth":"171.46MB/s","input_bw":"7.54MB/s","status_2xx":507081,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":198537,"avg_latency":"2.36ms","p99_latency":"4.91ms","cpu":"4554.7%","memory":"1.7GiB","bandwidth":"273.10MB/s","input_bw":"14.77MB/s","status_2xx":992689,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":391723,"avg_latency":"1.30ms","p99_latency":"6.74ms","cpu":"5930.6%","memory":"1.0GiB","bandwidth":"527.72MB/s","input_bw":"29.14MB/s","status_2xx":1958616,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":508847,"avg_latency":"1.00ms","p99_latency":"7.62ms","cpu":"6383.2%","memory":"243MiB","bandwidth":"819.19MB/s","input_bw":"37.85MB/s","status_2xx":2544239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":91877,"avg_latency":"5.57ms","p99_latency":"19.10ms","cpu":"5521.3%","memory":"1.1GiB","bandwidth":"115.73MB/s","input_bw":"6.83MB/s","status_2xx":459388,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":162929,"avg_latency":"3.14ms","p99_latency":"18.90ms","cpu":"6480.3%","memory":"401MiB","bandwidth":"223.29MB/s","input_bw":"12.12MB/s","status_2xx":814645,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":118558,"avg_latency":"3.92ms","p99_latency":"9.04ms","cpu":"6124.8%","memory":"747MiB","bandwidth":"160.70MB/s","input_bw":"8.82MB/s","status_2xx":592790,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1474,"avg_latency":"335.37ms","p99_latency":"675.10ms","cpu":"6410.8%","memory":"3.7GiB","bandwidth":"1.63MB/s","input_bw":"112.28KB/s","status_2xx":7371,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":445036,"avg_latency":"1.14ms","p99_latency":"5.28ms","cpu":"5914.4%","memory":"175MiB","bandwidth":"687.81MB/s","input_bw":"33.10MB/s","status_2xx":2225181,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":389379,"avg_latency":"1.31ms","p99_latency":"7.13ms","cpu":"5972.8%","memory":"8.2GiB","bandwidth":"611.37MB/s","input_bw":"28.96MB/s","status_2xx":1946899,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":300206,"avg_latency":"1.70ms","p99_latency":"4.54ms","cpu":"6546.7%","memory":"257MiB","bandwidth":"407.77MB/s","input_bw":"22.33MB/s","status_2xx":1501031,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":271121,"avg_latency":"1.88ms","p99_latency":"4.30ms","cpu":"6378.1%","memory":"3.6GiB","bandwidth":"431.16MB/s","input_bw":"20.17MB/s","status_2xx":1355607,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2106914,"avg_latency":"124us","p99_latency":"1.06ms","cpu":"6261.3%","memory":"89MiB","bandwidth":"3.36GB/s","input_bw":"156.73MB/s","status_2xx":10534572,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2137942,"avg_latency":"116us","p99_latency":"687us","cpu":"6049.3%","memory":"1.1GiB","bandwidth":"3.41GB/s","input_bw":"159.03MB/s","status_2xx":10689713,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":79144,"avg_latency":"6.46ms","p99_latency":"49.90ms","cpu":"1738.5%","memory":"522MiB","bandwidth":"127.22MB/s","input_bw":"5.89MB/s","status_2xx":395723,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-comp-4096":[{"fw":"actix","lang":"Rust","rps":152609,"avg_latency":"24.94ms","p99_latency":"45.90ms","cpu":"3762.3%","memory":"309MiB","bandwidth":"205.94MB/s","input_bw":"11.35MB/s","status_2xx":763047,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":234675,"avg_latency":"12.69ms","p99_latency":"104.70ms","cpu":"5920.6%","memory":"6.3GiB","bandwidth":"341.48MB/s","input_bw":"17.46MB/s","status_2xx":1173375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":335330,"avg_latency":"9.61ms","p99_latency":"37.60ms","cpu":"5909.3%","memory":"581MiB","bandwidth":"646.21MB/s","input_bw":"24.94MB/s","status_2xx":1676653,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":284539,"avg_latency":"11.07ms","p99_latency":"80.60ms","cpu":"5659.6%","memory":"1000MiB","bandwidth":"549.25MB/s","input_bw":"21.17MB/s","status_2xx":1422696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":369339,"avg_latency":"11.05ms","p99_latency":"34.90ms","cpu":"6032.6%","memory":"2.0GiB","bandwidth":"714.05MB/s","input_bw":"27.47MB/s","status_2xx":1846699,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":282605,"avg_latency":"11.96ms","p99_latency":"38.20ms","cpu":"5805.5%","memory":"523MiB","bandwidth":"543.37MB/s","input_bw":"21.02MB/s","status_2xx":1413025,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":235623,"avg_latency":"17.30ms","p99_latency":"51.60ms","cpu":"4594.0%","memory":"245MiB","bandwidth":"370.00MB/s","input_bw":"17.53MB/s","status_2xx":1178117,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":99844,"avg_latency":"38.18ms","p99_latency":"91.60ms","cpu":"6155.3%","memory":"1.7GiB","bandwidth":"131.41MB/s","input_bw":"7.43MB/s","status_2xx":499222,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":300519,"avg_latency":"13.12ms","p99_latency":"345.60ms","cpu":"4095.4%","memory":"391MiB","bandwidth":"571.16MB/s","input_bw":"22.35MB/s","status_2xx":1502597,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":372779,"avg_latency":"10.95ms","p99_latency":"24.80ms","cpu":"6054.4%","memory":"1.6GiB","bandwidth":"500.20MB/s","input_bw":"27.73MB/s","status_2xx":1863895,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":52964,"avg_latency":"53.12ms","p99_latency":"198.30ms","cpu":"6467.8%","memory":"5.9GiB","bandwidth":"74.56MB/s","input_bw":"3.94MB/s","status_2xx":264820,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":93953,"avg_latency":"39.75ms","p99_latency":"575.70ms","cpu":"6445.4%","memory":"4.7GiB","bandwidth":"128.13MB/s","input_bw":"6.99MB/s","status_2xx":469768,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":325504,"avg_latency":"10.04ms","p99_latency":"35.10ms","cpu":"5911.6%","memory":"558MiB","bandwidth":"626.84MB/s","input_bw":"24.21MB/s","status_2xx":1627523,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2467521,"avg_latency":"1.34ms","p99_latency":"8.74ms","cpu":"6202.5%","memory":"772MiB","bandwidth":"3.94GB/s","input_bw":"183.55MB/s","status_2xx":12337608,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":49030,"avg_latency":"65.98ms","p99_latency":"200.40ms","cpu":"6466.2%","memory":"11.1GiB","bandwidth":"69.07MB/s","input_bw":"3.65MB/s","status_2xx":245152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":345045,"avg_latency":"11.82ms","p99_latency":"26.10ms","cpu":"6750.4%","memory":"2.0GiB","bandwidth":"552.62MB/s","input_bw":"25.67MB/s","status_2xx":1725226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":366864,"avg_latency":"10.92ms","p99_latency":"260.00ms","cpu":"6272.8%","memory":"787MiB","bandwidth":"587.59MB/s","input_bw":"27.29MB/s","status_2xx":1834321,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":365339,"avg_latency":"9.73ms","p99_latency":"71.40ms","cpu":"5178.8%","memory":"6.1GiB","bandwidth":"599.78MB/s","input_bw":"27.18MB/s","status_2xx":1826698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":66225,"avg_latency":"33.05ms","p99_latency":"37.30ms","cpu":"5437.4%","memory":"3.2GiB","bandwidth":"93.64MB/s","input_bw":"4.93MB/s","status_2xx":331125,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":530717,"avg_latency":"7.67ms","p99_latency":"27.90ms","cpu":"6472.9%","memory":"3.4GiB","bandwidth":"829.29MB/s","input_bw":"39.48MB/s","status_2xx":2653585,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":122239,"avg_latency":"33.38ms","p99_latency":"72.40ms","cpu":"5163.3%","memory":"1.9GiB","bandwidth":"150.18MB/s","input_bw":"9.09MB/s","status_2xx":611196,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":428453,"avg_latency":"9.54ms","p99_latency":"32.40ms","cpu":"6381.9%","memory":"9.1GiB","bandwidth":"669.13MB/s","input_bw":"31.87MB/s","status_2xx":2142269,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":391523,"avg_latency":"9.49ms","p99_latency":"20.10ms","cpu":"6312.1%","memory":"1.7GiB","bandwidth":"637.72MB/s","input_bw":"29.12MB/s","status_2xx":1957617,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":473717,"avg_latency":"8.23ms","p99_latency":"22.80ms","cpu":"6032.5%","memory":"588MiB","bandwidth":"812.93MB/s","input_bw":"35.24MB/s","status_2xx":2368586,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":564064,"avg_latency":"7.24ms","p99_latency":"24.40ms","cpu":"6134.2%","memory":"888MiB","bandwidth":"966.93MB/s","input_bw":"41.96MB/s","status_2xx":2820323,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":403124,"avg_latency":"8.54ms","p99_latency":"30.10ms","cpu":"5881.9%","memory":"606MiB","bandwidth":"688.39MB/s","input_bw":"29.99MB/s","status_2xx":2015621,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":376291,"avg_latency":"8.05ms","p99_latency":"29.20ms","cpu":"5879.5%","memory":"552MiB","bandwidth":"609.76MB/s","input_bw":"27.99MB/s","status_2xx":1881455,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":35018,"avg_latency":"95.80ms","p99_latency":"1.69s","cpu":"3313.1%","memory":"3.5GiB","bandwidth":"46.72MB/s","input_bw":"2.60MB/s","status_2xx":175090,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":75742,"avg_latency":"49.66ms","p99_latency":"1.04s","cpu":"6451.4%","memory":"293MiB","bandwidth":"116.31MB/s","input_bw":"5.63MB/s","status_2xx":378711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":117892,"avg_latency":"29.81ms","p99_latency":"45.90ms","cpu":"3522.9%","memory":"2.9GiB","bandwidth":"162.85MB/s","input_bw":"8.77MB/s","status_2xx":589463,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":301690,"avg_latency":"12.16ms","p99_latency":"22.70ms","cpu":"6102.2%","memory":"8.7GiB","bandwidth":"408.57MB/s","input_bw":"22.44MB/s","status_2xx":1508453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":256696,"avg_latency":"15.87ms","p99_latency":"73.60ms","cpu":"6557.8%","memory":"225MiB","bandwidth":"349.08MB/s","input_bw":"19.09MB/s","status_2xx":1283480,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":58576,"avg_latency":"68.69ms","p99_latency":"161.30ms","cpu":"6271.6%","memory":"9.4GiB","bandwidth":"79.94MB/s","input_bw":"4.36MB/s","status_2xx":292880,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":52015,"avg_latency":"13.77ms","p99_latency":"136.80ms","cpu":"6313.9%","memory":"87MiB","bandwidth":"86.35MB/s","input_bw":"3.87MB/s","status_2xx":260078,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":242307,"avg_latency":"13.16ms","p99_latency":"22.80ms","cpu":"4964.9%","memory":"1.9GiB","bandwidth":"390.76MB/s","input_bw":"18.02MB/s","status_2xx":1211538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":904823,"avg_latency":"4.48ms","p99_latency":"21.80ms","cpu":"6085.4%","memory":"1.5GiB","bandwidth":"1.35GB/s","input_bw":"67.31MB/s","status_2xx":4524118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":193020,"avg_latency":"21.17ms","p99_latency":"82.30ms","cpu":"6158.4%","memory":"5.2GiB","bandwidth":"255.09MB/s","input_bw":"14.36MB/s","status_2xx":965101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":217405,"avg_latency":"18.85ms","p99_latency":"42.30ms","cpu":"6244.1%","memory":"4.5GiB","bandwidth":"287.20MB/s","input_bw":"16.17MB/s","status_2xx":1087025,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":578639,"avg_latency":"6.98ms","p99_latency":"181.70ms","cpu":"6360.6%","memory":"149MiB","bandwidth":"896.27MB/s","input_bw":"43.04MB/s","status_2xx":2893198,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":407543,"avg_latency":"10.03ms","p99_latency":"36.70ms","cpu":"6041.0%","memory":"237MiB","bandwidth":"717.93MB/s","input_bw":"30.32MB/s","status_2xx":2037716,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":98861,"avg_latency":"41.28ms","p99_latency":"125.30ms","cpu":"6491.6%","memory":"4.8GiB","bandwidth":"174.43MB/s","input_bw":"7.35MB/s","status_2xx":494308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":526034,"avg_latency":"7.72ms","p99_latency":"133.30ms","cpu":"6680.1%","memory":"4.4GiB","bandwidth":"849.78MB/s","input_bw":"39.13MB/s","status_2xx":2630173,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":93061,"avg_latency":"36.51ms","p99_latency":"336.30ms","cpu":"6287.0%","memory":"1.8GiB","bandwidth":"136.38MB/s","input_bw":"6.92MB/s","status_2xx":465309,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":184789,"avg_latency":"22.02ms","p99_latency":"26.50ms","cpu":"6232.5%","memory":"3.9GiB","bandwidth":"303.23MB/s","input_bw":"13.75MB/s","status_2xx":925797,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":463958,"avg_latency":"8.81ms","p99_latency":"19.90ms","cpu":"6320.4%","memory":"1.1GiB","bandwidth":"908.17MB/s","input_bw":"34.51MB/s","status_2xx":2319791,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":294552,"avg_latency":"13.87ms","p99_latency":"35.60ms","cpu":"6436.7%","memory":"10.2GiB","bandwidth":"464.78MB/s","input_bw":"21.91MB/s","status_2xx":1472762,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":179420,"avg_latency":"21.71ms","p99_latency":"50.20ms","cpu":"6555.6%","memory":"5.5GiB","bandwidth":"246.69MB/s","input_bw":"13.35MB/s","status_2xx":897101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":83754,"avg_latency":"43.34ms","p99_latency":"104.40ms","cpu":"6434.7%","memory":"4.0GiB","bandwidth":"122.41MB/s","input_bw":"6.23MB/s","status_2xx":418773,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":139354,"avg_latency":"29.34ms","p99_latency":"56.90ms","cpu":"4677.6%","memory":"14.3GiB","bandwidth":"197.20MB/s","input_bw":"10.37MB/s","status_2xx":696771,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":93906,"avg_latency":"7.41ms","p99_latency":"158.50ms","cpu":"6097.4%","memory":"857MiB","bandwidth":"129.22MB/s","input_bw":"6.99MB/s","status_2xx":469530,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":141482,"avg_latency":"25.95ms","p99_latency":"52.90ms","cpu":"6418.5%","memory":"4.9GiB","bandwidth":"188.86MB/s","input_bw":"10.52MB/s","status_2xx":707413,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":659614,"avg_latency":"6.12ms","p99_latency":"161.40ms","cpu":"6508.4%","memory":"1.3GiB","bandwidth":"941.83MB/s","input_bw":"49.07MB/s","status_2xx":3298070,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":22031,"avg_latency":"148.41ms","p99_latency":"962.60ms","cpu":"817.4%","memory":"448MiB","bandwidth":"37.45MB/s","input_bw":"1.64MB/s","status_2xx":110157,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":481625,"avg_latency":"8.33ms","p99_latency":"205.70ms","cpu":"5726.1%","memory":"334MiB","bandwidth":"904.87MB/s","input_bw":"35.83MB/s","status_2xx":2408125,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":523073,"avg_latency":"7.81ms","p99_latency":"26.70ms","cpu":"6016.1%","memory":"1.0GiB","bandwidth":"982.83MB/s","input_bw":"38.91MB/s","status_2xx":2615369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":123912,"avg_latency":"30.05ms","p99_latency":"53.70ms","cpu":"6531.1%","memory":"4.4GiB","bandwidth":"167.50MB/s","input_bw":"9.22MB/s","status_2xx":619564,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":187464,"avg_latency":"21.04ms","p99_latency":"477.40ms","cpu":"5672.2%","memory":"344MiB","bandwidth":"247.76MB/s","input_bw":"13.94MB/s","status_2xx":937322,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":96976,"avg_latency":"25.27ms","p99_latency":"90.90ms","cpu":"5445.3%","memory":"205MiB","bandwidth":"163.96MB/s","input_bw":"7.21MB/s","status_2xx":484881,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":198628,"avg_latency":"12.22ms","p99_latency":"20.10ms","cpu":"4801.7%","memory":"2.4GiB","bandwidth":"273.26MB/s","input_bw":"14.78MB/s","status_2xx":993144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":427413,"avg_latency":"9.56ms","p99_latency":"26.30ms","cpu":"6399.4%","memory":"1.1GiB","bandwidth":"575.81MB/s","input_bw":"31.79MB/s","status_2xx":2137068,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":524209,"avg_latency":"7.77ms","p99_latency":"36.00ms","cpu":"6687.9%","memory":"261MiB","bandwidth":"843.89MB/s","input_bw":"38.99MB/s","status_2xx":2621048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":95685,"avg_latency":"42.61ms","p99_latency":"85.50ms","cpu":"5466.6%","memory":"1.9GiB","bandwidth":"117.44MB/s","input_bw":"7.12MB/s","status_2xx":478425,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":160065,"avg_latency":"25.54ms","p99_latency":"93.00ms","cpu":"6550.0%","memory":"755MiB","bandwidth":"219.43MB/s","input_bw":"11.91MB/s","status_2xx":800327,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":119814,"avg_latency":"7.30ms","p99_latency":"26.80ms","cpu":"6162.4%","memory":"773MiB","bandwidth":"162.43MB/s","input_bw":"8.91MB/s","status_2xx":599073,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1455,"avg_latency":"2.02s","p99_latency":"3.33s","cpu":"6062.7%","memory":"4.0GiB","bandwidth":"1.61MB/s","input_bw":"110.83KB/s","status_2xx":7275,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":458109,"avg_latency":"8.95ms","p99_latency":"20.20ms","cpu":"6227.8%","memory":"254MiB","bandwidth":"708.10MB/s","input_bw":"34.08MB/s","status_2xx":2290546,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":384617,"avg_latency":"10.63ms","p99_latency":"35.40ms","cpu":"6394.5%","memory":"8.7GiB","bandwidth":"603.95MB/s","input_bw":"28.61MB/s","status_2xx":1923087,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":298148,"avg_latency":"13.71ms","p99_latency":"28.90ms","cpu":"6523.9%","memory":"604MiB","bandwidth":"404.95MB/s","input_bw":"22.18MB/s","status_2xx":1490740,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":271388,"avg_latency":"13.58ms","p99_latency":"198.00ms","cpu":"6242.7%","memory":"3.6GiB","bandwidth":"431.66MB/s","input_bw":"20.19MB/s","status_2xx":1356940,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2323362,"avg_latency":"1.59ms","p99_latency":"38.30ms","cpu":"6218.4%","memory":"110MiB","bandwidth":"3.71GB/s","input_bw":"172.83MB/s","status_2xx":11616814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2869933,"avg_latency":"979us","p99_latency":"7.40ms","cpu":"6324.1%","memory":"1.5GiB","bandwidth":"4.58GB/s","input_bw":"213.48MB/s","status_2xx":14349666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":74734,"avg_latency":"54.50ms","p99_latency":"141.50ms","cpu":"3344.3%","memory":"837MiB","bandwidth":"120.11MB/s","input_bw":"5.56MB/s","status_2xx":373671,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-comp-16384":[{"fw":"actix","lang":"Rust","rps":248051,"avg_latency":"55.67ms","p99_latency":"202.00ms","cpu":"6028.5%","memory":"1.2GiB","bandwidth":"335.24MB/s","input_bw":"18.45MB/s","status_2xx":1240255,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":229920,"avg_latency":"21.54ms","p99_latency":"153.40ms","cpu":"6136.7%","memory":"7.0GiB","bandwidth":"334.51MB/s","input_bw":"17.10MB/s","status_2xx":1149603,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":335277,"avg_latency":"20.36ms","p99_latency":"61.70ms","cpu":"6094.4%","memory":"661MiB","bandwidth":"646.31MB/s","input_bw":"24.94MB/s","status_2xx":1676389,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":236441,"avg_latency":"16.84ms","p99_latency":"108.10ms","cpu":"5059.2%","memory":"1016MiB","bandwidth":"456.51MB/s","input_bw":"17.59MB/s","status_2xx":1182205,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":382233,"avg_latency":"42.56ms","p99_latency":"86.90ms","cpu":"6011.9%","memory":"2.8GiB","bandwidth":"739.09MB/s","input_bw":"28.43MB/s","status_2xx":1911169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":274658,"avg_latency":"25.14ms","p99_latency":"66.60ms","cpu":"5856.2%","memory":"668MiB","bandwidth":"528.16MB/s","input_bw":"20.43MB/s","status_2xx":1373293,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":281904,"avg_latency":"54.72ms","p99_latency":"679.70ms","cpu":"6321.5%","memory":"333MiB","bandwidth":"441.57MB/s","input_bw":"20.97MB/s","status_2xx":1409522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":98024,"avg_latency":"99.03ms","p99_latency":"328.00ms","cpu":"6078.0%","memory":"1.8GiB","bandwidth":"129.06MB/s","input_bw":"7.29MB/s","status_2xx":490120,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":309443,"avg_latency":"25.17ms","p99_latency":"663.00ms","cpu":"4088.9%","memory":"586MiB","bandwidth":"588.03MB/s","input_bw":"23.02MB/s","status_2xx":1547215,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":378203,"avg_latency":"42.71ms","p99_latency":"69.30ms","cpu":"6437.1%","memory":"2.0GiB","bandwidth":"507.53MB/s","input_bw":"28.13MB/s","status_2xx":1891018,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":53381,"avg_latency":"101.06ms","p99_latency":"1.38s","cpu":"6216.3%","memory":"6.7GiB","bandwidth":"75.15MB/s","input_bw":"3.97MB/s","status_2xx":266905,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":92206,"avg_latency":"117.01ms","p99_latency":"803.70ms","cpu":"6450.5%","memory":"4.9GiB","bandwidth":"125.76MB/s","input_bw":"6.86MB/s","status_2xx":461034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":323913,"avg_latency":"19.25ms","p99_latency":"58.60ms","cpu":"5838.4%","memory":"680MiB","bandwidth":"623.76MB/s","input_bw":"24.09MB/s","status_2xx":1619569,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2369043,"avg_latency":"6.39ms","p99_latency":"23.50ms","cpu":"6000.7%","memory":"1.3GiB","bandwidth":"3.78GB/s","input_bw":"176.23MB/s","status_2xx":11845219,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":49716,"avg_latency":"99.87ms","p99_latency":"1.14s","cpu":"6483.2%","memory":"11.5GiB","bandwidth":"70.01MB/s","input_bw":"3.70MB/s","status_2xx":248581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":337933,"avg_latency":"47.89ms","p99_latency":"74.20ms","cpu":"6791.6%","memory":"5.6GiB","bandwidth":"541.24MB/s","input_bw":"25.14MB/s","status_2xx":1689666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":371108,"avg_latency":"39.74ms","p99_latency":"1.04s","cpu":"6295.9%","memory":"962MiB","bandwidth":"594.43MB/s","input_bw":"27.61MB/s","status_2xx":1855542,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":362427,"avg_latency":"27.05ms","p99_latency":"130.90ms","cpu":"5033.1%","memory":"5.9GiB","bandwidth":"595.05MB/s","input_bw":"26.96MB/s","status_2xx":1812138,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":55126,"avg_latency":"43.70ms","p99_latency":"642.60ms","cpu":"4112.9%","memory":"3.2GiB","bandwidth":"77.95MB/s","input_bw":"4.10MB/s","status_2xx":275631,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":511940,"avg_latency":"27.30ms","p99_latency":"403.90ms","cpu":"6750.9%","memory":"3.9GiB","bandwidth":"799.84MB/s","input_bw":"38.08MB/s","status_2xx":2559704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":123063,"avg_latency":"129.25ms","p99_latency":"259.50ms","cpu":"5024.5%","memory":"3.8GiB","bandwidth":"149.42MB/s","input_bw":"9.15MB/s","status_2xx":615317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":438511,"avg_latency":"37.00ms","p99_latency":"89.30ms","cpu":"6331.1%","memory":"10.4GiB","bandwidth":"684.72MB/s","input_bw":"32.62MB/s","status_2xx":2192558,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":369560,"avg_latency":"26.46ms","p99_latency":"62.80ms","cpu":"6000.7%","memory":"2.6GiB","bandwidth":"602.00MB/s","input_bw":"27.49MB/s","status_2xx":1847803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":461514,"avg_latency":"29.74ms","p99_latency":"72.00ms","cpu":"6037.0%","memory":"1.5GiB","bandwidth":"791.93MB/s","input_bw":"34.33MB/s","status_2xx":2307573,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":558661,"avg_latency":"29.13ms","p99_latency":"60.20ms","cpu":"6046.3%","memory":"1.2GiB","bandwidth":"957.65MB/s","input_bw":"41.56MB/s","status_2xx":2793308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":396232,"avg_latency":"15.91ms","p99_latency":"47.90ms","cpu":"5829.9%","memory":"755MiB","bandwidth":"676.63MB/s","input_bw":"29.47MB/s","status_2xx":1981161,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":375702,"avg_latency":"14.53ms","p99_latency":"45.20ms","cpu":"5841.8%","memory":"639MiB","bandwidth":"608.83MB/s","input_bw":"27.95MB/s","status_2xx":1878512,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":26108,"avg_latency":"241.27ms","p99_latency":"3.75s","cpu":"3817.6%","memory":"6.8GiB","bandwidth":"34.84MB/s","input_bw":"1.94MB/s","status_2xx":130541,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":73948,"avg_latency":"110.99ms","p99_latency":"3.66s","cpu":"6448.1%","memory":"293MiB","bandwidth":"113.53MB/s","input_bw":"5.50MB/s","status_2xx":369743,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":195228,"avg_latency":"42.42ms","p99_latency":"367.90ms","cpu":"5117.4%","memory":"5.3GiB","bandwidth":"269.99MB/s","input_bw":"14.52MB/s","status_2xx":976143,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":285928,"avg_latency":"35.03ms","p99_latency":"115.80ms","cpu":"5938.7%","memory":"12.6GiB","bandwidth":"387.32MB/s","input_bw":"21.27MB/s","status_2xx":1429641,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":251925,"avg_latency":"59.01ms","p99_latency":"1.32s","cpu":"6191.0%","memory":"243MiB","bandwidth":"342.70MB/s","input_bw":"18.74MB/s","status_2xx":1259627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":53692,"avg_latency":"293.86ms","p99_latency":"550.60ms","cpu":"6188.8%","memory":"12.8GiB","bandwidth":"73.42MB/s","input_bw":"3.99MB/s","status_2xx":268462,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":51013,"avg_latency":"15.29ms","p99_latency":"142.20ms","cpu":"6505.6%","memory":"88MiB","bandwidth":"84.78MB/s","input_bw":"3.79MB/s","status_2xx":255069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":241986,"avg_latency":"27.59ms","p99_latency":"47.10ms","cpu":"4760.3%","memory":"1.9GiB","bandwidth":"390.34MB/s","input_bw":"18.00MB/s","status_2xx":1209933,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":905381,"avg_latency":"17.88ms","p99_latency":"48.70ms","cpu":"6052.2%","memory":"5.0GiB","bandwidth":"1.35GB/s","input_bw":"67.35MB/s","status_2xx":4526907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":189511,"avg_latency":"84.68ms","p99_latency":"260.80ms","cpu":"6028.2%","memory":"11.2GiB","bandwidth":"252.50MB/s","input_bw":"14.10MB/s","status_2xx":947555,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":218199,"avg_latency":"74.08ms","p99_latency":"145.20ms","cpu":"6022.6%","memory":"11.4GiB","bandwidth":"288.28MB/s","input_bw":"16.23MB/s","status_2xx":1090998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":577858,"avg_latency":"26.43ms","p99_latency":"684.00ms","cpu":"6207.5%","memory":"178MiB","bandwidth":"895.07MB/s","input_bw":"42.98MB/s","status_2xx":2889292,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":384511,"avg_latency":"42.13ms","p99_latency":"149.30ms","cpu":"5992.7%","memory":"732MiB","bandwidth":"677.40MB/s","input_bw":"28.60MB/s","status_2xx":1922558,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":118351,"avg_latency":"135.75ms","p99_latency":"303.50ms","cpu":"6256.4%","memory":"6.4GiB","bandwidth":"208.94MB/s","input_bw":"8.80MB/s","status_2xx":591758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":522125,"avg_latency":"29.12ms","p99_latency":"759.30ms","cpu":"6360.2%","memory":"4.5GiB","bandwidth":"843.39MB/s","input_bw":"38.84MB/s","status_2xx":2610629,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":93569,"avg_latency":"38.15ms","p99_latency":"346.30ms","cpu":"6078.6%","memory":"1.7GiB","bandwidth":"137.15MB/s","input_bw":"6.96MB/s","status_2xx":467846,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":180355,"avg_latency":"89.21ms","p99_latency":"99.20ms","cpu":"6448.4%","memory":"4.1GiB","bandwidth":"295.53MB/s","input_bw":"13.42MB/s","status_2xx":901776,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":450589,"avg_latency":"36.03ms","p99_latency":"57.10ms","cpu":"6649.3%","memory":"1.7GiB","bandwidth":"881.87MB/s","input_bw":"33.52MB/s","status_2xx":2252947,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":294023,"avg_latency":"54.97ms","p99_latency":"124.00ms","cpu":"6415.1%","memory":"10.6GiB","bandwidth":"463.86MB/s","input_bw":"21.87MB/s","status_2xx":1470118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":160894,"avg_latency":"90.65ms","p99_latency":"279.90ms","cpu":"5894.7%","memory":"5.5GiB","bandwidth":"221.26MB/s","input_bw":"11.97MB/s","status_2xx":804470,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":84821,"avg_latency":"101.89ms","p99_latency":"563.80ms","cpu":"6475.6%","memory":"4.3GiB","bandwidth":"123.89MB/s","input_bw":"6.31MB/s","status_2xx":424107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":224270,"avg_latency":"62.04ms","p99_latency":"924.60ms","cpu":"6590.3%","memory":"15.7GiB","bandwidth":"316.74MB/s","input_bw":"16.68MB/s","status_2xx":1121350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":104116,"avg_latency":"7.55ms","p99_latency":"147.10ms","cpu":"6067.7%","memory":"886MiB","bandwidth":"143.46MB/s","input_bw":"7.74MB/s","status_2xx":520582,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":141281,"avg_latency":"62.84ms","p99_latency":"149.00ms","cpu":"6509.0%","memory":"5.3GiB","bandwidth":"188.62MB/s","input_bw":"10.51MB/s","status_2xx":706407,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":664500,"avg_latency":"23.30ms","p99_latency":"579.40ms","cpu":"6437.0%","memory":"1.3GiB","bandwidth":"948.80MB/s","input_bw":"49.43MB/s","status_2xx":3322500,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":16068,"avg_latency":"280.60ms","p99_latency":"2.08s","cpu":"1738.1%","memory":"487MiB","bandwidth":"27.32MB/s","input_bw":"1.20MB/s","status_2xx":80341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":476434,"avg_latency":"17.36ms","p99_latency":"425.60ms","cpu":"5899.0%","memory":"402MiB","bandwidth":"894.77MB/s","input_bw":"35.44MB/s","status_2xx":2382170,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":503250,"avg_latency":"32.34ms","p99_latency":"67.50ms","cpu":"6043.7%","memory":"1.5GiB","bandwidth":"945.62MB/s","input_bw":"37.44MB/s","status_2xx":2516253,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":121500,"avg_latency":"79.17ms","p99_latency":"298.80ms","cpu":"6219.4%","memory":"4.5GiB","bandwidth":"164.25MB/s","input_bw":"9.04MB/s","status_2xx":607504,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":183078,"avg_latency":"26.34ms","p99_latency":"564.80ms","cpu":"5667.3%","memory":"345MiB","bandwidth":"241.77MB/s","input_bw":"13.62MB/s","status_2xx":915394,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":92180,"avg_latency":"73.10ms","p99_latency":"422.00ms","cpu":"5402.6%","memory":"286MiB","bandwidth":"155.90MB/s","input_bw":"6.86MB/s","status_2xx":460902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":183986,"avg_latency":"32.00ms","p99_latency":"55.90ms","cpu":"4145.5%","memory":"2.6GiB","bandwidth":"253.11MB/s","input_bw":"13.69MB/s","status_2xx":919930,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":418470,"avg_latency":"38.86ms","p99_latency":"74.00ms","cpu":"6335.6%","memory":"1.2GiB","bandwidth":"563.69MB/s","input_bw":"31.13MB/s","status_2xx":2092354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":517669,"avg_latency":"31.25ms","p99_latency":"89.90ms","cpu":"6717.7%","memory":"415MiB","bandwidth":"833.51MB/s","input_bw":"38.51MB/s","status_2xx":2588347,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":94939,"avg_latency":"167.93ms","p99_latency":"333.90ms","cpu":"5424.5%","memory":"4.3GiB","bandwidth":"112.98MB/s","input_bw":"7.06MB/s","status_2xx":474698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":160059,"avg_latency":"100.39ms","p99_latency":"234.00ms","cpu":"6555.2%","memory":"943MiB","bandwidth":"219.35MB/s","input_bw":"11.91MB/s","status_2xx":800299,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":112729,"avg_latency":"10.42ms","p99_latency":"34.50ms","cpu":"6019.9%","memory":"755MiB","bandwidth":"152.90MB/s","input_bw":"8.39MB/s","status_2xx":563648,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1435,"avg_latency":"2.52s","p99_latency":"4.91s","cpu":"5911.4%","memory":"4.0GiB","bandwidth":"1.59MB/s","input_bw":"109.31KB/s","status_2xx":7178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":440487,"avg_latency":"36.93ms","p99_latency":"66.30ms","cpu":"6499.7%","memory":"487MiB","bandwidth":"680.78MB/s","input_bw":"32.77MB/s","status_2xx":2202439,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":400892,"avg_latency":"40.42ms","p99_latency":"94.40ms","cpu":"6262.6%","memory":"10.0GiB","bandwidth":"629.46MB/s","input_bw":"29.82MB/s","status_2xx":2004460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":298253,"avg_latency":"52.43ms","p99_latency":"201.20ms","cpu":"6525.1%","memory":"1.6GiB","bandwidth":"405.09MB/s","input_bw":"22.19MB/s","status_2xx":1491268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":263652,"avg_latency":"25.95ms","p99_latency":"207.60ms","cpu":"6050.8%","memory":"3.6GiB","bandwidth":"419.35MB/s","input_bw":"19.61MB/s","status_2xx":1318264,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2342652,"avg_latency":"6.63ms","p99_latency":"166.30ms","cpu":"6112.1%","memory":"118MiB","bandwidth":"3.74GB/s","input_bw":"174.26MB/s","status_2xx":11713263,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2764973,"avg_latency":"5.12ms","p99_latency":"17.20ms","cpu":"5908.4%","memory":"1.9GiB","bandwidth":"4.41GB/s","input_bw":"205.68MB/s","status_2xx":13824869,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":73280,"avg_latency":"214.53ms","p99_latency":"295.60ms","cpu":"1784.2%","memory":"1.4GiB","bandwidth":"117.79MB/s","input_bw":"5.45MB/s","status_2xx":366403,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-tls-4096":[{"fw":"actix","lang":"Rust","rps":1157219,"avg_latency":"3.56ms","p99_latency":"64.52ms","cpu":"6580.5%","memory":"229MiB","bandwidth":"3.93GB","input_bw":null,"status_2xx":5897923,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":595255,"avg_latency":"10.34ms","p99_latency":"10.34ms","cpu":"6386.2%","memory":"8.9GiB","bandwidth":"2.03GB","input_bw":null,"status_2xx":3036523,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":505617,"avg_latency":"8.32ms","p99_latency":"104.21ms","cpu":"6048.0%","memory":"805MiB","bandwidth":"1.74GB","input_bw":null,"status_2xx":2578063,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":738079,"avg_latency":"5.69ms","p99_latency":"64.53ms","cpu":"6106.9%","memory":"2.3GiB","bandwidth":"2.54GB","input_bw":null,"status_2xx":3764048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":168570,"avg_latency":"24.03ms","p99_latency":"198.22ms","cpu":"6208.0%","memory":"2.7GiB","bandwidth":"665.28MB","input_bw":null,"status_2xx":859409,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":7150,"avg_latency":"6.65ms","p99_latency":"6.65ms","cpu":"1873.0%","memory":"2.5GiB","bandwidth":"28.40MB","input_bw":null,"status_2xx":36462,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":135982,"avg_latency":"29.02ms","p99_latency":"141.69ms","cpu":"6176.2%","memory":"4.8GiB","bandwidth":"480.30MB","input_bw":null,"status_2xx":692249,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":483250,"avg_latency":"8.56ms","p99_latency":"112.29ms","cpu":"6036.3%","memory":"748MiB","bandwidth":"1.66GB","input_bw":null,"status_2xx":2464226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":554676,"avg_latency":"7.46ms","p99_latency":"7.46ms","cpu":"6770.0%","memory":"1.4GiB","bandwidth":"1.92GB","input_bw":null,"status_2xx":2827692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":598488,"avg_latency":"6.83ms","p99_latency":"6.83ms","cpu":"6448.7%","memory":"659MiB","bandwidth":"2.07GB","input_bw":null,"status_2xx":3051939,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":454763,"avg_latency":"10.36ms","p99_latency":null,"cpu":"3297.8%","memory":"5.8GiB","bandwidth":"1.56GB","input_bw":null,"status_2xx":2318162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":6834,"avg_latency":"6.57ms","p99_latency":"6.57ms","cpu":"2183.7%","memory":"3.3GiB","bandwidth":"24.11MB","input_bw":null,"status_2xx":34855,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":232457,"avg_latency":"17.70ms","p99_latency":null,"cpu":"6218.0%","memory":"3.8GiB","bandwidth":"817.43MB","input_bw":"","status_2xx":1185645,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1046604,"avg_latency":"3.89ms","p99_latency":"48.53ms","cpu":"6583.8%","memory":"6.6GiB","bandwidth":"3.62GB","input_bw":null,"status_2xx":5337756,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":561019,"avg_latency":"7.23ms","p99_latency":null,"cpu":"6216.9%","memory":"1.7GiB","bandwidth":"1.92GB","input_bw":null,"status_2xx":2861075,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":687643,"avg_latency":"5.95ms","p99_latency":"65.78ms","cpu":"6178.3%","memory":"1.1GiB","bandwidth":"2.36GB","input_bw":null,"status_2xx":3506742,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":849743,"avg_latency":"5.71ms","p99_latency":"115.08ms","cpu":"6370.2%","memory":"1.1GiB","bandwidth":"2.91GB","input_bw":null,"status_2xx":4332009,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":551934,"avg_latency":"7.65ms","p99_latency":"116.02ms","cpu":"5945.1%","memory":"921MiB","bandwidth":"1.89GB","input_bw":null,"status_2xx":2815161,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":513804,"avg_latency":"9.35ms","p99_latency":null,"cpu":"6103.7%","memory":"814MiB","bandwidth":"1.75GB","input_bw":null,"status_2xx":2620775,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":249863,"avg_latency":"18.63ms","p99_latency":"18.63ms","cpu":"4659.8%","memory":"4.1GiB","bandwidth":"0.86GB","input_bw":"","status_2xx":1274615,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":618043,"avg_latency":"6.69ms","p99_latency":null,"cpu":"6211.7%","memory":"8.3GiB","bandwidth":"2.11GB","input_bw":"","status_2xx":3150737,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":1788316,"avg_latency":"2.33ms","p99_latency":"68.06ms","cpu":"6180.8%","memory":"1.2GiB","bandwidth":"5.98GB","input_bw":null,"status_2xx":9122911,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1675850,"avg_latency":"2.84ms","p99_latency":"218.57ms","cpu":"6106.0%","memory":"391MiB","bandwidth":"8.73GB","input_bw":null,"status_2xx":8545821,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":391978,"avg_latency":"11.92ms","p99_latency":"11.92ms","cpu":"4946.9%","memory":"9.3GiB","bandwidth":"1.31GB","input_bw":null,"status_2xx":1999246,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":607943,"avg_latency":"8.03ms","p99_latency":"266.87ms","cpu":"6059.8%","memory":"6.0GiB","bandwidth":"2.03GB","input_bw":null,"status_2xx":3101041,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":65424,"avg_latency":"65.18ms","p99_latency":null,"cpu":"5731.8%","memory":"182MiB","bandwidth":"273.62MB","input_bw":null,"status_2xx":333407,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":942048,"avg_latency":"4.51ms","p99_latency":"64.56ms","cpu":"5595.1%","memory":"246MiB","bandwidth":"3.24GB","input_bw":null,"status_2xx":4804691,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":331826,"avg_latency":"12.35ms","p99_latency":"72.71ms","cpu":"6684.0%","memory":"4.1GiB","bandwidth":"1.14GB","input_bw":null,"status_2xx":1690511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":804422,"avg_latency":"5.09ms","p99_latency":"5.09ms","cpu":"6602.5%","memory":"4.5GiB","bandwidth":"2.75GB","input_bw":"","status_2xx":4103422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":780948,"avg_latency":"5.24ms","p99_latency":"5.24ms","cpu":"6562.1%","memory":"1.2GiB","bandwidth":"2.66GB","input_bw":null,"status_2xx":3983423,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":116223,"avg_latency":"34.54ms","p99_latency":"112.55ms","cpu":"6430.9%","memory":"5.3GiB","bandwidth":"415.26MB","input_bw":null,"status_2xx":592627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":445438,"avg_latency":"13.94ms","p99_latency":"81.81ms","cpu":"6421.3%","memory":"13.9GiB","bandwidth":"1.52GB","input_bw":null,"status_2xx":2268562,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":52212,"avg_latency":"1.84ms","p99_latency":"1.84ms","cpu":"3126.7%","memory":"484MiB","bandwidth":"181.84MB","input_bw":null,"status_2xx":266311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":220720,"avg_latency":"18.42ms","p99_latency":"145.61ms","cpu":"6587.9%","memory":"5.8GiB","bandwidth":"760.88MB","input_bw":null,"status_2xx":1125640,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1826163,"avg_latency":"1.30ms","p99_latency":"48.07ms","cpu":"5916.6%","memory":"1.3GiB","bandwidth":"6.20GB","input_bw":null,"status_2xx":9313046,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":14116,"avg_latency":"199.89ms","p99_latency":null,"cpu":"1190.1%","memory":"548MiB","bandwidth":"26.09MB","input_bw":null,"status_2xx":71994,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":670630,"avg_latency":"6.15ms","p99_latency":"63.93ms","cpu":"6218.1%","memory":"1.1GiB","bandwidth":"2.29GB","input_bw":null,"status_2xx":3420152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":702815,"avg_latency":"5.52ms","p99_latency":"36.99ms","cpu":"6100.2%","memory":"802MiB","bandwidth":"2.40GB","input_bw":null,"status_2xx":3585126,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":185424,"avg_latency":"21.95ms","p99_latency":"21.95ms","cpu":"6576.4%","memory":"6.0GiB","bandwidth":"642.18MB","input_bw":null,"status_2xx":944919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":188030,"avg_latency":"20.64ms","p99_latency":null,"cpu":"2659.2%","memory":"3.2GiB","bandwidth":"651.02MB","input_bw":null,"status_2xx":958731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1522080,"avg_latency":"2.64ms","p99_latency":null,"cpu":"6523.0%","memory":"1.3GiB","bandwidth":"5.19GB","input_bw":null,"status_2xx":7763935,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":776894,"avg_latency":"5.37ms","p99_latency":null,"cpu":"6497.1%","memory":"355MiB","bandwidth":"2.66GB","input_bw":null,"status_2xx":3962375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":43624,"avg_latency":"176.21ms","p99_latency":"176.21ms","cpu":"6473.4%","memory":"904MiB","bandwidth":"152.33MB","input_bw":null,"status_2xx":222556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":612426,"avg_latency":"5.83ms","p99_latency":"33.35ms","cpu":"6322.8%","memory":"414MiB","bandwidth":"2.09GB","input_bw":null,"status_2xx":3123536,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":581968,"avg_latency":"7.00ms","p99_latency":"7.00ms","cpu":"6481.0%","memory":"477MiB","bandwidth":"1.99GB","input_bw":null,"status_2xx":2968138,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":782380,"avg_latency":"5.35ms","p99_latency":null,"cpu":"6236.9%","memory":"627MiB","bandwidth":"2.62GB","input_bw":null,"status_2xx":3990867,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":554073,"avg_latency":"7.63ms","p99_latency":"109.65ms","cpu":"6557.0%","memory":"739MiB","bandwidth":"1.92GB","input_bw":null,"status_2xx":2825972,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":336946,"avg_latency":"11.76ms","p99_latency":"11.76ms","cpu":"6177.3%","memory":"3.5GiB","bandwidth":"1.16GB","input_bw":null,"status_2xx":1717216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1500479,"avg_latency":"20.32ms","p99_latency":"1.03s","cpu":"6155.2%","memory":"450MiB","bandwidth":"5.08GB","input_bw":null,"status_2xx":7650901,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1503981,"avg_latency":"19.27ms","p99_latency":"983.47ms","cpu":"6128.1%","memory":"1.4GiB","bandwidth":"5.09GB","input_bw":null,"status_2xx":7670328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":734683,"avg_latency":"5.54ms","p99_latency":"5.54ms","cpu":"6308.3%","memory":"419MiB","bandwidth":"2.48GB","input_bw":null,"status_2xx":3747492,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"upload-32":[{"fw":"actix","lang":"Rust","rps":3100,"avg_latency":"10.28ms","p99_latency":"33.10ms","cpu":"2010.8%","memory":"159MiB","bandwidth":"418.32KB/s","input_bw":"24.59GB/s","status_2xx":15503,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":659,"avg_latency":"48.46ms","p99_latency":"173.80ms","cpu":"2843.8%","memory":"23.5GiB","bandwidth":"104.42KB/s","input_bw":"5.23GB/s","status_2xx":3296,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1298,"avg_latency":"24.78ms","p99_latency":"80.30ms","cpu":"6083.9%","memory":"165MiB","bandwidth":"210.70KB/s","input_bw":"10.30GB/s","status_2xx":6492,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1293,"avg_latency":"24.73ms","p99_latency":"66.10ms","cpu":"5584.2%","memory":"120.8MiB","bandwidth":"191.00KB/s","input_bw":"10.26GB/s","status_2xx":6468,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1958,"avg_latency":"16.30ms","p99_latency":"88.00ms","cpu":"2024.2%","memory":"8.4GiB","bandwidth":"375.19KB/s","input_bw":"15.53GB/s","status_2xx":9792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1318,"avg_latency":"24.39ms","p99_latency":"71.20ms","cpu":"6031.8%","memory":"160MiB","bandwidth":"208.86KB/s","input_bw":"10.45GB/s","status_2xx":6593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":828,"avg_latency":"38.56ms","p99_latency":"70.90ms","cpu":"384.3%","memory":"2.1GiB","bandwidth":"104.50KB/s","input_bw":"6.57GB/s","status_2xx":4140,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":1036,"avg_latency":"30.67ms","p99_latency":"174.00ms","cpu":"2568.3%","memory":"2.9GiB","bandwidth":"124.75KB/s","input_bw":"8.22GB/s","status_2xx":5184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":874,"avg_latency":"35.05ms","p99_latency":"103.50ms","cpu":"3312.9%","memory":"3.9GiB","bandwidth":"136.84KB/s","input_bw":"6.93GB/s","status_2xx":4374,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1608,"avg_latency":"19.87ms","p99_latency":"89.60ms","cpu":"3901.0%","memory":"319MiB","bandwidth":"239.02KB/s","input_bw":"12.75GB/s","status_2xx":8042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1502,"avg_latency":"21.25ms","p99_latency":"128.50ms","cpu":"3839.6%","memory":"2.6GiB","bandwidth":"182.19KB/s","input_bw":null,"status_2xx":7511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":2027,"avg_latency":"15.74ms","p99_latency":"58.30ms","cpu":"3573.0%","memory":"5.9GiB","bandwidth":"416.11KB/s","input_bw":"16.08GB/s","status_2xx":10139,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":2125,"avg_latency":"14.99ms","p99_latency":"65.90ms","cpu":"2532.7%","memory":"4.6GiB","bandwidth":"290.99KB/s","input_bw":"16.86GB/s","status_2xx":10628,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1309,"avg_latency":"24.59ms","p99_latency":"75.60ms","cpu":"6082.4%","memory":"156MiB","bandwidth":"211.29KB/s","input_bw":"10.38GB/s","status_2xx":6549,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":1534,"avg_latency":"20.86ms","p99_latency":"130.50ms","cpu":"1659.9%","memory":"6.5GiB","bandwidth":"169.63KB/s","input_bw":"12.17GB/s","status_2xx":7673,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1853,"avg_latency":"17.25ms","p99_latency":"60.90ms","cpu":"5443.6%","memory":"6.6GiB","bandwidth":"313.44KB/s","input_bw":"14.70GB/s","status_2xx":9267,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1901,"avg_latency":"16.77ms","p99_latency":"158.60ms","cpu":"6431.9%","memory":"2.3GiB","bandwidth":"315.92KB/s","input_bw":"15.08GB/s","status_2xx":9506,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1902,"avg_latency":"16.77ms","p99_latency":"160.10ms","cpu":"1848.1%","memory":"2.1GiB","bandwidth":"316.17KB/s","input_bw":"15.09GB/s","status_2xx":9514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1896,"avg_latency":"16.84ms","p99_latency":"50.20ms","cpu":"4220.6%","memory":"5.6GiB","bandwidth":"246.66KB/s","input_bw":"15.04GB/s","status_2xx":9482,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":1254,"avg_latency":"25.13ms","p99_latency":"68.30ms","cpu":"3388.6%","memory":"3.3GiB","bandwidth":"195.00KB/s","input_bw":"9.95GB/s","status_2xx":6271,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":1239,"avg_latency":"25.74ms","p99_latency":"144.70ms","cpu":"3182.6%","memory":"3.2GiB","bandwidth":"242.36KB/s","input_bw":"9.83GB/s","status_2xx":6199,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":610,"avg_latency":"52.59ms","p99_latency":"155.60ms","cpu":"1977.7%","memory":"3.5GiB","bandwidth":"73.37KB/s","input_bw":"4.84GB/s","status_2xx":3050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2041,"avg_latency":"15.64ms","p99_latency":"91.70ms","cpu":"3071.1%","memory":"6.8GiB","bandwidth":"375.00KB/s","input_bw":"16.19GB/s","status_2xx":10205,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":1436,"avg_latency":"22.21ms","p99_latency":"61.50ms","cpu":"3950.4%","memory":"229MiB","bandwidth":"209.27KB/s","input_bw":"11.39GB/s","status_2xx":7182,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2602,"avg_latency":"12.27ms","p99_latency":"35.70ms","cpu":"2503.5%","memory":"197MiB","bandwidth":"340.97KB/s","input_bw":"20.64GB/s","status_2xx":13010,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2135,"avg_latency":"14.95ms","p99_latency":"77.90ms","cpu":"1982.8%","memory":"751MiB","bandwidth":"275.65KB/s","input_bw":"16.93GB/s","status_2xx":10676,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1325,"avg_latency":"24.22ms","p99_latency":"69.90ms","cpu":"5966.1%","memory":"226MiB","bandwidth":"184.05KB/s","input_bw":"10.51GB/s","status_2xx":6627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1267,"avg_latency":"25.24ms","p99_latency":"68.80ms","cpu":"6045.7%","memory":"158MiB","bandwidth":"173.54KB/s","input_bw":"10.05GB/s","status_2xx":6338,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":2023,"avg_latency":"15.78ms","p99_latency":"72.40ms","cpu":"2914.6%","memory":"21.8GiB","bandwidth":"255.31KB/s","input_bw":"16.05GB/s","status_2xx":10119,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":956,"avg_latency":"33.42ms","p99_latency":"159.20ms","cpu":"2722.2%","memory":"30.8GiB","bandwidth":"152.42KB/s","input_bw":"7.58GB/s","status_2xx":4782,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2029,"avg_latency":"15.75ms","p99_latency":"44.10ms","cpu":"3062.6%","memory":"3.8GiB","bandwidth":"295.60KB/s","input_bw":"16.09GB/s","status_2xx":10145,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2024,"avg_latency":"15.78ms","p99_latency":"44.20ms","cpu":"3089.6%","memory":"5.4GiB","bandwidth":"247.48KB/s","input_bw":"16.05GB/s","status_2xx":10121,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":1815,"avg_latency":"17.60ms","p99_latency":"112.30ms","cpu":"2332.1%","memory":"4.9GiB","bandwidth":"271.40KB/s","input_bw":"14.40GB/s","status_2xx":9075,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1550,"avg_latency":"20.55ms","p99_latency":"128.50ms","cpu":"3505.8%","memory":"2.7GiB","bandwidth":"190.97KB/s","input_bw":"12.29GB/s","status_2xx":7752,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":3000,"avg_latency":"10.60ms","p99_latency":"36.50ms","cpu":"2519.9%","memory":"89.7MiB","bandwidth":"378.90KB/s","input_bw":"23.80GB/s","status_2xx":15034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":128,"avg_latency":"238.95ms","p99_latency":"1.04s","cpu":"989.2%","memory":"2.3GiB","bandwidth":"20.53KB/s","input_bw":"1.02GB/s","status_2xx":644,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":2420,"avg_latency":"13.17ms","p99_latency":"61.60ms","cpu":"1946.6%","memory":"447MiB","bandwidth":"168.33KB/s","input_bw":"19.19GB/s","status_2xx":12100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":3028,"avg_latency":"10.53ms","p99_latency":"40.40ms","cpu":"1811.1%","memory":"102MiB","bandwidth":"361.30KB/s","input_bw":"24.02GB/s","status_2xx":15142,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":1529,"avg_latency":"20.84ms","p99_latency":"110.60ms","cpu":"3240.4%","memory":"1.4GiB","bandwidth":"128.81KB/s","input_bw":"12.13GB/s","status_2xx":7649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":1637,"avg_latency":"19.48ms","p99_latency":"95.00ms","cpu":"3133.0%","memory":"1.4GiB","bandwidth":"137.90KB/s","input_bw":"12.98GB/s","status_2xx":8189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":920,"avg_latency":"34.65ms","p99_latency":"277.90ms","cpu":"1698.5%","memory":"4.0GiB","bandwidth":"112.54KB/s","input_bw":"7.30GB/s","status_2xx":4602,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":590,"avg_latency":"53.52ms","p99_latency":"339.80ms","cpu":"2167.4%","memory":"694MiB","bandwidth":"54.92KB/s","input_bw":"4.68GB/s","status_2xx":2952,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1404,"avg_latency":"22.76ms","p99_latency":"81.10ms","cpu":"2924.9%","memory":"1.6GiB","bandwidth":"242.95KB/s","input_bw":"11.14GB/s","status_2xx":7022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1112,"avg_latency":"28.75ms","p99_latency":"89.50ms","cpu":"3398.3%","memory":"21.6GiB","bandwidth":"211.93KB/s","input_bw":"8.82GB/s","status_2xx":5560,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":2141,"avg_latency":"14.92ms","p99_latency":"41.40ms","cpu":"2057.8%","memory":"362MiB","bandwidth":"525.15KB/s","input_bw":"16.98GB/s","status_2xx":10706,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1041,"avg_latency":"30.74ms","p99_latency":"93.70ms","cpu":"3428.3%","memory":"7.0GiB","bandwidth":"208.58KB/s","input_bw":"8.26GB/s","status_2xx":5207,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":2766,"avg_latency":"11.54ms","p99_latency":"32.00ms","cpu":"1295.4%","memory":"1.8GiB","bandwidth":"357.04KB/s","input_bw":"21.94GB/s","status_2xx":13831,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1289,"avg_latency":"24.85ms","p99_latency":"85.90ms","cpu":"3980.5%","memory":"6.7GiB","bandwidth":"133.73KB/s","input_bw":"10.22GB/s","status_2xx":6446,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":599,"avg_latency":"53.12ms","p99_latency":"187.80ms","cpu":"1588.6%","memory":"7.6GiB","bandwidth":"96.68KB/s","input_bw":"4.75GB/s","status_2xx":2996,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":923,"avg_latency":"34.53ms","p99_latency":"126.60ms","cpu":"3060.2%","memory":"11.3GiB","bandwidth":"203.91KB/s","input_bw":"7.32GB/s","status_2xx":4616,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":2671,"avg_latency":"11.95ms","p99_latency":"34.10ms","cpu":"2443.5%","memory":"392MiB","bandwidth":"355.26KB/s","input_bw":"21.19GB/s","status_2xx":13359,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2828,"avg_latency":"11.27ms","p99_latency":"31.70ms","cpu":"2011.2%","memory":"354MiB","bandwidth":"403.73KB/s","input_bw":"22.43GB/s","status_2xx":14141,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":438,"avg_latency":"72.08ms","p99_latency":"441.80ms","cpu":"466.5%","memory":"4.8GiB","bandwidth":"52.78KB/s","input_bw":"3.47GB/s","status_2xx":2193,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":949,"avg_latency":"33.62ms","p99_latency":"130.70ms","cpu":"3010.2%","memory":"8.9GiB","bandwidth":"86.44KB/s","input_bw":"7.53GB/s","status_2xx":4747,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2728,"avg_latency":"2.25ms","p99_latency":"9.74ms","cpu":"1964.5%","memory":"1.1GiB","bandwidth":"325.61KB/s","input_bw":"21.64GB/s","status_2xx":13643,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":403,"avg_latency":"79.69ms","p99_latency":"312.20ms","cpu":"2958.5%","memory":"6.9GiB","bandwidth":"85.19KB/s","input_bw":"3.20GB/s","status_2xx":2018,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1878,"avg_latency":"17.14ms","p99_latency":"75.10ms","cpu":"3077.3%","memory":"2.1GiB","bandwidth":"269.91KB/s","input_bw":"14.90GB/s","status_2xx":9390,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":0,"avg_latency":"0us","p99_latency":"0us","cpu":"2384.4%","memory":"468MiB","bandwidth":"0B/s","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":949,"avg_latency":"33.63ms","p99_latency":"133.90ms","cpu":"3134.5%","memory":"8.6GiB","bandwidth":"103.15KB/s","input_bw":"7.53GB/s","status_2xx":4749,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":695,"avg_latency":"46.02ms","p99_latency":"240.20ms","cpu":"2192.6%","memory":"7.7GiB","bandwidth":"93.12KB/s","input_bw":"5.51GB/s","status_2xx":3475,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":1107,"avg_latency":"28.83ms","p99_latency":"83.10ms","cpu":"2869.1%","memory":"1.1GiB","bandwidth":"139.75KB/s","input_bw":"8.78GB/s","status_2xx":5539,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":2674,"avg_latency":"11.93ms","p99_latency":"36.30ms","cpu":"2264.2%","memory":"1.0GiB","bandwidth":"313.93KB/s","input_bw":"21.21GB/s","status_2xx":13373,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2119,"avg_latency":"15.07ms","p99_latency":"82.50ms","cpu":"1930.0%","memory":"2.5GiB","bandwidth":"288.07KB/s","input_bw":"16.81GB/s","status_2xx":10596,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":279,"avg_latency":"112.67ms","p99_latency":"848.30ms","cpu":"2304.1%","memory":"660.3MiB","bandwidth":"43.66KB/s","input_bw":"2.21GB/s","status_2xx":1395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":629,"avg_latency":"50.90ms","p99_latency":"150.70ms","cpu":"1962.1%","memory":"18.6GiB","bandwidth":"105.75KB/s","input_bw":"4.99GB/s","status_2xx":3146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":2107,"avg_latency":"15.16ms","p99_latency":"70.90ms","cpu":"2234.8%","memory":"8.1GiB","bandwidth":"323.52KB/s","input_bw":"16.71GB/s","status_2xx":10538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2647,"avg_latency":"12.06ms","p99_latency":"36.90ms","cpu":"2016.3%","memory":"109MiB","bandwidth":"393.50KB/s","input_bw":"21.00GB/s","status_2xx":13239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":3009,"avg_latency":"10.60ms","p99_latency":"47.30ms","cpu":"1538.0%","memory":"249MiB","bandwidth":"447.21KB/s","input_bw":"23.87GB/s","status_2xx":15049,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2583,"avg_latency":"12.36ms","p99_latency":"57.20ms","cpu":"1855.3%","memory":"302MiB","bandwidth":"179.65KB/s","input_bw":"20.49GB/s","status_2xx":12916,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":3152,"avg_latency":"10.10ms","p99_latency":"27.70ms","cpu":"1662.5%","memory":"187MiB","bandwidth":"293.41KB/s","input_bw":"25.00GB/s","status_2xx":15796,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":2033,"avg_latency":"15.71ms","p99_latency":"96.80ms","cpu":"2973.5%","memory":"6.7GiB","bandwidth":"391.39KB/s","input_bw":"16.13GB/s","status_2xx":10165,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":701,"avg_latency":"45.43ms","p99_latency":"126.00ms","cpu":"3272.2%","memory":"1.1GiB","bandwidth":"102.26KB/s","input_bw":"5.56GB/s","status_2xx":3509,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":1668,"avg_latency":"19.11ms","p99_latency":"84.00ms","cpu":"2698.9%","memory":"3.2GiB","bandwidth":"259.42KB/s","input_bw":"13.23GB/s","status_2xx":8344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2960,"avg_latency":"10.77ms","p99_latency":"35.10ms","cpu":"2046.4%","memory":"134MiB","bandwidth":"324.59KB/s","input_bw":"23.48GB/s","status_2xx":14833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2673,"avg_latency":"11.93ms","p99_latency":"45.40ms","cpu":"1917.1%","memory":"1.3GiB","bandwidth":"292.93KB/s","input_bw":"21.20GB/s","status_2xx":13369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":16,"avg_latency":"857.75ms","p99_latency":"1.78s","cpu":"1525.2%","memory":"1.6GiB","bandwidth":"1.34KB/s","input_bw":"129.95MB/s","status_2xx":82,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":596,"avg_latency":"53.45ms","p99_latency":"306.60ms","cpu":"2071.9%","memory":"792MiB","bandwidth":"55.47KB/s","input_bw":"4.73GB/s","status_2xx":2982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":8185,"avg_latency":"3.88ms","p99_latency":"10.90ms","cpu":"1065.4%","memory":"124MiB","bandwidth":"569.93KB/s","input_bw":"64.92GB/s","status_2xx":41007,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"upload-256":[{"fw":"actix","lang":"Rust","rps":3062,"avg_latency":"77.31ms","p99_latency":"289.60ms","cpu":"3231.4%","memory":"308MiB","bandwidth":"413.18KB/s","input_bw":"24.29GB/s","status_2xx":15403,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":597,"avg_latency":"379.69ms","p99_latency":"2.37s","cpu":"5571.7%","memory":"31.5GiB","bandwidth":"94.72KB/s","input_bw":"4.74GB/s","status_2xx":2989,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1541,"avg_latency":"161.46ms","p99_latency":"767.40ms","cpu":"6428.0%","memory":"334MiB","bandwidth":"250.23KB/s","input_bw":"12.22GB/s","status_2xx":7708,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1534,"avg_latency":"162.36ms","p99_latency":"801.90ms","cpu":"6221.6%","memory":"278.2MiB","bandwidth":"226.52KB/s","input_bw":"12.17GB/s","status_2xx":7671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1610,"avg_latency":"151.75ms","p99_latency":"924.90ms","cpu":"5289.9%","memory":"8.6GiB","bandwidth":"308.53KB/s","input_bw":"12.77GB/s","status_2xx":8051,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1547,"avg_latency":"161.23ms","p99_latency":"792.20ms","cpu":"6405.0%","memory":"345MiB","bandwidth":"245.08KB/s","input_bw":"12.27GB/s","status_2xx":7737,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":920,"avg_latency":"256.85ms","p99_latency":"1.55s","cpu":"4857.4%","memory":"4.2GiB","bandwidth":"115.38KB/s","input_bw":"7.30GB/s","status_2xx":4600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":646,"avg_latency":"365.94ms","p99_latency":"1.36s","cpu":"6235.8%","memory":"9.1GiB","bandwidth":"77.90KB/s","input_bw":"5.12GB/s","status_2xx":3244,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":933,"avg_latency":"264.64ms","p99_latency":"462.90ms","cpu":"5808.2%","memory":"4.1GiB","bandwidth":"146.07KB/s","input_bw":"7.40GB/s","status_2xx":4666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":2333,"avg_latency":"107.95ms","p99_latency":"546.30ms","cpu":"5745.6%","memory":"508MiB","bandwidth":"346.69KB/s","input_bw":"18.50GB/s","status_2xx":11666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1570,"avg_latency":"156.00ms","p99_latency":"1.21s","cpu":"8177.7%","memory":"3.0GiB","bandwidth":"190.72KB/s","input_bw":null,"status_2xx":7866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":2104,"avg_latency":"119.43ms","p99_latency":"636.00ms","cpu":"6252.1%","memory":"6.0GiB","bandwidth":"431.89KB/s","input_bw":"16.69GB/s","status_2xx":10522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":1536,"avg_latency":"161.36ms","p99_latency":"811.10ms","cpu":"6271.6%","memory":"4.8GiB","bandwidth":"210.38KB/s","input_bw":"12.18GB/s","status_2xx":7682,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1529,"avg_latency":"163.31ms","p99_latency":"779.20ms","cpu":"6296.6%","memory":"359MiB","bandwidth":"246.75KB/s","input_bw":"12.13GB/s","status_2xx":7647,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":862,"avg_latency":"154.52ms","p99_latency":"2.56s","cpu":"1059.6%","memory":"7.8GiB","bandwidth":"95.56KB/s","input_bw":"6.84GB/s","status_2xx":4323,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1902,"avg_latency":"131.23ms","p99_latency":"647.40ms","cpu":"6337.1%","memory":"6.7GiB","bandwidth":"321.84KB/s","input_bw":"15.09GB/s","status_2xx":9514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1608,"avg_latency":"144.80ms","p99_latency":"1.16s","cpu":"6486.7%","memory":"5.0GiB","bandwidth":"267.61KB/s","input_bw":"12.75GB/s","status_2xx":8057,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1473,"avg_latency":"159.95ms","p99_latency":"1.39s","cpu":"4955.4%","memory":"4.4GiB","bandwidth":"244.88KB/s","input_bw":"11.68GB/s","status_2xx":7369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1993,"avg_latency":"128.54ms","p99_latency":"310.60ms","cpu":"6154.5%","memory":"15.3GiB","bandwidth":"259.15KB/s","input_bw":"15.81GB/s","status_2xx":9967,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":1415,"avg_latency":"179.25ms","p99_latency":"297.30ms","cpu":"6232.8%","memory":"3.3GiB","bandwidth":"220.00KB/s","input_bw":"11.22GB/s","status_2xx":7076,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":1231,"avg_latency":"196.55ms","p99_latency":"874.20ms","cpu":"5811.4%","memory":"7.6GiB","bandwidth":"241.05KB/s","input_bw":"9.76GB/s","status_2xx":6221,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":735,"avg_latency":"156.20ms","p99_latency":"905.40ms","cpu":"2531.8%","memory":"4.1GiB","bandwidth":"82.81KB/s","input_bw":"5.83GB/s","status_2xx":7712,"status_3xx":0,"status_4xx":19,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2137,"avg_latency":"116.17ms","p99_latency":"917.40ms","cpu":"6038.0%","memory":"7.1GiB","bandwidth":"393.24KB/s","input_bw":"16.95GB/s","status_2xx":10711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":1491,"avg_latency":"158.28ms","p99_latency":"1.79s","cpu":"6331.5%","memory":"552MiB","bandwidth":"217.39KB/s","input_bw":"11.83GB/s","status_2xx":7459,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2933,"avg_latency":"80.89ms","p99_latency":"326.20ms","cpu":"3854.2%","memory":"235MiB","bandwidth":"384.33KB/s","input_bw":"23.26GB/s","status_2xx":14758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2230,"avg_latency":"102.65ms","p99_latency":"478.80ms","cpu":"5656.3%","memory":"822MiB","bandwidth":"287.72KB/s","input_bw":"17.69GB/s","status_2xx":11152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1552,"avg_latency":"160.99ms","p99_latency":"756.80ms","cpu":"6406.4%","memory":"390MiB","bandwidth":"215.62KB/s","input_bw":"12.31GB/s","status_2xx":7764,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1534,"avg_latency":"162.21ms","p99_latency":"822.10ms","cpu":"6390.3%","memory":"322MiB","bandwidth":"210.15KB/s","input_bw":"12.17GB/s","status_2xx":7673,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":2155,"avg_latency":"114.26ms","p99_latency":"484.30ms","cpu":"6344.5%","memory":"48.9GiB","bandwidth":"272.11KB/s","input_bw":"17.09GB/s","status_2xx":10866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":768,"avg_latency":"310.95ms","p99_latency":"1.69s","cpu":"6065.2%","memory":"45.2GiB","bandwidth":"122.52KB/s","input_bw":"6.09GB/s","status_2xx":3843,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2292,"avg_latency":"109.71ms","p99_latency":"375.90ms","cpu":"6111.5%","memory":"5.8GiB","bandwidth":"334.39KB/s","input_bw":"18.18GB/s","status_2xx":11485,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2292,"avg_latency":"110.50ms","p99_latency":"386.00ms","cpu":"6142.0%","memory":"5.9GiB","bandwidth":"280.57KB/s","input_bw":"18.18GB/s","status_2xx":11486,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":1720,"avg_latency":"144.55ms","p99_latency":"904.40ms","cpu":"6302.2%","memory":"8.2GiB","bandwidth":"257.35KB/s","input_bw":"13.64GB/s","status_2xx":8602,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1617,"avg_latency":"151.80ms","p99_latency":"1.15s","cpu":"7987.0%","memory":"3.2GiB","bandwidth":"199.59KB/s","input_bw":"12.83GB/s","status_2xx":8103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":3156,"avg_latency":"74.74ms","p99_latency":"256.50ms","cpu":"3914.8%","memory":"183.8MiB","bandwidth":"398.42KB/s","input_bw":"25.03GB/s","status_2xx":15908,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":161,"avg_latency":"949.70ms","p99_latency":"4.58s","cpu":"923.6%","memory":"3.9GiB","bandwidth":"25.65KB/s","input_bw":"1.28GB/s","status_2xx":806,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":3179,"avg_latency":"64.39ms","p99_latency":"290.50ms","cpu":"5707.0%","memory":"501MiB","bandwidth":"220.17KB/s","input_bw":"25.22GB/s","status_2xx":15930,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2992,"avg_latency":"77.61ms","p99_latency":"225.50ms","cpu":"3377.7%","memory":"126MiB","bandwidth":"357.31KB/s","input_bw":"23.73GB/s","status_2xx":15052,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":1833,"avg_latency":"134.47ms","p99_latency":"714.00ms","cpu":"4740.0%","memory":"1.5GiB","bandwidth":"154.46KB/s","input_bw":"14.54GB/s","status_2xx":9169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":1861,"avg_latency":"133.49ms","p99_latency":"580.30ms","cpu":"4606.5%","memory":"1.5GiB","bandwidth":"156.82KB/s","input_bw":"14.76GB/s","status_2xx":9306,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":1003,"avg_latency":"227.40ms","p99_latency":"2.02s","cpu":"3350.3%","memory":"6.6GiB","bandwidth":"122.64KB/s","input_bw":"7.96GB/s","status_2xx":5015,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":463,"avg_latency":"484.63ms","p99_latency":"2.14s","cpu":"5995.6%","memory":"2.4GiB","bandwidth":"43.16KB/s","input_bw":"3.67GB/s","status_2xx":2317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1471,"avg_latency":"167.77ms","p99_latency":"1.03s","cpu":"4773.8%","memory":"4.8GiB","bandwidth":"254.57KB/s","input_bw":"11.67GB/s","status_2xx":7358,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1093,"avg_latency":"225.81ms","p99_latency":"980.80ms","cpu":"6492.3%","memory":"29.7GiB","bandwidth":"208.40KB/s","input_bw":"8.67GB/s","status_2xx":5469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":2807,"avg_latency":"85.98ms","p99_latency":"345.70ms","cpu":"5599.6%","memory":"766MiB","bandwidth":"689.51KB/s","input_bw":"22.26GB/s","status_2xx":14095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":869,"avg_latency":"282.75ms","p99_latency":"1.02s","cpu":"10244.2%","memory":"10.7GiB","bandwidth":"174.24KB/s","input_bw":"6.89GB/s","status_2xx":4357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":2541,"avg_latency":"100.27ms","p99_latency":"141.70ms","cpu":"1379.6%","memory":"2.4GiB","bandwidth":"328.05KB/s","input_bw":"20.15GB/s","status_2xx":12707,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1791,"avg_latency":"138.28ms","p99_latency":"742.90ms","cpu":"6567.2%","memory":"10.4GiB","bandwidth":"186.06KB/s","input_bw":"14.21GB/s","status_2xx":8974,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":856,"avg_latency":"281.78ms","p99_latency":"1.09s","cpu":"6339.7%","memory":"10.9GiB","bandwidth":"138.15KB/s","input_bw":"6.79GB/s","status_2xx":4280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":892,"avg_latency":"271.99ms","p99_latency":"1.45s","cpu":"6350.3%","memory":"8.3GiB","bandwidth":"197.04KB/s","input_bw":"7.08GB/s","status_2xx":4460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":2894,"avg_latency":"81.50ms","p99_latency":"324.30ms","cpu":"4590.8%","memory":"384MiB","bandwidth":"385.20KB/s","input_bw":"22.95GB/s","status_2xx":14561,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2923,"avg_latency":"47.58ms","p99_latency":"188.60ms","cpu":"4537.5%","memory":"523MiB","bandwidth":"417.28KB/s","input_bw":"23.18GB/s","status_2xx":14677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":807,"avg_latency":"291.55ms","p99_latency":"1.77s","cpu":"5265.1%","memory":"14.4GiB","bandwidth":"97.16KB/s","input_bw":"6.40GB/s","status_2xx":4038,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":900,"avg_latency":"268.71ms","p99_latency":"1.56s","cpu":"6366.2%","memory":"8.1GiB","bandwidth":"81.97KB/s","input_bw":"7.14GB/s","status_2xx":4501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2666,"avg_latency":"28.19ms","p99_latency":"116.80ms","cpu":"5446.5%","memory":"1.2GiB","bandwidth":"318.69KB/s","input_bw":"21.15GB/s","status_2xx":13361,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":479,"avg_latency":"487.97ms","p99_latency":"2.34s","cpu":"3713.2%","memory":"9.3GiB","bandwidth":"101.21KB/s","input_bw":"3.80GB/s","status_2xx":2397,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1989,"avg_latency":"126.46ms","p99_latency":"788.10ms","cpu":"5648.0%","memory":"5.8GiB","bandwidth":"285.89KB/s","input_bw":"15.78GB/s","status_2xx":9946,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":0,"avg_latency":"0us","p99_latency":"0us","cpu":"5411.2%","memory":"496MiB","bandwidth":"0B/s","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":921,"avg_latency":"262.84ms","p99_latency":"1.39s","cpu":"6288.4%","memory":"8.3GiB","bandwidth":"100.03KB/s","input_bw":"7.31GB/s","status_2xx":4606,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":824,"avg_latency":"295.37ms","p99_latency":"1.10s","cpu":"3573.0%","memory":"30.6GiB","bandwidth":"110.53KB/s","input_bw":"6.54GB/s","status_2xx":4124,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":1185,"avg_latency":"208.46ms","p99_latency":"1.14s","cpu":"5203.3%","memory":"1.7GiB","bandwidth":"149.53KB/s","input_bw":"9.40GB/s","status_2xx":5926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":2924,"avg_latency":"81.05ms","p99_latency":"336.50ms","cpu":"3737.2%","memory":"1.1GiB","bandwidth":"343.44KB/s","input_bw":"23.19GB/s","status_2xx":14741,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2204,"avg_latency":"112.56ms","p99_latency":"727.00ms","cpu":"5325.6%","memory":"2.6GiB","bandwidth":"299.66KB/s","input_bw":"17.48GB/s","status_2xx":11020,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":343,"avg_latency":"591.10ms","p99_latency":"3.23s","cpu":"7531.6%","memory":"1.7GiB","bandwidth":"53.73KB/s","input_bw":"2.72GB/s","status_2xx":1717,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":1616,"avg_latency":"72.02ms","p99_latency":"785.00ms","cpu":"1324.5%","memory":"15.1GiB","bandwidth":"193.06KB/s","input_bw":"12.82GB/s","status_2xx":16881,"status_3xx":0,"status_4xx":31,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":2271,"avg_latency":"110.40ms","p99_latency":"621.10ms","cpu":"6489.1%","memory":"13.8GiB","bandwidth":"348.56KB/s","input_bw":"18.01GB/s","status_2xx":11359,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":3053,"avg_latency":"77.77ms","p99_latency":"299.30ms","cpu":"3081.2%","memory":"204MiB","bandwidth":"454.01KB/s","input_bw":"24.22GB/s","status_2xx":15357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":3069,"avg_latency":"77.15ms","p99_latency":"284.10ms","cpu":"2993.0%","memory":"275MiB","bandwidth":"456.67KB/s","input_bw":"24.34GB/s","status_2xx":15469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3022,"avg_latency":"80.13ms","p99_latency":"336.60ms","cpu":"3622.3%","memory":"520MiB","bandwidth":"210.33KB/s","input_bw":"23.97GB/s","status_2xx":15173,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":3053,"avg_latency":"77.28ms","p99_latency":"251.20ms","cpu":"3797.3%","memory":"279MiB","bandwidth":"283.98KB/s","input_bw":"24.22GB/s","status_2xx":15331,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":2143,"avg_latency":"114.72ms","p99_latency":"884.40ms","cpu":"6202.8%","memory":"7.2GiB","bandwidth":"412.56KB/s","input_bw":"17.00GB/s","status_2xx":10716,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":634,"avg_latency":"373.51ms","p99_latency":"1.08s","cpu":"6595.3%","memory":"3.6GiB","bandwidth":"92.58KB/s","input_bw":"5.03GB/s","status_2xx":3179,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":1174,"avg_latency":"208.56ms","p99_latency":"1.04s","cpu":"6289.7%","memory":"3.4GiB","bandwidth":"182.59KB/s","input_bw":"9.31GB/s","status_2xx":5872,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":3009,"avg_latency":"77.93ms","p99_latency":"266.20ms","cpu":"3666.7%","memory":"292MiB","bandwidth":"329.98KB/s","input_bw":"23.87GB/s","status_2xx":15140,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":3043,"avg_latency":"77.86ms","p99_latency":"293.50ms","cpu":"3463.3%","memory":"1.4GiB","bandwidth":"333.47KB/s","input_bw":"24.14GB/s","status_2xx":15277,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":5,"avg_latency":"4.07s","p99_latency":"4.76s","cpu":"1424.8%","memory":"2.3GiB","bandwidth":"415B/s","input_bw":"40.61MB/s","status_2xx":25,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":470,"avg_latency":"475.90ms","p99_latency":"2.13s","cpu":"5819.0%","memory":"2.5GiB","bandwidth":"43.83KB/s","input_bw":"3.73GB/s","status_2xx":2353,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":6661,"avg_latency":"38.12ms","p99_latency":"45.10ms","cpu":"943.2%","memory":"130MiB","bandwidth":"463.46KB/s","input_bw":"52.83GB/s","status_2xx":33441,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-1024":[{"fw":"actix","lang":"Rust","rps":56896,"avg_latency":"21.84ms","p99_latency":"568.85ms","cpu":"6221.9%","memory":"4.7GiB","bandwidth":"0.88GB","input_bw":null,"status_2xx":290176,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":23151,"avg_latency":"46.37ms","p99_latency":"46.37ms","cpu":"6521.7%","memory":"7.5GiB","bandwidth":"413.48MB","input_bw":null,"status_2xx":118056,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":354825,"avg_latency":"3.01ms","p99_latency":"26.00ms","cpu":"5200.5%","memory":"262MiB","bandwidth":"5.48GB","input_bw":null,"status_2xx":1809686,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":621194,"avg_latency":"1.67ms","p99_latency":"1.67ms","cpu":"6227.7%","memory":"924.3MiB","bandwidth":"9.50GB","input_bw":"","status_2xx":3167736,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":332365,"avg_latency":"4.88ms","p99_latency":"129.65ms","cpu":"6159.1%","memory":"1.7GiB","bandwidth":"5.14GB","input_bw":null,"status_2xx":1694947,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":115594,"avg_latency":"9.02ms","p99_latency":"61.19ms","cpu":"6032.9%","memory":"367MiB","bandwidth":"3.10GB","input_bw":null,"status_2xx":586997,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":470717,"avg_latency":"10.90ms","p99_latency":"44.79ms","cpu":"2821.1%","memory":"173MiB","bandwidth":"7.19GB","input_bw":null,"status_2xx":2400612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":194411,"avg_latency":"5.26ms","p99_latency":"39.76ms","cpu":"6353.7%","memory":"1.4GiB","bandwidth":"2.97GB","input_bw":null,"status_2xx":991352,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":81758,"avg_latency":"11.16ms","p99_latency":"11.16ms","cpu":"4116.5%","memory":"2.5GiB","bandwidth":"4.86GB","input_bw":null,"status_2xx":416994,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":433103,"avg_latency":"2.68ms","p99_latency":"91.41ms","cpu":"5648.7%","memory":"502MiB","bandwidth":"6.68GB","input_bw":null,"status_2xx":2208599,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":554634,"avg_latency":"2.18ms","p99_latency":null,"cpu":"5806.4%","memory":"2.2GiB","bandwidth":"32.94GB","input_bw":null,"status_2xx":2828532,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":23513,"avg_latency":"45.58ms","p99_latency":"314.40ms","cpu":"6726.6%","memory":"5.3GiB","bandwidth":"433.53MB","input_bw":null,"status_2xx":119758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":22055,"avg_latency":"45.97ms","p99_latency":"160.67ms","cpu":"6702.8%","memory":"5.3GiB","bandwidth":"397.42MB","input_bw":null,"status_2xx":112102,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":351371,"avg_latency":"3.02ms","p99_latency":"20.84ms","cpu":"5067.6%","memory":"250MiB","bandwidth":"5.43GB","input_bw":null,"status_2xx":1792027,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":872977,"avg_latency":"1.81ms","p99_latency":"105.70ms","cpu":"6472.8%","memory":"243MiB","bandwidth":"51.79GB","input_bw":null,"status_2xx":4452101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":23532,"avg_latency":"46.17ms","p99_latency":"311.27ms","cpu":"6564.1%","memory":"7.2GiB","bandwidth":"434.08MB","input_bw":null,"status_2xx":119641,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":924086,"avg_latency":"1.13ms","p99_latency":"1.13ms","cpu":"6786.1%","memory":"1.2GiB","bandwidth":"14.15GB","input_bw":null,"status_2xx":4712736,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1334655,"avg_latency":"731.39us","p99_latency":"731.39us","cpu":"6464.2%","memory":"417MiB","bandwidth":"20.44GB","input_bw":null,"status_2xx":6807064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":366300,"avg_latency":"5.60ms","p99_latency":null,"cpu":"4001.1%","memory":"7.5GiB","bandwidth":"5.60GB","input_bw":null,"status_2xx":1867901,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":51088,"avg_latency":"18.08ms","p99_latency":"18.08ms","cpu":"4291.0%","memory":"3.2GiB","bandwidth":"3.04GB","input_bw":null,"status_2xx":260504,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":509807,"avg_latency":"2.02ms","p99_latency":null,"cpu":"6484.6%","memory":"3.1GiB","bandwidth":"7.82GB","input_bw":"","status_2xx":2599848,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":120684,"avg_latency":"14.52ms","p99_latency":"14.52ms","cpu":"3627.0%","memory":"563.3MiB","bandwidth":"1.83GB","input_bw":"","status_2xx":615494,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":536370,"avg_latency":"2.01ms","p99_latency":"24.01ms","cpu":"6506.6%","memory":"7.3GiB","bandwidth":"8.23GB","input_bw":null,"status_2xx":2735556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":249259,"avg_latency":"10.33ms","p99_latency":null,"cpu":"5646.9%","memory":"574MiB","bandwidth":"4.46GB","input_bw":null,"status_2xx":1271024,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":898180,"avg_latency":"1.80ms","p99_latency":"50.15ms","cpu":"5784.6%","memory":"242MiB","bandwidth":"13.74GB","input_bw":null,"status_2xx":4580824,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":826851,"avg_latency":"1.43ms","p99_latency":"26.06ms","cpu":"6126.0%","memory":"419MiB","bandwidth":"12.66GB","input_bw":null,"status_2xx":4216808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":527545,"avg_latency":"1.98ms","p99_latency":"19.17ms","cpu":"5703.3%","memory":"355MiB","bandwidth":"8.07GB","input_bw":null,"status_2xx":2689956,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":242975,"avg_latency":"6.13ms","p99_latency":null,"cpu":"5855.8%","memory":"270MiB","bandwidth":"4.35GB","input_bw":null,"status_2xx":1239235,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":653856,"avg_latency":"2.08ms","p99_latency":"2.08ms","cpu":"5648.7%","memory":"99.4MiB","bandwidth":"38.83GB","input_bw":"","status_2xx":3335078,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":856022,"avg_latency":"1.13ms","p99_latency":"1.13ms","cpu":"6491.6%","memory":"101MiB","bandwidth":"50.91GB","input_bw":null,"status_2xx":4366047,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":27717,"avg_latency":"36.98ms","p99_latency":"36.98ms","cpu":"6285.1%","memory":"2.2GiB","bandwidth":"490.64MB","input_bw":"","status_2xx":140935,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":343964,"avg_latency":"8.57ms","p99_latency":null,"cpu":"5833.2%","memory":"5.0GiB","bandwidth":"5.27GB","input_bw":"","status_2xx":1748247,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":216124,"avg_latency":"5.38ms","p99_latency":"57.51ms","cpu":"3515.8%","memory":"362MiB","bandwidth":"12.85GB","input_bw":null,"status_2xx":1102262,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":545190,"avg_latency":"2.19ms","p99_latency":"2.19ms","cpu":"5793.4%","memory":"1.7GiB","bandwidth":"32.35GB","input_bw":"","status_2xx":2780310,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":389096,"avg_latency":"4.43ms","p99_latency":"4.43ms","cpu":"6331.0%","memory":"67.4MiB","bandwidth":"5.95GB","input_bw":"","status_2xx":1984225,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":82965,"avg_latency":"12.20ms","p99_latency":null,"cpu":"886.7%","memory":"1.8GiB","bandwidth":"4.93GB","input_bw":null,"status_2xx":423154,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":921910,"avg_latency":"1.06ms","p99_latency":"7.28ms","cpu":"6532.4%","memory":"327MiB","bandwidth":"14.06GB","input_bw":null,"status_2xx":4702021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1771673,"avg_latency":"493.72us","p99_latency":"4.96ms","cpu":"4033.8%","memory":"111MiB","bandwidth":"27.04GB","input_bw":null,"status_2xx":9035418,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":284595,"avg_latency":"4.06ms","p99_latency":"4.06ms","cpu":"6115.3%","memory":"4.3GiB","bandwidth":"4.34GB","input_bw":null,"status_2xx":1451280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":271389,"avg_latency":"4.95ms","p99_latency":"144.40ms","cpu":"6159.7%","memory":"3.6GiB","bandwidth":"4.14GB","input_bw":null,"status_2xx":1383854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":288784,"avg_latency":"3.56ms","p99_latency":"90.19ms","cpu":"6505.1%","memory":"193MiB","bandwidth":"17.14GB","input_bw":null,"status_2xx":1472875,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":495331,"avg_latency":"2.07ms","p99_latency":"9.30ms","cpu":"6587.3%","memory":"237MiB","bandwidth":"12.02GB","input_bw":null,"status_2xx":2526225,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":342219,"avg_latency":"3.16ms","p99_latency":"42.26ms","cpu":"6619.0%","memory":"3.7GiB","bandwidth":"5.88GB","input_bw":null,"status_2xx":1745286,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":1032152,"avg_latency":"1.47ms","p99_latency":"1.47ms","cpu":"6515.2%","memory":"4.4GiB","bandwidth":"17.66GB","input_bw":"","status_2xx":5263792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":26886,"avg_latency":"38.92ms","p99_latency":"331.03ms","cpu":"1180.2%","memory":"406MiB","bandwidth":"422.92MB","input_bw":null,"status_2xx":136564,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1055305,"avg_latency":"1.47ms","p99_latency":"1.47ms","cpu":"6503.2%","memory":"3.7GiB","bandwidth":"18.06GB","input_bw":"","status_2xx":5381594,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":266139,"avg_latency":"3.92ms","p99_latency":"3.92ms","cpu":"6548.0%","memory":"2.3GiB","bandwidth":"15.80GB","input_bw":null,"status_2xx":1357395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":828338,"avg_latency":"1.24ms","p99_latency":"1.24ms","cpu":"6512.0%","memory":"8.3GiB","bandwidth":"12.62GB","input_bw":"","status_2xx":4224711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":992019,"avg_latency":"1.48ms","p99_latency":"1.48ms","cpu":"6678.0%","memory":"3.5GiB","bandwidth":"17.03GB","input_bw":null,"status_2xx":5033906,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":123740,"avg_latency":"8.42ms","p99_latency":"74.85ms","cpu":"6506.0%","memory":"9.0GiB","bandwidth":"1.90GB","input_bw":null,"status_2xx":631079,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":224733,"avg_latency":"7.07ms","p99_latency":"204.21ms","cpu":"6451.6%","memory":"4.8GiB","bandwidth":"13.34GB","input_bw":null,"status_2xx":1146062,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":16184,"avg_latency":"25.77ms","p99_latency":"25.77ms","cpu":"1091.1%","memory":"172MiB","bandwidth":"283.57MB","input_bw":null,"status_2xx":82420,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":206900,"avg_latency":"5.62ms","p99_latency":"5.62ms","cpu":"6443.9%","memory":"1.3GiB","bandwidth":"12.30GB","input_bw":null,"status_2xx":1055338,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":141669,"avg_latency":"7.61ms","p99_latency":"73.92ms","cpu":"6539.8%","memory":"5.6GiB","bandwidth":"2.17GB","input_bw":null,"status_2xx":722507,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1360501,"avg_latency":"703.64us","p99_latency":"14.79ms","cpu":"6454.6%","memory":"2.4GiB","bandwidth":"20.81GB","input_bw":null,"status_2xx":6938130,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":362212,"avg_latency":"2.93ms","p99_latency":null,"cpu":"5210.7%","memory":"249MiB","bandwidth":"5.59GB","input_bw":null,"status_2xx":1846979,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":71621,"avg_latency":"17.24ms","p99_latency":"166.97ms","cpu":"4767.5%","memory":"928MiB","bandwidth":"1.64GB","input_bw":null,"status_2xx":365204,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":276756,"avg_latency":"3.86ms","p99_latency":"33.12ms","cpu":"5749.8%","memory":"805MiB","bandwidth":"5.30GB","input_bw":null,"status_2xx":1411454,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":23486,"avg_latency":"43.83ms","p99_latency":"43.83ms","cpu":"6528.3%","memory":"6.6GiB","bandwidth":"418.66MB","input_bw":null,"status_2xx":119767,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":42398,"avg_latency":"24.48ms","p99_latency":"163.30ms","cpu":"6156.3%","memory":"491MiB","bandwidth":"777.07MB","input_bw":null,"status_2xx":215386,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":34930,"avg_latency":"28.29ms","p99_latency":null,"cpu":"1161.0%","memory":"707MiB","bandwidth":"548.60MB","input_bw":null,"status_2xx":177630,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":33205,"avg_latency":"32.66ms","p99_latency":"32.66ms","cpu":"7387.3%","memory":"1.1GiB","bandwidth":"699.83MB","input_bw":"","status_2xx":168926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1421524,"avg_latency":"446.67us","p99_latency":null,"cpu":"5636.1%","memory":"1.1GiB","bandwidth":"21.77GB","input_bw":null,"status_2xx":7250022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1124608,"avg_latency":"1.43ms","p99_latency":null,"cpu":"6557.2%","memory":"230.3MiB","bandwidth":"17.23GB","input_bw":"","status_2xx":5734777,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":129756,"avg_latency":"12.48ms","p99_latency":"12.48ms","cpu":"4397.5%","memory":"1.2GiB","bandwidth":"1.71GB","input_bw":null,"status_2xx":659348,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":592848,"avg_latency":"8.84ms","p99_latency":"8.84ms","cpu":"3309.0%","memory":"282MiB","bandwidth":"9.08GB","input_bw":null,"status_2xx":3023368,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":20564,"avg_latency":"46.03ms","p99_latency":"589.10ms","cpu":"2784.4%","memory":"492MiB","bandwidth":"324.96MB","input_bw":null,"status_2xx":104510,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1397,"avg_latency":"677.29ms","p99_latency":"677.29ms","cpu":"6406.8%","memory":"4.0GiB","bandwidth":"21.79MB","input_bw":null,"status_2xx":7122,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":610098,"avg_latency":"8.50ms","p99_latency":null,"cpu":"3161.7%","memory":"175MiB","bandwidth":"9.34GB","input_bw":null,"status_2xx":3111339,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1123368,"avg_latency":"25.78ms","p99_latency":null,"cpu":"6447.9%","memory":"221MiB","bandwidth":"17.14GB","input_bw":null,"status_2xx":5728879,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":413111,"avg_latency":"2.71ms","p99_latency":"35.69ms","cpu":"6474.6%","memory":"8.6GiB","bandwidth":"6.34GB","input_bw":null,"status_2xx":2106905,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":162732,"avg_latency":"6.31ms","p99_latency":"24.09ms","cpu":"6596.2%","memory":"445MiB","bandwidth":"9.67GB","input_bw":null,"status_2xx":829911,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":641456,"avg_latency":"1.59ms","p99_latency":"1.59ms","cpu":"6568.0%","memory":"3.2GiB","bandwidth":"9.82GB","input_bw":null,"status_2xx":3271197,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1795117,"avg_latency":"343.79us","p99_latency":"4.53ms","cpu":"5754.1%","memory":"99MiB","bandwidth":"27.56GB","input_bw":null,"status_2xx":9155547,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1454140,"avg_latency":"417.93us","p99_latency":"3.73ms","cpu":"5460.2%","memory":"1.0GiB","bandwidth":"22.33GB","input_bw":null,"status_2xx":7415960,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":111277,"avg_latency":"12.21ms","p99_latency":"128.77ms","cpu":"1675.5%","memory":"564MiB","bandwidth":"6.60GB","input_bw":null,"status_2xx":567593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":292011,"avg_latency":"3.52ms","p99_latency":"3.52ms","cpu":"6548.4%","memory":"246MiB","bandwidth":"17.34GB","input_bw":null,"status_2xx":1489360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2025521,"avg_latency":"300.92us","p99_latency":"3.21ms","cpu":"5488.4%","memory":"140MiB","bandwidth":"30.86GB","input_bw":null,"status_2xx":10331115,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-4096":[{"fw":"actix","lang":"Rust","rps":41434,"avg_latency":"109.48ms","p99_latency":"1.04s","cpu":"6020.3%","memory":"6.3GiB","bandwidth":"655.13MB","input_bw":null,"status_2xx":212083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":22341,"avg_latency":"163.90ms","p99_latency":"163.90ms","cpu":"6464.6%","memory":"7.3GiB","bandwidth":"402.15MB","input_bw":null,"status_2xx":114050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":349970,"avg_latency":"11.71ms","p99_latency":"449.49ms","cpu":"5889.0%","memory":"482MiB","bandwidth":"5.41GB","input_bw":null,"status_2xx":1785060,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":566785,"avg_latency":"8.47ms","p99_latency":"8.47ms","cpu":"6146.2%","memory":"966.3MiB","bandwidth":"8.67GB","input_bw":"","status_2xx":2890788,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":270051,"avg_latency":"17.56ms","p99_latency":"193.73ms","cpu":"6025.9%","memory":"2.5GiB","bandwidth":"4.17GB","input_bw":null,"status_2xx":1377386,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":114149,"avg_latency":"34.31ms","p99_latency":"494.13ms","cpu":"6173.7%","memory":"821MiB","bandwidth":"3.06GB","input_bw":null,"status_2xx":581993,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":900205,"avg_latency":"9.49ms","p99_latency":"66.03ms","cpu":"6617.6%","memory":"234MiB","bandwidth":"13.76GB","input_bw":null,"status_2xx":4590609,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":186861,"avg_latency":"21.62ms","p99_latency":"69.87ms","cpu":"6251.0%","memory":"1.5GiB","bandwidth":"2.86GB","input_bw":null,"status_2xx":945130,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":69895,"avg_latency":"43.79ms","p99_latency":"43.79ms","cpu":"3559.2%","memory":"2.5GiB","bandwidth":"4.16GB","input_bw":null,"status_2xx":356487,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":420415,"avg_latency":"15.32ms","p99_latency":"564.46ms","cpu":"6111.9%","memory":"1.3GiB","bandwidth":"6.49GB","input_bw":null,"status_2xx":2143746,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":567171,"avg_latency":"7.27ms","p99_latency":null,"cpu":"5885.7%","memory":"2.2GiB","bandwidth":"33.69GB","input_bw":null,"status_2xx":2892540,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":25046,"avg_latency":"154.51ms","p99_latency":"1.99s","cpu":"6621.8%","memory":"16.1GiB","bandwidth":"459.31MB","input_bw":null,"status_2xx":128302,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":20911,"avg_latency":"187.91ms","p99_latency":"472.21ms","cpu":"6765.1%","memory":"6.8GiB","bandwidth":"375.36MB","input_bw":null,"status_2xx":106844,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":360665,"avg_latency":"11.45ms","p99_latency":"456.74ms","cpu":"5947.3%","memory":"484MiB","bandwidth":"5.57GB","input_bw":null,"status_2xx":1839508,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":941099,"avg_latency":"5.01ms","p99_latency":"148.10ms","cpu":"6217.2%","memory":"440MiB","bandwidth":"55.83GB","input_bw":null,"status_2xx":4800784,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":24261,"avg_latency":"143.41ms","p99_latency":"969.39ms","cpu":"6546.4%","memory":"17.9GiB","bandwidth":"445.32MB","input_bw":null,"status_2xx":123745,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1001163,"avg_latency":"4.09ms","p99_latency":"4.09ms","cpu":"6717.4%","memory":"1.4GiB","bandwidth":"15.33GB","input_bw":null,"status_2xx":5105951,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1309758,"avg_latency":"3.09ms","p99_latency":"3.09ms","cpu":"6254.3%","memory":"857MiB","bandwidth":"20.05GB","input_bw":null,"status_2xx":6678719,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":352737,"avg_latency":"13.19ms","p99_latency":null,"cpu":"3938.0%","memory":"7.7GiB","bandwidth":"5.39GB","input_bw":null,"status_2xx":1798748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":48966,"avg_latency":"59.43ms","p99_latency":"59.43ms","cpu":"4173.6%","memory":"3.2GiB","bandwidth":"2.92GB","input_bw":null,"status_2xx":249487,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":488635,"avg_latency":"8.44ms","p99_latency":null,"cpu":"6440.3%","memory":"3.2GiB","bandwidth":"7.49GB","input_bw":"","status_2xx":2492271,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":172802,"avg_latency":"51.15ms","p99_latency":"51.15ms","cpu":"4465.6%","memory":"920.9MiB","bandwidth":"2.23GB","input_bw":"","status_2xx":881344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":579762,"avg_latency":"7.12ms","p99_latency":"48.26ms","cpu":"6506.1%","memory":"7.4GiB","bandwidth":"8.89GB","input_bw":null,"status_2xx":2956429,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":247996,"avg_latency":"15.88ms","p99_latency":null,"cpu":"5844.5%","memory":"1.3GiB","bandwidth":"4.44GB","input_bw":null,"status_2xx":1264678,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":786889,"avg_latency":"6.20ms","p99_latency":"279.00ms","cpu":"6181.2%","memory":"515MiB","bandwidth":"12.03GB","input_bw":null,"status_2xx":4014095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":823625,"avg_latency":"5.58ms","p99_latency":"66.55ms","cpu":"6015.2%","memory":"584MiB","bandwidth":"12.61GB","input_bw":null,"status_2xx":4201173,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":488415,"avg_latency":"10.46ms","p99_latency":"838.28ms","cpu":"6185.4%","memory":"625MiB","bandwidth":"7.47GB","input_bw":null,"status_2xx":2490778,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":231233,"avg_latency":"19.64ms","p99_latency":null,"cpu":"5918.9%","memory":"497MiB","bandwidth":"4.12GB","input_bw":null,"status_2xx":1179264,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":624024,"avg_latency":"7.24ms","p99_latency":"7.24ms","cpu":"5528.4%","memory":"221.7MiB","bandwidth":"37.06GB","input_bw":"","status_2xx":3181937,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":676117,"avg_latency":"0.92ms","p99_latency":"0.92ms","cpu":"4647.6%","memory":"119MiB","bandwidth":"40.21GB","input_bw":null,"status_2xx":3448270,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":28371,"avg_latency":"139.91ms","p99_latency":"139.91ms","cpu":"6272.1%","memory":"2.0GiB","bandwidth":"502.22MB","input_bw":"","status_2xx":144692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":326387,"avg_latency":"34.84ms","p99_latency":null,"cpu":"5696.8%","memory":"5.8GiB","bandwidth":"5.00GB","input_bw":"","status_2xx":1664695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":128032,"avg_latency":"32.89ms","p99_latency":"334.69ms","cpu":"1353.1%","memory":"728MiB","bandwidth":"7.62GB","input_bw":null,"status_2xx":652960,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":560278,"avg_latency":"7.34ms","p99_latency":"7.34ms","cpu":"5954.8%","memory":"1.8GiB","bandwidth":"33.25GB","input_bw":"","status_2xx":2857582,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":384200,"avg_latency":"41.80ms","p99_latency":"41.80ms","cpu":"6345.0%","memory":"158.9MiB","bandwidth":"5.87GB","input_bw":"","status_2xx":1959498,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":82391,"avg_latency":"45.37ms","p99_latency":null,"cpu":"886.5%","memory":"1.9GiB","bandwidth":"4.91GB","input_bw":null,"status_2xx":420189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":881545,"avg_latency":"4.60ms","p99_latency":"21.24ms","cpu":"6269.5%","memory":"638MiB","bandwidth":"13.44GB","input_bw":null,"status_2xx":4496064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2105862,"avg_latency":"1.26ms","p99_latency":"9.60ms","cpu":"5346.0%","memory":"193MiB","bandwidth":"32.14GB","input_bw":null,"status_2xx":10740186,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":282154,"avg_latency":"14.74ms","p99_latency":"14.74ms","cpu":"5987.3%","memory":"4.4GiB","bandwidth":"4.31GB","input_bw":null,"status_2xx":1439503,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":277642,"avg_latency":"14.98ms","p99_latency":"126.75ms","cpu":"6080.7%","memory":"4.6GiB","bandwidth":"4.24GB","input_bw":null,"status_2xx":1415923,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":287265,"avg_latency":"16.74ms","p99_latency":"641.41ms","cpu":"6548.7%","memory":"233MiB","bandwidth":"17.06GB","input_bw":null,"status_2xx":1465287,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":484937,"avg_latency":"8.87ms","p99_latency":"44.81ms","cpu":"6592.2%","memory":"805MiB","bandwidth":"11.77GB","input_bw":null,"status_2xx":2473268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":372179,"avg_latency":"11.34ms","p99_latency":"149.64ms","cpu":"6564.3%","memory":"7.3GiB","bandwidth":"6.40GB","input_bw":null,"status_2xx":1898107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":1020527,"avg_latency":"4.05ms","p99_latency":"4.05ms","cpu":"6468.9%","memory":"4.4GiB","bandwidth":"17.47GB","input_bw":"","status_2xx":5204695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":25840,"avg_latency":"180.24ms","p99_latency":"2.00s","cpu":"1210.0%","memory":"574MiB","bandwidth":"407.20MB","input_bw":null,"status_2xx":131787,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1055272,"avg_latency":"3.90ms","p99_latency":"3.90ms","cpu":"6413.5%","memory":"3.7GiB","bandwidth":"18.06GB","input_bw":"","status_2xx":5382111,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":230488,"avg_latency":"19.18ms","p99_latency":"19.18ms","cpu":"6528.3%","memory":"4.8GiB","bandwidth":"13.69GB","input_bw":null,"status_2xx":1175846,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":804331,"avg_latency":"5.48ms","p99_latency":"5.48ms","cpu":"6459.9%","memory":"10.2GiB","bandwidth":"12.25GB","input_bw":"","status_2xx":4102298,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":959138,"avg_latency":"4.17ms","p99_latency":"4.17ms","cpu":"6379.1%","memory":"3.5GiB","bandwidth":"16.46GB","input_bw":null,"status_2xx":4892591,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":123740,"avg_latency":"31.44ms","p99_latency":"245.21ms","cpu":"6472.2%","memory":"9.0GiB","bandwidth":"1.90GB","input_bw":null,"status_2xx":631655,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":238259,"avg_latency":"129.02ms","p99_latency":"1.68s","cpu":"6369.6%","memory":"4.9GiB","bandwidth":"14.14GB","input_bw":null,"status_2xx":1214917,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":22293,"avg_latency":"29.73ms","p99_latency":"29.73ms","cpu":"1454.8%","memory":"188MiB","bandwidth":"392.25MB","input_bw":null,"status_2xx":113710,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":181074,"avg_latency":"23.69ms","p99_latency":"23.69ms","cpu":"6394.6%","memory":"1.8GiB","bandwidth":"10.77GB","input_bw":null,"status_2xx":917867,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":139115,"avg_latency":"28.39ms","p99_latency":"245.00ms","cpu":"6523.0%","memory":"5.8GiB","bandwidth":"2.13GB","input_bw":null,"status_2xx":710937,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1294519,"avg_latency":"3.04ms","p99_latency":"14.38ms","cpu":"6415.6%","memory":"2.5GiB","bandwidth":"19.80GB","input_bw":null,"status_2xx":6601436,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":359664,"avg_latency":"11.23ms","p99_latency":null,"cpu":"5710.9%","memory":"472MiB","bandwidth":"5.55GB","input_bw":null,"status_2xx":1834714,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":72402,"avg_latency":"76.21ms","p99_latency":"1.09s","cpu":"5010.3%","memory":"1.4GiB","bandwidth":"1.65GB","input_bw":null,"status_2xx":369276,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":274175,"avg_latency":"14.92ms","p99_latency":"54.88ms","cpu":"5755.2%","memory":"1.4GiB","bandwidth":"5.25GB","input_bw":null,"status_2xx":1398329,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":23295,"avg_latency":"163.65ms","p99_latency":"163.65ms","cpu":"6419.6%","memory":"7.0GiB","bandwidth":"415.51MB","input_bw":null,"status_2xx":118915,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":41538,"avg_latency":"106.19ms","p99_latency":"769.20ms","cpu":"5986.2%","memory":"788MiB","bandwidth":"761.55MB","input_bw":null,"status_2xx":211862,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":33833,"avg_latency":"107.79ms","p99_latency":null,"cpu":"1120.5%","memory":"1.2GiB","bandwidth":"531.34MB","input_bw":null,"status_2xx":172561,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":32801,"avg_latency":"111.60ms","p99_latency":"111.60ms","cpu":"7049.3%","memory":"1.5GiB","bandwidth":"691.03MB","input_bw":"","status_2xx":168163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1333484,"avg_latency":"1.79ms","p99_latency":null,"cpu":"6184.8%","memory":"1.3GiB","bandwidth":"20.42GB","input_bw":null,"status_2xx":6799015,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1111770,"avg_latency":"3.81ms","p99_latency":null,"cpu":"6413.5%","memory":"267.3MiB","bandwidth":"17.04GB","input_bw":"","status_2xx":5669453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":134054,"avg_latency":"41.64ms","p99_latency":"41.64ms","cpu":"5242.6%","memory":"2.2GiB","bandwidth":"766.81MB","input_bw":null,"status_2xx":683678,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":605765,"avg_latency":"36.34ms","p99_latency":"36.34ms","cpu":"3400.4%","memory":"365MiB","bandwidth":"9.25GB","input_bw":null,"status_2xx":3089335,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":23750,"avg_latency":"122.65ms","p99_latency":"2.00s","cpu":"3809.4%","memory":"453MiB","bandwidth":"375.08MB","input_bw":null,"status_2xx":121147,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1393,"avg_latency":"965.03ms","p99_latency":"965.03ms","cpu":"6372.8%","memory":"3.9GiB","bandwidth":"21.78MB","input_bw":null,"status_2xx":7109,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":624750,"avg_latency":"35.36ms","p99_latency":null,"cpu":"3262.3%","memory":"252MiB","bandwidth":"9.54GB","input_bw":null,"status_2xx":3186165,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1130947,"avg_latency":"68.91ms","p99_latency":null,"cpu":"6226.6%","memory":"335MiB","bandwidth":"17.25GB","input_bw":null,"status_2xx":5767207,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":436252,"avg_latency":"9.59ms","p99_latency":"60.83ms","cpu":"6516.9%","memory":"8.3GiB","bandwidth":"6.69GB","input_bw":null,"status_2xx":2224866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":187129,"avg_latency":"21.95ms","p99_latency":"92.67ms","cpu":"6577.4%","memory":"946MiB","bandwidth":"11.12GB","input_bw":null,"status_2xx":954396,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":612909,"avg_latency":"6.58ms","p99_latency":"6.58ms","cpu":"6305.3%","memory":"3.3GiB","bandwidth":"9.38GB","input_bw":null,"status_2xx":3109065,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1784103,"avg_latency":"1.26ms","p99_latency":"7.29ms","cpu":"5421.0%","memory":"222MiB","bandwidth":"27.40GB","input_bw":null,"status_2xx":9100293,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1360862,"avg_latency":"1.56ms","p99_latency":"7.12ms","cpu":"5529.9%","memory":"1.1GiB","bandwidth":"20.90GB","input_bw":null,"status_2xx":6941109,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":110740,"avg_latency":"38.14ms","p99_latency":"138.07ms","cpu":"1648.2%","memory":"799MiB","bandwidth":"6.57GB","input_bw":null,"status_2xx":564659,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":287254,"avg_latency":"16.02ms","p99_latency":"16.02ms","cpu":"6327.2%","memory":"279MiB","bandwidth":"17.05GB","input_bw":null,"status_2xx":1465028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2036680,"avg_latency":"1.05ms","p99_latency":"7.16ms","cpu":"5503.2%","memory":"195MiB","bandwidth":"31.03GB","input_bw":null,"status_2xx":10386093,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-6800":[{"fw":"actix","lang":"Rust","rps":45482,"avg_latency":"153.08ms","p99_latency":"1.10s","cpu":"5767.2%","memory":"9.8GiB","bandwidth":"718.53MB","input_bw":null,"status_2xx":232636,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":22164,"avg_latency":"276.35ms","p99_latency":"276.35ms","cpu":"6399.2%","memory":"9.3GiB","bandwidth":"401.67MB","input_bw":null,"status_2xx":113194,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":340804,"avg_latency":"20.80ms","p99_latency":"881.70ms","cpu":"6064.4%","memory":"560MiB","bandwidth":"5.27GB","input_bw":null,"status_2xx":1738312,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":587722,"avg_latency":"12.04ms","p99_latency":"12.04ms","cpu":"6250.8%","memory":"2.3GiB","bandwidth":"8.99GB","input_bw":"","status_2xx":2997518,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":243869,"avg_latency":"29.24ms","p99_latency":"213.29ms","cpu":"5761.7%","memory":"3.3GiB","bandwidth":"3.77GB","input_bw":null,"status_2xx":1243722,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":114304,"avg_latency":"56.93ms","p99_latency":"988.14ms","cpu":"6144.6%","memory":"1.0GiB","bandwidth":"3.06GB","input_bw":null,"status_2xx":583043,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":864930,"avg_latency":"10.68ms","p99_latency":"189.13ms","cpu":"6410.0%","memory":"269MiB","bandwidth":"13.22GB","input_bw":null,"status_2xx":4411149,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":185518,"avg_latency":"36.06ms","p99_latency":"117.08ms","cpu":"6493.3%","memory":"1.6GiB","bandwidth":"2.84GB","input_bw":null,"status_2xx":937131,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":63822,"avg_latency":"52.34ms","p99_latency":"52.34ms","cpu":"3396.8%","memory":"2.5GiB","bandwidth":"3.80GB","input_bw":null,"status_2xx":325573,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":405643,"avg_latency":"32.49ms","p99_latency":"927.80ms","cpu":"6083.0%","memory":"2.0GiB","bandwidth":"6.26GB","input_bw":null,"status_2xx":2069026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":574100,"avg_latency":"11.78ms","p99_latency":null,"cpu":"5874.9%","memory":"1.3GiB","bandwidth":"34.10GB","input_bw":null,"status_2xx":2928604,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":24991,"avg_latency":"210.86ms","p99_latency":"2.00s","cpu":"6578.2%","memory":"17.9GiB","bandwidth":"456.17MB","input_bw":null,"status_2xx":128168,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":20315,"avg_latency":"311.88ms","p99_latency":"771.69ms","cpu":"6712.9%","memory":"7.9GiB","bandwidth":"363.17MB","input_bw":null,"status_2xx":104961,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":356363,"avg_latency":"19.11ms","p99_latency":"478.83ms","cpu":"6022.2%","memory":"592MiB","bandwidth":"5.51GB","input_bw":null,"status_2xx":1817380,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":945532,"avg_latency":"7.41ms","p99_latency":"117.71ms","cpu":"6250.6%","memory":"532MiB","bandwidth":"56.09GB","input_bw":null,"status_2xx":4823119,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":23295,"avg_latency":"226.74ms","p99_latency":"1.74s","cpu":"6558.7%","memory":"19.2GiB","bandwidth":"425.39MB","input_bw":null,"status_2xx":119369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":978255,"avg_latency":"6.94ms","p99_latency":"6.94ms","cpu":"6695.0%","memory":"1.4GiB","bandwidth":"14.98GB","input_bw":null,"status_2xx":4989460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1290910,"avg_latency":"5.77ms","p99_latency":"5.77ms","cpu":"6276.4%","memory":"1.2GiB","bandwidth":"19.77GB","input_bw":null,"status_2xx":6584788,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":352388,"avg_latency":"19.90ms","p99_latency":null,"cpu":"3990.6%","memory":"8.2GiB","bandwidth":"5.39GB","input_bw":null,"status_2xx":1797165,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":45548,"avg_latency":"63.80ms","p99_latency":"63.80ms","cpu":"3784.8%","memory":"3.2GiB","bandwidth":"2.71GB","input_bw":null,"status_2xx":232307,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":476494,"avg_latency":"14.66ms","p99_latency":null,"cpu":"6397.7%","memory":"3.2GiB","bandwidth":"7.31GB","input_bw":"","status_2xx":2430677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":194135,"avg_latency":"66.16ms","p99_latency":"66.16ms","cpu":"5027.5%","memory":"1.1GiB","bandwidth":"2.35GB","input_bw":"","status_2xx":990150,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":558317,"avg_latency":"12.26ms","p99_latency":"83.82ms","cpu":"6511.6%","memory":"8.2GiB","bandwidth":"8.56GB","input_bw":null,"status_2xx":2848118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":230726,"avg_latency":"28.19ms","p99_latency":null,"cpu":"5828.0%","memory":"1.7GiB","bandwidth":"4.13GB","input_bw":null,"status_2xx":1176809,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":819509,"avg_latency":"10.29ms","p99_latency":"434.42ms","cpu":"6189.9%","memory":"881MiB","bandwidth":"12.53GB","input_bw":null,"status_2xx":4179104,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":737522,"avg_latency":"9.56ms","p99_latency":"73.52ms","cpu":"6086.2%","memory":"756MiB","bandwidth":"11.29GB","input_bw":null,"status_2xx":3762077,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":512690,"avg_latency":"13.73ms","p99_latency":"472.31ms","cpu":"6157.7%","memory":"813MiB","bandwidth":"7.84GB","input_bw":null,"status_2xx":2615529,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":226395,"avg_latency":"31.56ms","p99_latency":null,"cpu":"5947.2%","memory":"592MiB","bandwidth":"4.03GB","input_bw":null,"status_2xx":1154649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":622001,"avg_latency":"11.32ms","p99_latency":"11.32ms","cpu":"5732.3%","memory":"337.1MiB","bandwidth":"36.94GB","input_bw":"","status_2xx":3173749,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":425621,"avg_latency":"1.30ms","p99_latency":"1.30ms","cpu":"2384.5%","memory":"121MiB","bandwidth":"25.31GB","input_bw":null,"status_2xx":2171078,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":27378,"avg_latency":"219.57ms","p99_latency":"219.57ms","cpu":"6208.8%","memory":"2.2GiB","bandwidth":"484.49MB","input_bw":"","status_2xx":139637,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":298263,"avg_latency":"60.18ms","p99_latency":null,"cpu":"5476.1%","memory":"6.7GiB","bandwidth":"4.57GB","input_bw":"","status_2xx":1520926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":96389,"avg_latency":"73.14ms","p99_latency":"1.02s","cpu":"1023.8%","memory":"1021MiB","bandwidth":"5.74GB","input_bw":null,"status_2xx":491612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":568499,"avg_latency":"11.88ms","p99_latency":"11.88ms","cpu":"6134.6%","memory":"1.8GiB","bandwidth":"33.74GB","input_bw":"","status_2xx":2899919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":363837,"avg_latency":"40.39ms","p99_latency":"40.39ms","cpu":"6581.6%","memory":"163.9MiB","bandwidth":"5.56GB","input_bw":"","status_2xx":1856340,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":81263,"avg_latency":"74.38ms","p99_latency":null,"cpu":"873.9%","memory":"1.9GiB","bandwidth":"4.84GB","input_bw":null,"status_2xx":414470,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":850362,"avg_latency":"7.96ms","p99_latency":"52.19ms","cpu":"6183.2%","memory":"873MiB","bandwidth":"12.97GB","input_bw":null,"status_2xx":4336758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1880392,"avg_latency":"2.71ms","p99_latency":"19.25ms","cpu":"4200.7%","memory":"281MiB","bandwidth":"28.70GB","input_bw":null,"status_2xx":9591021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":273800,"avg_latency":"24.78ms","p99_latency":"24.78ms","cpu":"6022.8%","memory":"5.1GiB","bandwidth":"4.18GB","input_bw":null,"status_2xx":1396854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":275803,"avg_latency":"25.03ms","p99_latency":"195.41ms","cpu":"6078.2%","memory":"5.1GiB","bandwidth":"4.21GB","input_bw":null,"status_2xx":1406783,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":281790,"avg_latency":"48.74ms","p99_latency":"1.99s","cpu":"6213.6%","memory":"268MiB","bandwidth":"16.73GB","input_bw":null,"status_2xx":1437224,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":489599,"avg_latency":"15.07ms","p99_latency":"102.36ms","cpu":"6476.6%","memory":"1.3GiB","bandwidth":"11.88GB","input_bw":null,"status_2xx":2497572,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":356167,"avg_latency":"19.52ms","p99_latency":"187.93ms","cpu":"6497.5%","memory":"10.2GiB","bandwidth":"6.12GB","input_bw":null,"status_2xx":1816644,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":1020313,"avg_latency":"6.89ms","p99_latency":"6.89ms","cpu":"6379.1%","memory":"4.4GiB","bandwidth":"17.46GB","input_bw":"","status_2xx":5204463,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":25539,"avg_latency":"211.21ms","p99_latency":"2.00s","cpu":"1206.4%","memory":"615MiB","bandwidth":"403.23MB","input_bw":null,"status_2xx":130245,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1052371,"avg_latency":"6.55ms","p99_latency":"6.55ms","cpu":"6305.7%","memory":"3.7GiB","bandwidth":"18.01GB","input_bw":"","status_2xx":5366091,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":227337,"avg_latency":"38.69ms","p99_latency":"38.69ms","cpu":"6633.5%","memory":"6.2GiB","bandwidth":"13.50GB","input_bw":null,"status_2xx":1159350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":776101,"avg_latency":"8.76ms","p99_latency":"8.76ms","cpu":"6346.1%","memory":"10.3GiB","bandwidth":"11.82GB","input_bw":"","status_2xx":3958435,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":928646,"avg_latency":"6.96ms","p99_latency":"6.96ms","cpu":"6356.4%","memory":"3.6GiB","bandwidth":"15.94GB","input_bw":null,"status_2xx":4737369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":119221,"avg_latency":"54.41ms","p99_latency":"584.59ms","cpu":"6499.9%","memory":"9.2GiB","bandwidth":"1.83GB","input_bw":null,"status_2xx":608405,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":220929,"avg_latency":"146.88ms","p99_latency":"2.00s","cpu":"6528.4%","memory":"4.9GiB","bandwidth":"13.11GB","input_bw":null,"status_2xx":1126818,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":16257,"avg_latency":"33.10ms","p99_latency":"33.10ms","cpu":"1118.0%","memory":"168MiB","bandwidth":"286.60MB","input_bw":null,"status_2xx":82917,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":178754,"avg_latency":"39.60ms","p99_latency":"39.60ms","cpu":"6295.8%","memory":"2.1GiB","bandwidth":"10.63GB","input_bw":null,"status_2xx":914048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":138957,"avg_latency":"47.00ms","p99_latency":"551.80ms","cpu":"6547.6%","memory":"5.9GiB","bandwidth":"2.13GB","input_bw":null,"status_2xx":708723,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1216867,"avg_latency":"5.42ms","p99_latency":"49.48ms","cpu":"6294.9%","memory":"2.6GiB","bandwidth":"18.62GB","input_bw":null,"status_2xx":6209012,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":351745,"avg_latency":"19.03ms","p99_latency":null,"cpu":"5980.5%","memory":"619MiB","bandwidth":"5.43GB","input_bw":null,"status_2xx":1793887,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":73459,"avg_latency":"145.77ms","p99_latency":"2.00s","cpu":"5083.2%","memory":"1.6GiB","bandwidth":"1.68GB","input_bw":null,"status_2xx":374731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":270496,"avg_latency":"24.99ms","p99_latency":"69.84ms","cpu":"5935.5%","memory":"1.8GiB","bandwidth":"5.18GB","input_bw":null,"status_2xx":1379684,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":23215,"avg_latency":"255.93ms","p99_latency":"255.93ms","cpu":"6388.4%","memory":"7.1GiB","bandwidth":"413.75MB","input_bw":null,"status_2xx":118479,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":41420,"avg_latency":"158.12ms","p99_latency":"898.24ms","cpu":"6055.4%","memory":"1.0GiB","bandwidth":"759.27MB","input_bw":null,"status_2xx":211279,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":32538,"avg_latency":"169.07ms","p99_latency":null,"cpu":"1096.2%","memory":"1.2GiB","bandwidth":"510.31MB","input_bw":null,"status_2xx":165963,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":32678,"avg_latency":"156.16ms","p99_latency":"156.16ms","cpu":"6936.3%","memory":"1.4GiB","bandwidth":"688.56MB","input_bw":"","status_2xx":166992,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1196817,"avg_latency":"4.95ms","p99_latency":null,"cpu":"6388.0%","memory":"1.4GiB","bandwidth":"18.33GB","input_bw":null,"status_2xx":6104368,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1112711,"avg_latency":"6.16ms","p99_latency":null,"cpu":"6350.8%","memory":"303.2MiB","bandwidth":"17.05GB","input_bw":"","status_2xx":5674997,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":133200,"avg_latency":"50.98ms","p99_latency":"50.98ms","cpu":"4762.8%","memory":"3.0GiB","bandwidth":"1.95GB","input_bw":null,"status_2xx":679379,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":592858,"avg_latency":"62.38ms","p99_latency":"62.38ms","cpu":"3232.5%","memory":"429MiB","bandwidth":"9.02GB","input_bw":null,"status_2xx":3023543,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":19884,"avg_latency":"135.99ms","p99_latency":"2.00s","cpu":"1855.6%","memory":"637MiB","bandwidth":"314.02MB","input_bw":null,"status_2xx":101416,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1394,"avg_latency":"978.70ms","p99_latency":"978.70ms","cpu":"6288.9%","memory":"4.0GiB","bandwidth":"21.64MB","input_bw":null,"status_2xx":7115,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":610348,"avg_latency":"59.62ms","p99_latency":null,"cpu":"3199.6%","memory":"306MiB","bandwidth":"9.29GB","input_bw":null,"status_2xx":3113445,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1123290,"avg_latency":"31.44ms","p99_latency":null,"cpu":"6319.4%","memory":"647MiB","bandwidth":"17.14GB","input_bw":null,"status_2xx":5728593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":425555,"avg_latency":"16.10ms","p99_latency":"72.40ms","cpu":"6486.5%","memory":"8.4GiB","bandwidth":"6.53GB","input_bw":null,"status_2xx":2170505,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":195167,"avg_latency":"35.31ms","p99_latency":"194.66ms","cpu":"6558.7%","memory":"1.3GiB","bandwidth":"11.59GB","input_bw":null,"status_2xx":995496,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":570140,"avg_latency":"11.68ms","p99_latency":"11.68ms","cpu":"6253.2%","memory":"3.4GiB","bandwidth":"8.72GB","input_bw":null,"status_2xx":2904702,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1743717,"avg_latency":"2.15ms","p99_latency":"61.21ms","cpu":"5209.6%","memory":"312MiB","bandwidth":"26.78GB","input_bw":null,"status_2xx":8879014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1237066,"avg_latency":"2.84ms","p99_latency":"26.19ms","cpu":"5670.7%","memory":"1.3GiB","bandwidth":"19.00GB","input_bw":null,"status_2xx":6309610,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":109583,"avg_latency":"61.33ms","p99_latency":"196.62ms","cpu":"1659.1%","memory":"958MiB","bandwidth":"6.50GB","input_bw":null,"status_2xx":558891,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":285448,"avg_latency":"46.60ms","p99_latency":"46.60ms","cpu":"6220.7%","memory":"301MiB","bandwidth":"16.95GB","input_bw":null,"status_2xx":1456341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":1986456,"avg_latency":"1.75ms","p99_latency":"5.18ms","cpu":"5269.1%","memory":"241MiB","bandwidth":"30.26GB","input_bw":null,"status_2xx":10111205,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"async-db-1024":[{"fw":"actix","lang":"Rust","rps":149386,"avg_latency":"6.48ms","p99_latency":"11.00ms","cpu":"4015.0%","memory":"125MiB","bandwidth":"571.83MB/s","input_bw":"9.97MB/s","status_2xx":1493863,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":108570,"avg_latency":"9.02ms","p99_latency":"14.60ms","cpu":"4714.4%","memory":"6.1GiB","bandwidth":"418.37MB/s","input_bw":"7.25MB/s","status_2xx":1085702,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":163310,"avg_latency":"5.66ms","p99_latency":"18.60ms","cpu":"3625.6%","memory":"414MiB","bandwidth":"632.51MB/s","input_bw":"10.90MB/s","status_2xx":1633105,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":225491,"avg_latency":"4.01ms","p99_latency":"10.80ms","cpu":"3723.7%","memory":"891.6MiB","bandwidth":"874.22MB/s","input_bw":"15.05MB/s","status_2xx":2254915,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":291828,"avg_latency":"2.84ms","p99_latency":"14.70ms","cpu":"4825.3%","memory":"1.6GiB","bandwidth":"1.11GB/s","input_bw":"19.48MB/s","status_2xx":2918289,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":154237,"avg_latency":"6.01ms","p99_latency":"21.20ms","cpu":"4039.1%","memory":"419MiB","bandwidth":"596.91MB/s","input_bw":"10.30MB/s","status_2xx":1542370,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":61401,"avg_latency":"16.23ms","p99_latency":"56.90ms","cpu":"4296.4%","memory":"438MiB","bandwidth":"236.95MB/s","input_bw":"4.10MB/s","status_2xx":614018,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":54308,"avg_latency":"18.74ms","p99_latency":"20.10ms","cpu":"5090.0%","memory":"2.6GiB","bandwidth":"234.67MB/s","input_bw":"3.63MB/s","status_2xx":543084,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":166636,"avg_latency":"5.61ms","p99_latency":"13.70ms","cpu":"3534.5%","memory":"542MiB","bandwidth":"654.18MB/s","input_bw":"11.12MB/s","status_2xx":1666362,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":234748,"avg_latency":"3.80ms","p99_latency":"20.40ms","cpu":"5000.3%","memory":"4.8GiB","bandwidth":"902.60MB/s","input_bw":null,"status_2xx":2347481,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":169687,"avg_latency":"5.48ms","p99_latency":"83.20ms","cpu":"6203.3%","memory":"7.3GiB","bandwidth":"663.88MB/s","input_bw":"11.33MB/s","status_2xx":1696875,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":76351,"avg_latency":"12.08ms","p99_latency":"267.60ms","cpu":"6248.4%","memory":"4.8GiB","bandwidth":"287.35MB/s","input_bw":"5.10MB/s","status_2xx":763515,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":164289,"avg_latency":"5.55ms","p99_latency":"19.40ms","cpu":"3668.9%","memory":"399MiB","bandwidth":"636.15MB/s","input_bw":"10.97MB/s","status_2xx":1642894,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":6428,"avg_latency":"157.61ms","p99_latency":"562.60ms","cpu":"5571.6%","memory":"3.3GiB","bandwidth":"25.24MB/s","input_bw":"439.41KB/s","status_2xx":64284,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":179169,"avg_latency":"5.07ms","p99_latency":"16.10ms","cpu":"6489.5%","memory":"4.6GiB","bandwidth":"697.41MB/s","input_bw":"11.96MB/s","status_2xx":1791697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":146479,"avg_latency":"6.51ms","p99_latency":"59.60ms","cpu":"6728.8%","memory":"1.7GiB","bandwidth":"565.24MB/s","input_bw":"9.78MB/s","status_2xx":1464792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":70380,"avg_latency":"14.08ms","p99_latency":"82.70ms","cpu":"4360.0%","memory":"886MiB","bandwidth":"271.66MB/s","input_bw":"4.70MB/s","status_2xx":703800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":211839,"avg_latency":"4.30ms","p99_latency":"7.40ms","cpu":"4568.6%","memory":"5.8GiB","bandwidth":"817.21MB/s","input_bw":"14.14MB/s","status_2xx":2118391,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":42384,"avg_latency":"23.88ms","p99_latency":"25.70ms","cpu":"5346.6%","memory":"3.3GiB","bandwidth":"163.19MB/s","input_bw":"2.83MB/s","status_2xx":423842,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":52972,"avg_latency":"19.31ms","p99_latency":"72.80ms","cpu":"5263.2%","memory":"3.4GiB","bandwidth":"204.92MB/s","input_bw":"3.54MB/s","status_2xx":529728,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":5424,"avg_latency":"182.67ms","p99_latency":"1.32s","cpu":"195.0%","memory":"554.5MiB","bandwidth":"2.74MB/s","input_bw":"370.78KB/s","status_2xx":54240,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":226950,"avg_latency":"3.92ms","p99_latency":"39.90ms","cpu":"5663.1%","memory":"6.9GiB","bandwidth":"883.42MB/s","input_bw":"15.15MB/s","status_2xx":2269507,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":178646,"avg_latency":"5.22ms","p99_latency":"13.80ms","cpu":"3416.0%","memory":"504MiB","bandwidth":"689.50MB/s","input_bw":"11.93MB/s","status_2xx":1786465,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":195162,"avg_latency":"4.70ms","p99_latency":"11.60ms","cpu":"3195.6%","memory":"421MiB","bandwidth":"753.75MB/s","input_bw":"13.03MB/s","status_2xx":1951625,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":274825,"avg_latency":"3.14ms","p99_latency":"9.88ms","cpu":"3408.5%","memory":"519MiB","bandwidth":"1.04GB/s","input_bw":"18.35MB/s","status_2xx":2748257,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":172517,"avg_latency":"5.29ms","p99_latency":"18.20ms","cpu":"3715.3%","memory":"484MiB","bandwidth":"667.14MB/s","input_bw":"11.52MB/s","status_2xx":1725178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":165159,"avg_latency":"5.65ms","p99_latency":"18.70ms","cpu":"3705.7%","memory":"411MiB","bandwidth":"635.74MB/s","input_bw":"11.03MB/s","status_2xx":1651591,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":64854,"avg_latency":"15.68ms","p99_latency":"33.70ms","cpu":"3877.1%","memory":"201.4MiB","bandwidth":"248.59MB/s","input_bw":"4.33MB/s","status_2xx":648549,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":70717,"avg_latency":"13.52ms","p99_latency":"42.10ms","cpu":"2052.4%","memory":"2.2GiB","bandwidth":"274.42MB/s","input_bw":"4.72MB/s","status_2xx":707171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":68541,"avg_latency":"14.19ms","p99_latency":"42.10ms","cpu":"1860.1%","memory":"2.2GiB","bandwidth":"264.67MB/s","input_bw":"4.58MB/s","status_2xx":685418,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":168112,"avg_latency":"5.63ms","p99_latency":"35.90ms","cpu":"5340.4%","memory":"4.6GiB","bandwidth":"644.41MB/s","input_bw":"11.22MB/s","status_2xx":1681125,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":17135,"avg_latency":"55.38ms","p99_latency":"68.90ms","cpu":"6878.5%","memory":"91.8MiB","bandwidth":"65.71MB/s","input_bw":"1.14MB/s","status_2xx":171352,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":63281,"avg_latency":"15.62ms","p99_latency":"34.90ms","cpu":"6369.7%","memory":"2.0GiB","bandwidth":"244.89MB/s","input_bw":"4.22MB/s","status_2xx":632810,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":353991,"avg_latency":"2.33ms","p99_latency":"17.00ms","cpu":"2971.4%","memory":"423MiB","bandwidth":"1.32GB/s","input_bw":"23.63MB/s","status_2xx":3539918,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":363257,"avg_latency":"2.21ms","p99_latency":"10.50ms","cpu":"3032.0%","memory":"183MiB","bandwidth":"1.37GB/s","input_bw":"24.25MB/s","status_2xx":3632577,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":103951,"avg_latency":"9.45ms","p99_latency":"13.60ms","cpu":"4993.8%","memory":"9.6GiB","bandwidth":"392.92MB/s","input_bw":"6.94MB/s","status_2xx":1039514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":113590,"avg_latency":"8.61ms","p99_latency":"11.20ms","cpu":"5318.7%","memory":"12.2GiB","bandwidth":"429.45MB/s","input_bw":"7.58MB/s","status_2xx":1135907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":187687,"avg_latency":"4.95ms","p99_latency":"24.00ms","cpu":"2956.1%","memory":"138MiB","bandwidth":"713.83MB/s","input_bw":"12.53MB/s","status_2xx":1876876,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":114746,"avg_latency":"8.36ms","p99_latency":"11.20ms","cpu":"4705.5%","memory":"132MiB","bandwidth":"445.64MB/s","input_bw":"7.66MB/s","status_2xx":1147461,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":77506,"avg_latency":"12.73ms","p99_latency":"59.80ms","cpu":"5400.8%","memory":"5.2GiB","bandwidth":"301.15MB/s","input_bw":"5.17MB/s","status_2xx":775069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":233429,"avg_latency":"3.83ms","p99_latency":"16.80ms","cpu":"3711.2%","memory":"4.4GiB","bandwidth":"899.56MB/s","input_bw":"15.58MB/s","status_2xx":2334297,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":9627,"avg_latency":"106.08ms","p99_latency":"129.30ms","cpu":"1042.8%","memory":"534MiB","bandwidth":"35.77MB/s","input_bw":"658.10KB/s","status_2xx":96274,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":95580,"avg_latency":"10.33ms","p99_latency":"18.30ms","cpu":"4460.8%","memory":"3.9GiB","bandwidth":"393.05MB/s","input_bw":"6.38MB/s","status_2xx":955807,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":23302,"avg_latency":"43.74ms","p99_latency":"131.70ms","cpu":"761.9%","memory":"894MiB","bandwidth":"100.62MB/s","input_bw":"1.56MB/s","status_2xx":233022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":128893,"avg_latency":"7.50ms","p99_latency":"45.80ms","cpu":"3518.7%","memory":"8.5GiB","bandwidth":"489.77MB/s","input_bw":"8.60MB/s","status_2xx":1288933,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":92893,"avg_latency":"9.81ms","p99_latency":"84.70ms","cpu":"6398.9%","memory":"14.2GiB","bandwidth":"380.66MB/s","input_bw":"6.20MB/s","status_2xx":928931,"status_3xx":0,"status_4xx":0,"status_5xx":188},{"fw":"rails","lang":"Ruby","rps":72434,"avg_latency":"13.57ms","p99_latency":"28.90ms","cpu":"6399.4%","memory":"3.4GiB","bandwidth":"300.98MB/s","input_bw":"4.84MB/s","status_2xx":724348,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":111475,"avg_latency":"8.86ms","p99_latency":"14.00ms","cpu":"5168.6%","memory":"5.7GiB","bandwidth":"428.02MB/s","input_bw":"7.44MB/s","status_2xx":1114752,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":84434,"avg_latency":"2.17ms","p99_latency":"23.10ms","cpu":"5223.1%","memory":"646MiB","bandwidth":"323.86MB/s","input_bw":"5.64MB/s","status_2xx":844348,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":84584,"avg_latency":"11.18ms","p99_latency":"273.60ms","cpu":"5696.2%","memory":"2.4GiB","bandwidth":"342.10MB/s","input_bw":"5.65MB/s","status_2xx":845842,"status_3xx":0,"status_4xx":0,"status_5xx":13927},{"fw":"sark","lang":"Rust","rps":346276,"avg_latency":"2.39ms","p99_latency":"26.20ms","cpu":"3522.6%","memory":"1.4GiB","bandwidth":"1.31GB/s","input_bw":"23.12MB/s","status_2xx":3462769,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":18793,"avg_latency":"54.46ms","p99_latency":"130.00ms","cpu":"721.5%","memory":"379MiB","bandwidth":"73.75MB/s","input_bw":"1.25MB/s","status_2xx":187932,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":175497,"avg_latency":"5.36ms","p99_latency":"13.00ms","cpu":"3247.0%","memory":"340MiB","bandwidth":"676.24MB/s","input_bw":"11.72MB/s","status_2xx":1754974,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":125801,"avg_latency":"7.81ms","p99_latency":"31.80ms","cpu":"4876.8%","memory":"726MiB","bandwidth":"484.72MB/s","input_bw":"8.40MB/s","status_2xx":1258013,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":100503,"avg_latency":"9.52ms","p99_latency":"20.40ms","cpu":"6305.6%","memory":"2.8GiB","bandwidth":"407.83MB/s","input_bw":"6.71MB/s","status_2xx":1005033,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":6452,"avg_latency":"82.78ms","p99_latency":"2.57s","cpu":"388.5%","memory":"227MiB","bandwidth":"24.84MB/s","input_bw":"441.05KB/s","status_2xx":64526,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":4868,"avg_latency":"199.81ms","p99_latency":"493.20ms","cpu":"205.0%","memory":"312MiB","bandwidth":"18.68MB/s","input_bw":"332.77KB/s","status_2xx":48686,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":18569,"avg_latency":"51.18ms","p99_latency":"80.40ms","cpu":"991.7%","memory":"1.7GiB","bandwidth":"71.04MB/s","input_bw":"1.24MB/s","status_2xx":185697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":370745,"avg_latency":"2.08ms","p99_latency":"15.90ms","cpu":"3795.8%","memory":"1.1GiB","bandwidth":"1.39GB/s","input_bw":"24.75MB/s","status_2xx":3707459,"status_3xx":0,"status_4xx":0,"status_5xx":48726},{"fw":"swoole","lang":"PHP","rps":243187,"avg_latency":"3.66ms","p99_latency":"17.70ms","cpu":"4269.3%","memory":"270.9MiB","bandwidth":"940.11MB/s","input_bw":"16.23MB/s","status_2xx":2431871,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":6152,"avg_latency":"158.98ms","p99_latency":"1.39s","cpu":"243.8%","memory":"737MiB","bandwidth":"5.94MB/s","input_bw":"420.55KB/s","status_2xx":61526,"status_3xx":0,"status_4xx":0,"status_5xx":43},{"fw":"symfony-spawn-tas","lang":"PHP","rps":3222,"avg_latency":"298.00ms","p99_latency":"1.51s","cpu":"166.6%","memory":"465MiB","bandwidth":"5.45MB/s","input_bw":"220.25KB/s","status_2xx":32225,"status_3xx":0,"status_4xx":0,"status_5xx":596},{"fw":"trillium","lang":"Rust","rps":215245,"avg_latency":"3.66ms","p99_latency":"5.76ms","cpu":"3190.0%","memory":"269MiB","bandwidth":"830.23MB/s","input_bw":"14.37MB/s","status_2xx":2152458,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":285322,"avg_latency":"3.13ms","p99_latency":"28.00ms","cpu":"3624.5%","memory":"292MiB","bandwidth":"1.07GB/s","input_bw":"19.05MB/s","status_2xx":2853227,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":249894,"avg_latency":"3.56ms","p99_latency":"12.50ms","cpu":"4917.3%","memory":"248MiB","bandwidth":"943.85MB/s","input_bw":"16.68MB/s","status_2xx":2498944,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":187813,"avg_latency":"4.93ms","p99_latency":"35.50ms","cpu":"5573.3%","memory":"7.9GiB","bandwidth":"732.69MB/s","input_bw":"12.54MB/s","status_2xx":1878131,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":241632,"avg_latency":"3.60ms","p99_latency":"10.90ms","cpu":"5700.2%","memory":"308MiB","bandwidth":"931.57MB/s","input_bw":"16.13MB/s","status_2xx":2416328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":64851,"avg_latency":"14.95ms","p99_latency":"364.40ms","cpu":"2669.3%","memory":"3.4GiB","bandwidth":"244.59MB/s","input_bw":null,"status_2xx":648517,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":271730,"avg_latency":"863us","p99_latency":"7.73ms","cpu":"2935.3%","memory":"154MiB","bandwidth":"1.02GB/s","input_bw":"18.14MB/s","status_2xx":2717305,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":281205,"avg_latency":"855us","p99_latency":"6.67ms","cpu":"3278.9%","memory":"1.2GiB","bandwidth":"1.06GB/s","input_bw":"18.77MB/s","status_2xx":2812056,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":4944,"avg_latency":"202.53ms","p99_latency":"600.10ms","cpu":"1410.8%","memory":"3.1GiB","bandwidth":"18.75MB/s","input_bw":"337.97KB/s","status_2xx":49446,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":200350,"avg_latency":"4.59ms","p99_latency":"24.00ms","cpu":"2694.3%","memory":"203MiB","bandwidth":"761.84MB/s","input_bw":null,"status_2xx":2003506,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"crud-4096":[{"fw":"actix","lang":"Rust","rps":375919,"avg_latency":"10.20ms","p99_latency":"71.30ms","cpu":"2440.1%","memory":"251MiB","bandwidth":"155.29MB/s","input_bw":"32.27MB/s","status_2xx":5638792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":176418,"avg_latency":"22.10ms","p99_latency":"41.80ms","cpu":"4037.6%","memory":"13.7GiB","bandwidth":"64.63MB/s","input_bw":"15.14MB/s","status_2xx":2646282,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":393113,"avg_latency":"9.40ms","p99_latency":"25.90ms","cpu":"5585.1%","memory":"436MiB","bandwidth":"137.77MB/s","input_bw":"33.74MB/s","status_2xx":5896702,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":555136,"avg_latency":"7.11ms","p99_latency":"36.00ms","cpu":"4442.9%","memory":"2.0GiB","bandwidth":"234.60MB/s","input_bw":"47.65MB/s","status_2xx":8327042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":329284,"avg_latency":"11.63ms","p99_latency":"31.10ms","cpu":"5662.7%","memory":"446MiB","bandwidth":"113.70MB/s","input_bw":"28.26MB/s","status_2xx":4939262,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":366701,"avg_latency":"10.19ms","p99_latency":"26.60ms","cpu":"5364.0%","memory":"422MiB","bandwidth":"132.86MB/s","input_bw":"31.47MB/s","status_2xx":5500522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":0,"avg_latency":"0us","p99_latency":"0us","cpu":"0.0%","memory":"0MiB","bandwidth":"4B/s","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":450035,"avg_latency":"8.63ms","p99_latency":"104.10ms","cpu":"3709.0%","memory":"5.0GiB","bandwidth":"175.87MB/s","input_bw":"38.63MB/s","status_2xx":6750528,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":352481,"avg_latency":"11.56ms","p99_latency":"21.20ms","cpu":"4502.0%","memory":"8.1GiB","bandwidth":"138.64MB/s","input_bw":"30.25MB/s","status_2xx":5287216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":464774,"avg_latency":"8.30ms","p99_latency":"29.20ms","cpu":"4534.4%","memory":"1.0GiB","bandwidth":"176.86MB/s","input_bw":"39.89MB/s","status_2xx":6971622,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":517107,"avg_latency":"7.57ms","p99_latency":"26.40ms","cpu":"4076.3%","memory":"797MiB","bandwidth":"198.54MB/s","input_bw":"44.38MB/s","status_2xx":7756608,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":648422,"avg_latency":"5.97ms","p99_latency":"29.80ms","cpu":"4055.6%","memory":"785MiB","bandwidth":"246.92MB/s","input_bw":"55.65MB/s","status_2xx":9726339,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":474363,"avg_latency":"7.99ms","p99_latency":"28.30ms","cpu":"4502.0%","memory":"743MiB","bandwidth":"183.91MB/s","input_bw":"40.71MB/s","status_2xx":7115459,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":452652,"avg_latency":"8.16ms","p99_latency":"29.00ms","cpu":"4735.0%","memory":"617MiB","bandwidth":"168.10MB/s","input_bw":"38.85MB/s","status_2xx":6789790,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":802743,"avg_latency":"4.75ms","p99_latency":"29.80ms","cpu":"3307.6%","memory":"657MiB","bandwidth":"219.58MB/s","input_bw":"68.90MB/s","status_2xx":12041149,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":172551,"avg_latency":"23.71ms","p99_latency":"41.50ms","cpu":"5013.2%","memory":"5.6GiB","bandwidth":"53.24MB/s","input_bw":"14.81MB/s","status_2xx":2588265,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":187905,"avg_latency":"21.80ms","p99_latency":"38.50ms","cpu":"5354.4%","memory":"5.7GiB","bandwidth":"57.73MB/s","input_bw":"16.13MB/s","status_2xx":2818580,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":339362,"avg_latency":"11.22ms","p99_latency":"120.40ms","cpu":"5555.4%","memory":"722MiB","bandwidth":"136.34MB/s","input_bw":"29.13MB/s","status_2xx":5090433,"status_3xx":0,"status_4xx":102541,"status_5xx":19442},{"fw":"pyronova","lang":"Python","rps":12019,"avg_latency":"336.94ms","p99_latency":"377.60ms","cpu":"289.6%","memory":"1001MiB","bandwidth":"4.34MB/s","input_bw":"1.03MB/s","status_2xx":180288,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":52002,"avg_latency":"56.72ms","p99_latency":"1.60s","cpu":"6324.0%","memory":"10.4GiB","bandwidth":"21.40MB/s","input_bw":"4.46MB/s","status_2xx":780037,"status_3xx":0,"status_4xx":0,"status_5xx":1318},{"fw":"rails","lang":"Ruby","rps":59226,"avg_latency":"66.44ms","p99_latency":"86.20ms","cpu":"4373.9%","memory":"4.0GiB","bandwidth":"26.45MB/s","input_bw":"5.08MB/s","status_2xx":888395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":216626,"avg_latency":"18.87ms","p99_latency":"37.10ms","cpu":"5737.7%","memory":"12.7GiB","bandwidth":"77.59MB/s","input_bw":"18.59MB/s","status_2xx":3249400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":189233,"avg_latency":"869us","p99_latency":"6.54ms","cpu":"4829.5%","memory":"389MiB","bandwidth":"62.62MB/s","input_bw":"16.24MB/s","status_2xx":2838499,"status_3xx":0,"status_4xx":0,"status_5xx":86954},{"fw":"roda","lang":"Ruby","rps":61151,"avg_latency":"63.78ms","p99_latency":"83.40ms","cpu":"2588.3%","memory":"3.4GiB","bandwidth":"19.55MB/s","input_bw":"5.25MB/s","status_2xx":917267,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":548026,"avg_latency":"6.64ms","p99_latency":"17.60ms","cpu":"1523.9%","memory":"1.3GiB","bandwidth":"183.21MB/s","input_bw":"47.04MB/s","status_2xx":8220400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":431779,"avg_latency":"9.40ms","p99_latency":"33.50ms","cpu":"4065.6%","memory":"862MiB","bandwidth":"158.18MB/s","input_bw":"37.06MB/s","status_2xx":6476689,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":417466,"avg_latency":"9.74ms","p99_latency":"34.00ms","cpu":"4487.3%","memory":"1.2GiB","bandwidth":"153.20MB/s","input_bw":"35.83MB/s","status_2xx":6261999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":64585,"avg_latency":"61.16ms","p99_latency":"82.00ms","cpu":"2974.9%","memory":"3.9GiB","bandwidth":"20.10MB/s","input_bw":"5.54MB/s","status_2xx":968783,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":464645,"avg_latency":"6.00ms","p99_latency":"11.30ms","cpu":"4267.0%","memory":"343MiB","bandwidth":"182.80MB/s","input_bw":"39.88MB/s","status_2xx":6969678,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":510890,"avg_latency":"7.95ms","p99_latency":"28.40ms","cpu":"3841.1%","memory":"393MiB","bandwidth":"204.24MB/s","input_bw":"43.85MB/s","status_2xx":7663357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":317372,"avg_latency":"11.20ms","p99_latency":"75.80ms","cpu":"795.9%","memory":"217MiB","bandwidth":"97.03MB/s","input_bw":"27.24MB/s","status_2xx":4760586,"status_3xx":0,"status_4xx":0,"status_5xx":66317},{"fw":"vanilla-io_uring","lang":"V","rps":338676,"avg_latency":"10.40ms","p99_latency":"79.60ms","cpu":"825.3%","memory":"1.3GiB","bandwidth":"102.61MB/s","input_bw":"29.07MB/s","status_2xx":5080153,"status_3xx":0,"status_4xx":0,"status_5xx":63843},{"fw":"veb","lang":"V","rps":62644,"avg_latency":"65.23ms","p99_latency":"257.90ms","cpu":"1166.9%","memory":"2.4GiB","bandwidth":"17.56MB/s","input_bw":"5.38MB/s","status_2xx":939667,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"fortunes-1024":[{"fw":"aspnet-minimal","lang":"C#","rps":75539,"avg_latency":"11.36ms","p99_latency":"33.60ms","cpu":"5496.7%","memory":"460MiB","bandwidth":"1.80GB/s","input_bw":null,"status_2xx":377696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":78538,"avg_latency":"10.73ms","p99_latency":"33.10ms","cpu":"5433.2%","memory":"485MiB","bandwidth":"1.87GB/s","input_bw":null,"status_2xx":392693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":185,"avg_latency":"2.46s","p99_latency":"5.00s","cpu":"1375.7%","memory":"301MiB","bandwidth":"4.38MB/s","input_bw":null,"status_2xx":925,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":51030,"avg_latency":"19.15ms","p99_latency":"41.20ms","cpu":"5349.4%","memory":"7.5GiB","bandwidth":"1.46GB/s","input_bw":null,"status_2xx":255152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":49991,"avg_latency":"19.90ms","p99_latency":"43.10ms","cpu":"5612.1%","memory":"11.9GiB","bandwidth":"1.43GB/s","input_bw":null,"status_2xx":249959,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":67911,"avg_latency":"14.99ms","p99_latency":"24.70ms","cpu":"6383.9%","memory":"14.1GiB","bandwidth":"1.64GB/s","input_bw":null,"status_2xx":339556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":47155,"avg_latency":"2.33ms","p99_latency":"5.15ms","cpu":"5858.3%","memory":"873MiB","bandwidth":"1.04GB/s","input_bw":null,"status_2xx":235779,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":246536,"avg_latency":"2.45ms","p99_latency":"5.79ms","cpu":"5910.7%","memory":"1.2GiB","bandwidth":"5.71GB/s","input_bw":null,"status_2xx":1232684,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":293414,"avg_latency":"1.49ms","p99_latency":"5.75ms","cpu":"4474.9%","memory":"1.1GiB","bandwidth":"6.77GB/s","input_bw":null,"status_2xx":1467072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":219679,"avg_latency":"3.34ms","p99_latency":"5.38ms","cpu":"5315.3%","memory":"302MiB","bandwidth":"5.12GB/s","input_bw":null,"status_2xx":1098397,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":88584,"avg_latency":"7.68ms","p99_latency":"28.80ms","cpu":"6331.0%","memory":"224MiB","bandwidth":"2.05GB/s","input_bw":null,"status_2xx":442920,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":171038,"avg_latency":"4.57ms","p99_latency":"12.10ms","cpu":"6262.3%","memory":"258MiB","bandwidth":"3.96GB/s","input_bw":null,"status_2xx":855190,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":155330,"avg_latency":"5.15ms","p99_latency":"18.40ms","cpu":"6074.3%","memory":"1.2GiB","bandwidth":"3.60GB/s","input_bw":null,"status_2xx":776654,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":172,"avg_latency":"2.51s","p99_latency":"4.81s","cpu":"1668.5%","memory":"359MiB","bandwidth":"4.09MB/s","input_bw":null,"status_2xx":864,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"api-4-256":[{"fw":"actix","lang":"Rust","rps":31654,"avg_latency":"7.26ms","p99_latency":"32.30ms","cpu":"396.3%","memory":"45MiB","bandwidth":"159.91MB/s","input_bw":"1.78MB/s","status_2xx":474815,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":177722,"tpl_json":178192,"tpl_async_db":118900},{"fw":"aleph","lang":"Clojure","rps":34893,"avg_latency":"5.90ms","p99_latency":"30.70ms","cpu":"400.1%","memory":"904MiB","bandwidth":"176.89MB/s","input_bw":"1.96MB/s","status_2xx":523409,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":196275,"tpl_json":196365,"tpl_async_db":130767},{"fw":"aspnet-minimal","lang":"C#","rps":37186,"avg_latency":"4.83ms","p99_latency":"12.30ms","cpu":"390.9%","memory":"140MiB","bandwidth":"189.07MB/s","input_bw":"2.09MB/s","status_2xx":557792,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":209458,"tpl_json":209068,"tpl_async_db":139265},{"fw":"aspnet-minimal-aot","lang":"C#","rps":41094,"avg_latency":"4.04ms","p99_latency":"11.00ms","cpu":"381.3%","memory":"141.7MiB","bandwidth":"209.24MB/s","input_bw":"2.31MB/s","status_2xx":616419,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":231379,"tpl_json":231106,"tpl_async_db":153934},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":48477,"avg_latency":"3.62ms","p99_latency":"17.80ms","cpu":"397.8%","memory":"211MiB","bandwidth":"248.02MB/s","input_bw":"2.73MB/s","status_2xx":727157,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":272841,"tpl_json":272613,"tpl_async_db":181702},{"fw":"aspnet-mvc","lang":"C#","rps":32026,"avg_latency":"6.18ms","p99_latency":"14.50ms","cpu":"394.0%","memory":"137MiB","bandwidth":"162.73MB/s","input_bw":"1.80MB/s","status_2xx":480403,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":180351,"tpl_json":180053,"tpl_async_db":119998},{"fw":"bjoern","lang":"Python","rps":13389,"avg_latency":"18.47ms","p99_latency":"50.70ms","cpu":"337.6%","memory":"57MiB","bandwidth":"67.82MB/s","input_bw":"771.44KB/s","status_2xx":200843,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":75487,"tpl_json":74964,"tpl_async_db":50392},{"fw":"bottle","lang":"Python","rps":9546,"avg_latency":"26.75ms","p99_latency":"30.20ms","cpu":"359.3%","memory":"217MiB","bandwidth":"54.85MB/s","input_bw":"550.01KB/s","status_2xx":143194,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":53701,"tpl_json":53704,"tpl_async_db":35789},{"fw":"effinitive","lang":"C#","rps":35955,"avg_latency":"5.74ms","p99_latency":"29.20ms","cpu":"395.8%","memory":"289MiB","bandwidth":"184.61MB/s","input_bw":"2.02MB/s","status_2xx":539336,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":202442,"tpl_json":202133,"tpl_async_db":134761},{"fw":"elysia","lang":"TS","rps":47070,"avg_latency":"4.02ms","p99_latency":"19.60ms","cpu":"359.7%","memory":"319MiB","bandwidth":"237.93MB/s","input_bw":null,"status_2xx":706053,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":264809,"tpl_json":264686,"tpl_async_db":176558},{"fw":"express","lang":"JS","rps":18635,"avg_latency":"12.84ms","p99_latency":"67.70ms","cpu":"399.5%","memory":"420MiB","bandwidth":"95.45MB/s","input_bw":"1.05MB/s","status_2xx":279532,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":104874,"tpl_json":104841,"tpl_async_db":69817},{"fw":"fastapi","lang":"Python","rps":8449,"avg_latency":"30.24ms","p99_latency":"143.10ms","cpu":"401.4%","memory":"494MiB","bandwidth":"43.16MB/s","input_bw":"486.81KB/s","status_2xx":126749,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":47335,"tpl_json":47652,"tpl_async_db":31762},{"fw":"fastendpoints","lang":"C#","rps":36412,"avg_latency":"5.13ms","p99_latency":"12.80ms","cpu":"392.4%","memory":"134MiB","bandwidth":"185.10MB/s","input_bw":"2.05MB/s","status_2xx":546186,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":205108,"tpl_json":204709,"tpl_async_db":136368},{"fw":"fasthttp","lang":"V","rps":38568,"avg_latency":"5.27ms","p99_latency":"33.20ms","cpu":"394.1%","memory":"3.2GiB","bandwidth":"194.71MB/s","input_bw":"2.17MB/s","status_2xx":578521,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":217068,"tpl_json":217029,"tpl_async_db":144424},{"fw":"fastify","lang":"JS","rps":20819,"avg_latency":"11.33ms","p99_latency":"59.60ms","cpu":"398.4%","memory":"458MiB","bandwidth":"106.14MB/s","input_bw":"1.17MB/s","status_2xx":312295,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":117075,"tpl_json":117207,"tpl_async_db":78012},{"fw":"fastpysgi-asgi","lang":"Python","rps":31974,"avg_latency":"6.86ms","p99_latency":"58.40ms","cpu":"400.7%","memory":"389MiB","bandwidth":"163.57MB/s","input_bw":"1.80MB/s","status_2xx":479620,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":179647,"tpl_json":179967,"tpl_async_db":120006},{"fw":"fastpysgi-wsgi","lang":"Python","rps":19866,"avg_latency":"12.00ms","p99_latency":"157.30ms","cpu":"313.6%","memory":"88MiB","bandwidth":"101.52MB/s","input_bw":"1.12MB/s","status_2xx":298000,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":111822,"tpl_json":111762,"tpl_async_db":74416},{"fw":"fishcake","lang":"Kotlin","rps":52583,"avg_latency":"3.13ms","p99_latency":"19.40ms","cpu":"401.3%","memory":"607MiB","bandwidth":"266.17MB/s","input_bw":"2.96MB/s","status_2xx":788753,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":295815,"tpl_json":296006,"tpl_async_db":196931},{"fw":"flask","lang":"Python","rps":6328,"avg_latency":"40.32ms","p99_latency":"64.00ms","cpu":"366.7%","memory":"268MiB","bandwidth":"32.29MB/s","input_bw":"364.60KB/s","status_2xx":94932,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":35597,"tpl_json":35620,"tpl_async_db":23715},{"fw":"frankenphp-trueasync","lang":"PHP","rps":27467,"avg_latency":"9.24ms","p99_latency":"33.60ms","cpu":"333.1%","memory":"110.5MiB","bandwidth":"77.40MB/s","input_bw":"1.55MB/s","status_2xx":412014,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":154488,"tpl_json":154553,"tpl_async_db":102973},{"fw":"fulmine","lang":"JS","rps":35750,"avg_latency":"6.08ms","p99_latency":"30.80ms","cpu":"395.0%","memory":"500MiB","bandwidth":"182.36MB/s","input_bw":"2.01MB/s","status_2xx":536260,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":201228,"tpl_json":201051,"tpl_async_db":133981},{"fw":"genhttp","lang":"C#","rps":44067,"avg_latency":"4.35ms","p99_latency":"17.80ms","cpu":"394.2%","memory":"235MiB","bandwidth":"223.21MB/s","input_bw":"2.48MB/s","status_2xx":661018,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":248131,"tpl_json":247624,"tpl_async_db":165263},{"fw":"genhttp-11","lang":"C#","rps":41117,"avg_latency":"4.75ms","p99_latency":"19.80ms","cpu":"392.6%","memory":"224MiB","bandwidth":"208.14MB/s","input_bw":"2.31MB/s","status_2xx":616756,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":231524,"tpl_json":230989,"tpl_async_db":154243},{"fw":"genhttp-11-ioxide","lang":"C#","rps":54172,"avg_latency":"3.16ms","p99_latency":"18.00ms","cpu":"382.0%","memory":"179MiB","bandwidth":"274.20MB/s","input_bw":"3.05MB/s","status_2xx":812589,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":304899,"tpl_json":304711,"tpl_async_db":202979},{"fw":"genhttp-11-kestrel","lang":"C#","rps":39055,"avg_latency":"5.06ms","p99_latency":"12.10ms","cpu":"390.7%","memory":"218MiB","bandwidth":"197.94MB/s","input_bw":"2.20MB/s","status_2xx":585833,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":219852,"tpl_json":219728,"tpl_async_db":146253},{"fw":"genhttp-kestrel","lang":"C#","rps":43632,"avg_latency":"4.33ms","p99_latency":"10.60ms","cpu":"372.3%","memory":"141MiB","bandwidth":"220.71MB/s","input_bw":"2.46MB/s","status_2xx":654488,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":245538,"tpl_json":245540,"tpl_async_db":163409},{"fw":"go-fasthttp","lang":"Go","rps":26036,"avg_latency":"9.83ms","p99_latency":"41.50ms","cpu":"375.8%","memory":"43.7MiB","bandwidth":"131.67MB/s","input_bw":"1.46MB/s","status_2xx":390552,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":145861,"tpl_json":146952,"tpl_async_db":97739},{"fw":"helidon-production","lang":"Java","rps":22689,"avg_latency":"10.29ms","p99_latency":"42.10ms","cpu":"242.3%","memory":"482.9MiB","bandwidth":"115.41MB/s","input_bw":"1.28MB/s","status_2xx":340339,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":127305,"tpl_json":127995,"tpl_async_db":85039},{"fw":"helidon-tuned","lang":"Java","rps":43456,"avg_latency":"4.75ms","p99_latency":"43.10ms","cpu":"369.0%","memory":"571.9MiB","bandwidth":"219.59MB/s","input_bw":"2.45MB/s","status_2xx":651851,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":244621,"tpl_json":244024,"tpl_async_db":163206},{"fw":"hono-bun","lang":"TS","rps":32503,"avg_latency":"6.49ms","p99_latency":"74.90ms","cpu":"349.8%","memory":"416.3MiB","bandwidth":"164.08MB/s","input_bw":"1.83MB/s","status_2xx":487551,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":182565,"tpl_json":183232,"tpl_async_db":121754},{"fw":"humming-bird","lang":"Swift","rps":6209,"avg_latency":"41.19ms","p99_latency":"146.30ms","cpu":"401.5%","memory":"64.4MiB","bandwidth":"31.32MB/s","input_bw":"357.75KB/s","status_2xx":93136,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":34938,"tpl_json":34961,"tpl_async_db":23237},{"fw":"hyperf","lang":"PHP","rps":12256,"avg_latency":"20.65ms","p99_latency":"52.80ms","cpu":"403.4%","memory":"1.9GiB","bandwidth":"62.26MB/s","input_bw":"706.16KB/s","status_2xx":183841,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":68895,"tpl_json":68942,"tpl_async_db":46003},{"fw":"ioxide","lang":"C#","rps":66033,"avg_latency":"1.43ms","p99_latency":"8.34ms","cpu":"238.0%","memory":"123MiB","bandwidth":"330.73MB/s","input_bw":"3.72MB/s","status_2xx":990500,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":371733,"tpl_json":371483,"tpl_async_db":247283},{"fw":"ktor","lang":"Kotlin","rps":28322,"avg_latency":"8.09ms","p99_latency":"30.50ms","cpu":"415.1%","memory":"771MiB","bandwidth":"141.37MB/s","input_bw":"1.59MB/s","status_2xx":424831,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":159262,"tpl_json":159360,"tpl_async_db":106208},{"fw":"ktor-ghost","lang":"Kotlin","rps":25271,"avg_latency":"9.43ms","p99_latency":"27.60ms","cpu":"411.2%","memory":"613MiB","bandwidth":"126.07MB/s","input_bw":"1.42MB/s","status_2xx":379077,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":142245,"tpl_json":142126,"tpl_async_db":94703},{"fw":"mark","lang":"PHP","rps":35047,"avg_latency":"5.91ms","p99_latency":"104.70ms","cpu":"281.9%","memory":"39MiB","bandwidth":"175.75MB/s","input_bw":"1.97MB/s","status_2xx":525715,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":197163,"tpl_json":197240,"tpl_async_db":131310},{"fw":"mq-bridge","lang":"Rust","rps":29538,"avg_latency":"7.33ms","p99_latency":"24.70ms","cpu":"394.2%","memory":"46MiB","bandwidth":"150.54MB/s","input_bw":"1.66MB/s","status_2xx":443071,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":165934,"tpl_json":166174,"tpl_async_db":110963},{"fw":"mq-bridge-py","lang":"Python","rps":8777,"avg_latency":"29.10ms","p99_latency":"162.90ms","cpu":"401.9%","memory":"2.9GiB","bandwidth":"44.83MB/s","input_bw":"505.71KB/s","status_2xx":131663,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":49230,"tpl_json":49409,"tpl_async_db":33024},{"fw":"ngx-php","lang":"PHP","rps":50404,"avg_latency":"3.52ms","p99_latency":"21.70ms","cpu":"406.3%","memory":"4.4GiB","bandwidth":"255.24MB/s","input_bw":"2.84MB/s","status_2xx":756072,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":283609,"tpl_json":283549,"tpl_async_db":188912},{"fw":"phoenix-bandit","lang":"Elixir","rps":10416,"avg_latency":"24.53ms","p99_latency":"67.20ms","cpu":"399.3%","memory":"345MiB","bandwidth":"53.82MB/s","input_bw":"600.14KB/s","status_2xx":156249,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":58165,"tpl_json":58874,"tpl_async_db":39209},{"fw":"php-fpm","lang":"PHP","rps":16656,"avg_latency":"14.87ms","p99_latency":"40.50ms","cpu":"404.4%","memory":"3.8GiB","bandwidth":"87.02MB/s","input_bw":"959.67KB/s","status_2xx":249851,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":93674,"tpl_json":93678,"tpl_async_db":62499},{"fw":"pyronova","lang":"Python","rps":21211,"avg_latency":"11.29ms","p99_latency":"36.40ms","cpu":"237.1%","memory":"136MiB","bandwidth":"112.29MB/s","input_bw":"1.19MB/s","status_2xx":318168,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":119331,"tpl_json":119370,"tpl_async_db":79465},{"fw":"quarkus-jvm","lang":"Java","rps":43895,"avg_latency":"4.22ms","p99_latency":"19.40ms","cpu":"400.3%","memory":"810.3MiB","bandwidth":"220.72MB/s","input_bw":"2.47MB/s","status_2xx":658429,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":247096,"tpl_json":246998,"tpl_async_db":164332},{"fw":"rage","lang":"Ruby","rps":13999,"avg_latency":"16.30ms","p99_latency":"266.00ms","cpu":"407.6%","memory":"5.9GiB","bandwidth":"68.87MB/s","input_bw":"806.58KB/s","status_2xx":209997,"status_3xx":0,"status_4xx":0,"status_5xx":20194,"tpl_baseline":85974,"tpl_json":86523,"tpl_async_db":37500},{"fw":"rails","lang":"Ruby","rps":7591,"avg_latency":"33.65ms","p99_latency":"115.10ms","cpu":"400.6%","memory":"351MiB","bandwidth":"39.91MB/s","input_bw":"437.37KB/s","status_2xx":113866,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":42706,"tpl_json":42711,"tpl_async_db":28449},{"fw":"ring-http-exchange","lang":"Clojure","rps":21278,"avg_latency":"11.99ms","p99_latency":"34.10ms","cpu":"408.3%","memory":"772MiB","bandwidth":"107.54MB/s","input_bw":"1.20MB/s","status_2xx":319175,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":119600,"tpl_json":119757,"tpl_async_db":79818},{"fw":"roadrunner","lang":"Erlang","rps":20211,"avg_latency":"11.90ms","p99_latency":"54.70ms","cpu":"399.4%","memory":"167MiB","bandwidth":"102.17MB/s","input_bw":"1.14MB/s","status_2xx":303168,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":113616,"tpl_json":113788,"tpl_async_db":75764},{"fw":"roda","lang":"Ruby","rps":13645,"avg_latency":"17.97ms","p99_latency":"73.20ms","cpu":"400.6%","memory":"475MiB","bandwidth":"70.09MB/s","input_bw":"786.19KB/s","status_2xx":204685,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":76796,"tpl_json":76752,"tpl_async_db":51137},{"fw":"sark","lang":"Rust","rps":67558,"avg_latency":"2.05ms","p99_latency":"27.50ms","cpu":"349.4%","memory":"182MiB","bandwidth":"341.74MB/s","input_bw":"3.80MB/s","status_2xx":1013383,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":380097,"tpl_json":380210,"tpl_async_db":253075},{"fw":"servicestack","lang":"C#","rps":17574,"avg_latency":"13.83ms","p99_latency":"28.60ms","cpu":"374.4%","memory":"166MiB","bandwidth":"63.41MB/s","input_bw":"1012.56KB/s","status_2xx":263624,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":98724,"tpl_json":98825,"tpl_async_db":66075},{"fw":"simplew","lang":"C#","rps":41391,"avg_latency":"4.46ms","p99_latency":"22.90ms","cpu":"390.3%","memory":"136MiB","bandwidth":"209.47MB/s","input_bw":"2.33MB/s","status_2xx":620867,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":233081,"tpl_json":232712,"tpl_async_db":155073},{"fw":"simplew-tuned","lang":"C#","rps":48727,"avg_latency":"3.74ms","p99_latency":"17.20ms","cpu":"400.0%","memory":"158MiB","bandwidth":"246.56MB/s","input_bw":"2.74MB/s","status_2xx":730909,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":274430,"tpl_json":273773,"tpl_async_db":182706},{"fw":"sinatra","lang":"Ruby","rps":16064,"avg_latency":"15.02ms","p99_latency":"64.40ms","cpu":"391.5%","memory":"432MiB","bandwidth":"82.84MB/s","input_bw":"925.56KB/s","status_2xx":240972,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":90302,"tpl_json":90400,"tpl_async_db":60269},{"fw":"sisk","lang":"C#","rps":17761,"avg_latency":"14.31ms","p99_latency":"43.70ms","cpu":"283.8%","memory":"163MiB","bandwidth":"89.70MB/s","input_bw":"1023.34KB/s","status_2xx":266420,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":99975,"tpl_json":99853,"tpl_async_db":66592},{"fw":"slimeweb","lang":"Python","rps":14636,"avg_latency":"16.50ms","p99_latency":"75.40ms","cpu":"282.5%","memory":"102MiB","bandwidth":"74.31MB/s","input_bw":"843.29KB/s","status_2xx":219549,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":81695,"tpl_json":82697,"tpl_async_db":55157},{"fw":"spring-boot","lang":"Java","rps":17411,"avg_latency":"13.75ms","p99_latency":"164.90ms","cpu":"395.8%","memory":"703.3MiB","bandwidth":"88.24MB/s","input_bw":"1003.17KB/s","status_2xx":261169,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":97404,"tpl_json":98446,"tpl_async_db":65319},{"fw":"swoole","lang":"PHP","rps":46045,"avg_latency":"4.12ms","p99_latency":"27.50ms","cpu":"406.4%","memory":"214.7MiB","bandwidth":"233.65MB/s","input_bw":"2.59MB/s","status_2xx":690680,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":259149,"tpl_json":258945,"tpl_async_db":172586},{"fw":"symfony-spawn-franken","lang":"PHP","rps":23409,"avg_latency":"10.84ms","p99_latency":"74.10ms","cpu":"369.5%","memory":"246MiB","bandwidth":"60.83MB/s","input_bw":"1.32MB/s","status_2xx":351145,"status_3xx":0,"status_4xx":0,"status_5xx":2658,"tpl_baseline":131585,"tpl_json":131797,"tpl_async_db":87761},{"fw":"trillium","lang":"Rust","rps":55590,"avg_latency":"4.00ms","p99_latency":"10.20ms","cpu":"399.2%","memory":"68MiB","bandwidth":"281.70MB/s","input_bw":"3.13MB/s","status_2xx":833858,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":312701,"tpl_json":312677,"tpl_async_db":208480},{"fw":"trillium-tuned","lang":"Rust","rps":60718,"avg_latency":"3.29ms","p99_latency":"19.70ms","cpu":"373.3%","memory":"74MiB","bandwidth":"307.81MB/s","input_bw":"3.42MB/s","status_2xx":910784,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":341343,"tpl_json":341738,"tpl_async_db":227701},{"fw":"true-async-server","lang":"PHP","rps":56308,"avg_latency":"3.62ms","p99_latency":"41.20ms","cpu":"394.0%","memory":"42MiB","bandwidth":"280.94MB/s","input_bw":"3.17MB/s","status_2xx":844621,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":316921,"tpl_json":316708,"tpl_async_db":210990},{"fw":"ultimate-express","lang":"JS","rps":32121,"avg_latency":"6.59ms","p99_latency":"54.50ms","cpu":"394.5%","memory":"486MiB","bandwidth":"164.21MB/s","input_bw":"1.81MB/s","status_2xx":481827,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":180631,"tpl_json":180544,"tpl_async_db":120652},{"fw":"userver","lang":"C++","rps":37086,"avg_latency":"5.52ms","p99_latency":"46.70ms","cpu":"403.3%","memory":"206MiB","bandwidth":"189.20MB/s","input_bw":"2.09MB/s","status_2xx":556292,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":208605,"tpl_json":208667,"tpl_async_db":139017},{"fw":"uvicorn","lang":"Python","rps":24793,"avg_latency":"9.66ms","p99_latency":"46.10ms","cpu":"399.2%","memory":"447MiB","bandwidth":"126.51MB/s","input_bw":null,"status_2xx":371903,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":139416,"tpl_json":139460,"tpl_async_db":93027},{"fw":"vanilla-epoll","lang":"V","rps":64469,"avg_latency":"1.96ms","p99_latency":"13.40ms","cpu":"372.2%","memory":"114MiB","bandwidth":"325.42MB/s","input_bw":"3.63MB/s","status_2xx":967038,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":362875,"tpl_json":362683,"tpl_async_db":241480},{"fw":"vanilla-io_uring","lang":"V","rps":67864,"avg_latency":"1.77ms","p99_latency":"17.90ms","cpu":"332.1%","memory":"1.1GiB","bandwidth":"342.47MB/s","input_bw":"3.82MB/s","status_2xx":1017962,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":382137,"tpl_json":381566,"tpl_async_db":254257},{"fw":"veb","lang":"V","rps":17767,"avg_latency":"13.69ms","p99_latency":"109.40ms","cpu":"381.3%","memory":"2.5GiB","bandwidth":"88.93MB/s","input_bw":"1023.68KB/s","status_2xx":266513,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":99866,"tpl_json":99917,"tpl_async_db":66730},{"fw":"workerman","lang":"PHP","rps":39709,"avg_latency":"5.00ms","p99_latency":"80.00ms","cpu":"249.4%","memory":"41MiB","bandwidth":"199.15MB/s","input_bw":null,"status_2xx":595643,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":223366,"tpl_json":223557,"tpl_async_db":148717}],"api-16-1024":[{"fw":"actix","lang":"Rust","rps":120151,"avg_latency":"7.52ms","p99_latency":"33.50ms","cpu":"1584.9%","memory":"106MiB","bandwidth":"607.03MB/s","input_bw":"6.76MB/s","status_2xx":1802269,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":674549,"tpl_json":677172,"tpl_async_db":450548},{"fw":"aleph","lang":"Clojure","rps":78140,"avg_latency":"11.29ms","p99_latency":"60.60ms","cpu":"1615.5%","memory":"1.9GiB","bandwidth":"395.92MB/s","input_bw":"4.40MB/s","status_2xx":1172102,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":439900,"tpl_json":439466,"tpl_async_db":292734},{"fw":"aspnet-minimal","lang":"C#","rps":112527,"avg_latency":"6.67ms","p99_latency":"19.00ms","cpu":"1501.5%","memory":"254MiB","bandwidth":"572.48MB/s","input_bw":"6.33MB/s","status_2xx":1687907,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":633203,"tpl_json":633216,"tpl_async_db":421486},{"fw":"aspnet-minimal-aot","lang":"C#","rps":116503,"avg_latency":"6.19ms","p99_latency":"14.70ms","cpu":"1569.8%","memory":"465.3MiB","bandwidth":"593.81MB/s","input_bw":"6.56MB/s","status_2xx":1747555,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":654820,"tpl_json":656141,"tpl_async_db":436592},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":154249,"avg_latency":"4.76ms","p99_latency":"35.80ms","cpu":"1563.1%","memory":"620MiB","bandwidth":"789.58MB/s","input_bw":"8.68MB/s","status_2xx":2313742,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":867399,"tpl_json":867818,"tpl_async_db":578523},{"fw":"aspnet-mvc","lang":"C#","rps":91825,"avg_latency":"8.58ms","p99_latency":"21.50ms","cpu":"1500.5%","memory":"214MiB","bandwidth":"466.85MB/s","input_bw":"5.17MB/s","status_2xx":1377382,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":516647,"tpl_json":516908,"tpl_async_db":343827},{"fw":"bjoern","lang":"Python","rps":47303,"avg_latency":"20.03ms","p99_latency":"82.50ms","cpu":"1252.9%","memory":"143MiB","bandwidth":"239.63MB/s","input_bw":"2.66MB/s","status_2xx":709556,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":266745,"tpl_json":265056,"tpl_async_db":177755},{"fw":"bottle","lang":"Python","rps":25572,"avg_latency":"39.92ms","p99_latency":"43.40ms","cpu":"1458.1%","memory":"712MiB","bandwidth":"146.94MB/s","input_bw":"1.44MB/s","status_2xx":383584,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":143836,"tpl_json":143827,"tpl_async_db":95921},{"fw":"effinitive","lang":"C#","rps":96540,"avg_latency":"8.63ms","p99_latency":"52.20ms","cpu":"1505.4%","memory":"386MiB","bandwidth":"496.10MB/s","input_bw":"5.43MB/s","status_2xx":1448114,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":542841,"tpl_json":543447,"tpl_async_db":361823},{"fw":"elysia","lang":"TS","rps":115633,"avg_latency":"7.24ms","p99_latency":"32.90ms","cpu":"1401.7%","memory":"1.2GiB","bandwidth":"584.63MB/s","input_bw":null,"status_2xx":1734501,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":650325,"tpl_json":650846,"tpl_async_db":433330},{"fw":"express","lang":"JS","rps":67724,"avg_latency":"13.67ms","p99_latency":"73.40ms","cpu":"1550.1%","memory":"1.6GiB","bandwidth":"347.10MB/s","input_bw":"3.81MB/s","status_2xx":1015871,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":380786,"tpl_json":381029,"tpl_async_db":254053},{"fw":"fastapi","lang":"Python","rps":30215,"avg_latency":"32.92ms","p99_latency":"153.60ms","cpu":"1616.1%","memory":"1.7GiB","bandwidth":"154.17MB/s","input_bw":"1.70MB/s","status_2xx":453239,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":169729,"tpl_json":170496,"tpl_async_db":113014},{"fw":"fastendpoints","lang":"C#","rps":109858,"avg_latency":"6.84ms","p99_latency":"19.00ms","cpu":"1513.3%","memory":"214MiB","bandwidth":"558.92MB/s","input_bw":"6.18MB/s","status_2xx":1647884,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":617992,"tpl_json":618264,"tpl_async_db":411626},{"fw":"fasthttp","lang":"V","rps":16631,"avg_latency":"60.92ms","p99_latency":"319.10ms","cpu":"1771.0%","memory":"3.7GiB","bandwidth":"84.10MB/s","input_bw":"958.23KB/s","status_2xx":249466,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":93316,"tpl_json":93581,"tpl_async_db":62569},{"fw":"fastify","lang":"JS","rps":75633,"avg_latency":"11.08ms","p99_latency":"62.90ms","cpu":"1498.8%","memory":"1.6GiB","bandwidth":"385.44MB/s","input_bw":"4.26MB/s","status_2xx":1134502,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":425672,"tpl_json":425744,"tpl_async_db":283083},{"fw":"fastpysgi-asgi","lang":"Python","rps":77940,"avg_latency":"11.19ms","p99_latency":"134.80ms","cpu":"1617.3%","memory":"1.3GiB","bandwidth":"399.15MB/s","input_bw":"4.39MB/s","status_2xx":1169102,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":437212,"tpl_json":440269,"tpl_async_db":291620},{"fw":"fastpysgi-wsgi","lang":"Python","rps":55082,"avg_latency":"17.04ms","p99_latency":"303.40ms","cpu":"1257.4%","memory":"245MiB","bandwidth":"281.61MB/s","input_bw":"3.10MB/s","status_2xx":826239,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":309847,"tpl_json":310032,"tpl_async_db":206360},{"fw":"fishcake","lang":"Kotlin","rps":127641,"avg_latency":"5.94ms","p99_latency":"34.90ms","cpu":"1634.4%","memory":"2.0GiB","bandwidth":"646.20MB/s","input_bw":"7.18MB/s","status_2xx":1914617,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":717886,"tpl_json":718593,"tpl_async_db":478138},{"fw":"flask","lang":"Python","rps":17096,"avg_latency":"59.63ms","p99_latency":"64.10ms","cpu":"1501.4%","memory":"916MiB","bandwidth":"87.25MB/s","input_bw":"985.02KB/s","status_2xx":256445,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":96111,"tpl_json":96224,"tpl_async_db":64109},{"fw":"frankenphp-trueasync","lang":"PHP","rps":31351,"avg_latency":"32.52ms","p99_latency":"265.80ms","cpu":"550.6%","memory":"271.2MiB","bandwidth":"69.85MB/s","input_bw":"1.76MB/s","status_2xx":470275,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":175614,"tpl_json":176985,"tpl_async_db":117676},{"fw":"fulmine","lang":"JS","rps":123624,"avg_latency":"6.62ms","p99_latency":"44.70ms","cpu":"1511.1%","memory":"1.9GiB","bandwidth":"630.93MB/s","input_bw":"6.96MB/s","status_2xx":1854364,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":695264,"tpl_json":695518,"tpl_async_db":463581},{"fw":"genhttp","lang":"C#","rps":112762,"avg_latency":"7.46ms","p99_latency":"32.80ms","cpu":"1579.6%","memory":"606MiB","bandwidth":"571.53MB/s","input_bw":"6.34MB/s","status_2xx":1691439,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":634256,"tpl_json":634261,"tpl_async_db":422921},{"fw":"genhttp-11","lang":"C#","rps":151086,"avg_latency":"4.86ms","p99_latency":"23.00ms","cpu":"1579.7%","memory":"363MiB","bandwidth":"765.46MB/s","input_bw":"8.50MB/s","status_2xx":2266292,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":849593,"tpl_json":850052,"tpl_async_db":566647},{"fw":"genhttp-11-ioxide","lang":"C#","rps":182912,"avg_latency":"3.62ms","p99_latency":"21.70ms","cpu":"1472.5%","memory":"382MiB","bandwidth":"926.20MB/s","input_bw":"10.29MB/s","status_2xx":2743687,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1028877,"tpl_json":1029202,"tpl_async_db":685607},{"fw":"genhttp-11-kestrel","lang":"C#","rps":127429,"avg_latency":"6.26ms","p99_latency":"17.00ms","cpu":"1530.0%","memory":"337MiB","bandwidth":"646.38MB/s","input_bw":"7.17MB/s","status_2xx":1911441,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":716311,"tpl_json":717328,"tpl_async_db":477799},{"fw":"genhttp-kestrel","lang":"C#","rps":110447,"avg_latency":"7.53ms","p99_latency":"20.10ms","cpu":"1491.1%","memory":"261MiB","bandwidth":"559.17MB/s","input_bw":"6.21MB/s","status_2xx":1656713,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":620640,"tpl_json":622012,"tpl_async_db":414059},{"fw":"go-fasthttp","lang":"Go","rps":64814,"avg_latency":"15.73ms","p99_latency":"78.50ms","cpu":"1468.5%","memory":"142.8MiB","bandwidth":"328.35MB/s","input_bw":"3.65MB/s","status_2xx":972211,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":362025,"tpl_json":367631,"tpl_async_db":242555},{"fw":"helidon-production","lang":"Java","rps":87204,"avg_latency":"10.51ms","p99_latency":"42.80ms","cpu":"1304.4%","memory":"1.3GiB","bandwidth":"443.34MB/s","input_bw":"4.91MB/s","status_2xx":1308068,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":490365,"tpl_json":491658,"tpl_async_db":326043},{"fw":"helidon-tuned","lang":"Java","rps":132308,"avg_latency":"6.46ms","p99_latency":"47.00ms","cpu":"1571.7%","memory":"1.5GiB","bandwidth":"669.72MB/s","input_bw":"7.44MB/s","status_2xx":1984630,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":743239,"tpl_json":745117,"tpl_async_db":496271},{"fw":"hono-bun","lang":"TS","rps":82918,"avg_latency":"10.71ms","p99_latency":"117.70ms","cpu":"1396.1%","memory":"1.4GiB","bandwidth":"419.04MB/s","input_bw":"4.67MB/s","status_2xx":1243779,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":464902,"tpl_json":467827,"tpl_async_db":311046},{"fw":"humming-bird","lang":"Swift","rps":13148,"avg_latency":"32.47ms","p99_latency":"133.10ms","cpu":"1648.6%","memory":"180.1MiB","bandwidth":"66.39MB/s","input_bw":"757.55KB/s","status_2xx":197229,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":73900,"tpl_json":74218,"tpl_async_db":49111},{"fw":"hyperf","lang":"PHP","rps":36806,"avg_latency":"26.32ms","p99_latency":"69.40ms","cpu":"1906.9%","memory":"2.0GiB","bandwidth":"187.01MB/s","input_bw":"2.07MB/s","status_2xx":552096,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":206879,"tpl_json":207322,"tpl_async_db":137893},{"fw":"ioxide","lang":"C#","rps":253852,"avg_latency":"1.94ms","p99_latency":"13.50ms","cpu":"1268.8%","memory":"309MiB","bandwidth":"1.24GB/s","input_bw":"14.28MB/s","status_2xx":3807782,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1428464,"tpl_json":1428118,"tpl_async_db":951193},{"fw":"ktor","lang":"Kotlin","rps":71525,"avg_latency":"12.96ms","p99_latency":"47.10ms","cpu":"1771.6%","memory":"2.0GiB","bandwidth":"357.02MB/s","input_bw":"4.02MB/s","status_2xx":1072878,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":402251,"tpl_json":402383,"tpl_async_db":268240},{"fw":"ktor-ghost","lang":"Kotlin","rps":87734,"avg_latency":"10.38ms","p99_latency":"52.40ms","cpu":"1764.4%","memory":"1.3GiB","bandwidth":"437.87MB/s","input_bw":"4.94MB/s","status_2xx":1316021,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":493484,"tpl_json":493721,"tpl_async_db":328815},{"fw":"mark","lang":"PHP","rps":130964,"avg_latency":"5.85ms","p99_latency":"99.20ms","cpu":"1138.4%","memory":"64MiB","bandwidth":"656.74MB/s","input_bw":"7.37MB/s","status_2xx":1964460,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":736841,"tpl_json":737181,"tpl_async_db":490438},{"fw":"mq-bridge","lang":"Rust","rps":91454,"avg_latency":"9.51ms","p99_latency":"36.20ms","cpu":"1482.6%","memory":"102MiB","bandwidth":"466.12MB/s","input_bw":"5.15MB/s","status_2xx":1371815,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":513699,"tpl_json":515068,"tpl_async_db":343048},{"fw":"mq-bridge-py","lang":"Python","rps":35731,"avg_latency":"27.44ms","p99_latency":"150.70ms","cpu":"1737.9%","memory":"3.6GiB","bandwidth":"182.36MB/s","input_bw":"2.01MB/s","status_2xx":535978,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":200771,"tpl_json":201144,"tpl_async_db":134063},{"fw":"ngx-php","lang":"PHP","rps":141541,"avg_latency":"5.32ms","p99_latency":"78.60ms","cpu":"1729.0%","memory":"4.4GiB","bandwidth":"716.96MB/s","input_bw":"7.96MB/s","status_2xx":2123120,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":796044,"tpl_json":796946,"tpl_async_db":530128},{"fw":"phoenix-bandit","lang":"Elixir","rps":40081,"avg_latency":"24.20ms","p99_latency":"224.60ms","cpu":"1573.7%","memory":"731MiB","bandwidth":"207.70MB/s","input_bw":"2.26MB/s","status_2xx":601217,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":222781,"tpl_json":227527,"tpl_async_db":150909},{"fw":"php-fpm","lang":"PHP","rps":45865,"avg_latency":"21.10ms","p99_latency":"46.20ms","cpu":"1822.4%","memory":"3.8GiB","bandwidth":"239.65MB/s","input_bw":"2.58MB/s","status_2xx":687985,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":257930,"tpl_json":258255,"tpl_async_db":171798},{"fw":"pyronova","lang":"Python","rps":51624,"avg_latency":"18.32ms","p99_latency":"81.60ms","cpu":"867.0%","memory":"336MiB","bandwidth":"273.37MB/s","input_bw":"2.90MB/s","status_2xx":774368,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":290386,"tpl_json":290554,"tpl_async_db":193428},{"fw":"quarkus-jvm","lang":"Java","rps":103737,"avg_latency":"8.02ms","p99_latency":"44.40ms","cpu":"1574.4%","memory":"2.4GiB","bandwidth":"521.96MB/s","input_bw":"5.84MB/s","status_2xx":1556059,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":583320,"tpl_json":583901,"tpl_async_db":388837},{"fw":"rage","lang":"Ruby","rps":9825,"avg_latency":"84.56ms","p99_latency":"1.78s","cpu":"749.7%","memory":"6.0GiB","bandwidth":"47.17MB/s","input_bw":"566.09KB/s","status_2xx":147382,"status_3xx":0,"status_4xx":0,"status_5xx":26433,"tpl_baseline":62443,"tpl_json":68252,"tpl_async_db":16687},{"fw":"rails","lang":"Ruby","rps":26538,"avg_latency":"37.38ms","p99_latency":"124.50ms","cpu":"1687.0%","memory":"1.1GiB","bandwidth":"139.62MB/s","input_bw":"1.49MB/s","status_2xx":398082,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":149127,"tpl_json":149470,"tpl_async_db":99485},{"fw":"ring-http-exchange","lang":"Clojure","rps":76344,"avg_latency":"13.20ms","p99_latency":"45.90ms","cpu":"1725.0%","memory":"3.0GiB","bandwidth":"385.74MB/s","input_bw":"4.30MB/s","status_2xx":1145172,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":429304,"tpl_json":429528,"tpl_async_db":286337},{"fw":"roadrunner","lang":"Erlang","rps":41782,"avg_latency":"14.36ms","p99_latency":"97.80ms","cpu":"1518.0%","memory":"310MiB","bandwidth":"211.60MB/s","input_bw":"2.35MB/s","status_2xx":626738,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":234217,"tpl_json":235747,"tpl_async_db":156774},{"fw":"roda","lang":"Ruby","rps":48671,"avg_latency":"19.93ms","p99_latency":"82.90ms","cpu":"1697.8%","memory":"1.7GiB","bandwidth":"250.08MB/s","input_bw":"2.74MB/s","status_2xx":730075,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":273748,"tpl_json":273824,"tpl_async_db":182503},{"fw":"sark","lang":"Rust","rps":255698,"avg_latency":"1.91ms","p99_latency":"32.60ms","cpu":"1599.2%","memory":"398MiB","bandwidth":"1.26GB/s","input_bw":"14.39MB/s","status_2xx":3835475,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1438685,"tpl_json":1439103,"tpl_async_db":957681},{"fw":"servicestack","lang":"C#","rps":23786,"avg_latency":"42.03ms","p99_latency":"105.10ms","cpu":"801.4%","memory":"316MiB","bandwidth":"85.86MB/s","input_bw":"1.34MB/s","status_2xx":356795,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":133604,"tpl_json":133585,"tpl_async_db":89606},{"fw":"simplew","lang":"C#","rps":142984,"avg_latency":"5.24ms","p99_latency":"34.10ms","cpu":"1542.9%","memory":"228MiB","bandwidth":"723.82MB/s","input_bw":"8.05MB/s","status_2xx":2144772,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":804818,"tpl_json":804509,"tpl_async_db":535442},{"fw":"simplew-tuned","lang":"C#","rps":170076,"avg_latency":"4.10ms","p99_latency":"24.50ms","cpu":"1654.0%","memory":"440MiB","bandwidth":"861.12MB/s","input_bw":"9.57MB/s","status_2xx":2551154,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":956975,"tpl_json":956670,"tpl_async_db":637509},{"fw":"sinatra","lang":"Ruby","rps":40543,"avg_latency":"24.11ms","p99_latency":"107.70ms","cpu":"1646.6%","memory":"1.3GiB","bandwidth":"209.13MB/s","input_bw":"2.28MB/s","status_2xx":608157,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":227762,"tpl_json":228219,"tpl_async_db":152175},{"fw":"sisk","lang":"C#","rps":44590,"avg_latency":"21.98ms","p99_latency":"55.20ms","cpu":"750.0%","memory":"260MiB","bandwidth":"225.20MB/s","input_bw":"2.51MB/s","status_2xx":668850,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":251025,"tpl_json":250966,"tpl_async_db":166856},{"fw":"slimeweb","lang":"Python","rps":13047,"avg_latency":"73.19ms","p99_latency":"834.30ms","cpu":"371.9%","memory":"150MiB","bandwidth":"67.40MB/s","input_bw":"751.73KB/s","status_2xx":195716,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":70685,"tpl_json":76162,"tpl_async_db":48869},{"fw":"spring-boot","lang":"Java","rps":33053,"avg_latency":"28.04ms","p99_latency":"93.80ms","cpu":"1171.9%","memory":"1.2GiB","bandwidth":"167.40MB/s","input_bw":"1.86MB/s","status_2xx":495805,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":185133,"tpl_json":186708,"tpl_async_db":123964},{"fw":"swoole","lang":"PHP","rps":131689,"avg_latency":"5.99ms","p99_latency":"42.90ms","cpu":"1757.8%","memory":"258.8MiB","bandwidth":"668.41MB/s","input_bw":"7.41MB/s","status_2xx":1975335,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":740859,"tpl_json":741149,"tpl_async_db":493323},{"fw":"symfony-spawn-franken","lang":"PHP","rps":36417,"avg_latency":"20.01ms","p99_latency":"172.60ms","cpu":"1352.3%","memory":"657MiB","bandwidth":"158.43MB/s","input_bw":"2.05MB/s","status_2xx":546268,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":203164,"tpl_json":206676,"tpl_async_db":136422},{"fw":"trillium","lang":"Rust","rps":183782,"avg_latency":"1.51ms","p99_latency":"4.09ms","cpu":"1508.5%","memory":"141MiB","bandwidth":"931.29MB/s","input_bw":"10.34MB/s","status_2xx":2756731,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1033870,"tpl_json":1034045,"tpl_async_db":688813},{"fw":"trillium-tuned","lang":"Rust","rps":173761,"avg_latency":"4.98ms","p99_latency":"45.40ms","cpu":"1530.9%","memory":"154MiB","bandwidth":"881.24MB/s","input_bw":"9.78MB/s","status_2xx":2606417,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":976151,"tpl_json":978116,"tpl_async_db":652147},{"fw":"true-async-server","lang":"PHP","rps":152800,"avg_latency":"5.70ms","p99_latency":"99.80ms","cpu":"1574.7%","memory":"77MiB","bandwidth":"762.37MB/s","input_bw":"8.60MB/s","status_2xx":2292002,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":860025,"tpl_json":859000,"tpl_async_db":572974},{"fw":"ultimate-express","lang":"JS","rps":114813,"avg_latency":"7.28ms","p99_latency":"65.30ms","cpu":"1491.7%","memory":"1.9GiB","bandwidth":"587.42MB/s","input_bw":"6.46MB/s","status_2xx":1722208,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":644848,"tpl_json":646392,"tpl_async_db":430968},{"fw":"userver","lang":"C++","rps":123403,"avg_latency":"6.36ms","p99_latency":"32.10ms","cpu":"1781.4%","memory":"393MiB","bandwidth":"629.82MB/s","input_bw":"6.94MB/s","status_2xx":1851057,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":693706,"tpl_json":695017,"tpl_async_db":462334},{"fw":"uvicorn","lang":"Python","rps":62631,"avg_latency":"15.29ms","p99_latency":"72.70ms","cpu":"1571.4%","memory":"1.3GiB","bandwidth":"319.78MB/s","input_bw":null,"status_2xx":939467,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":351876,"tpl_json":352736,"tpl_async_db":234853},{"fw":"vanilla-epoll","lang":"V","rps":245071,"avg_latency":"1.75ms","p99_latency":"14.80ms","cpu":"1498.5%","memory":"180MiB","bandwidth":"1.21GB/s","input_bw":"13.79MB/s","status_2xx":3676067,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1379006,"tpl_json":1379288,"tpl_async_db":917767},{"fw":"vanilla-io_uring","lang":"V","rps":207849,"avg_latency":"1.44ms","p99_latency":"20.70ms","cpu":"1151.0%","memory":"1.3GiB","bandwidth":"1.02GB/s","input_bw":"11.69MB/s","status_2xx":3117740,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1169780,"tpl_json":1169707,"tpl_async_db":778245},{"fw":"veb","lang":"V","rps":12012,"avg_latency":"84.28ms","p99_latency":"454.00ms","cpu":"1134.6%","memory":"3.5GiB","bandwidth":"60.29MB/s","input_bw":"692.10KB/s","status_2xx":180191,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":67194,"tpl_json":67758,"tpl_async_db":45239},{"fw":"workerman","lang":"PHP","rps":123488,"avg_latency":"6.47ms","p99_latency":"105.50ms","cpu":"1054.2%","memory":"77MiB","bandwidth":"619.36MB/s","input_bw":null,"status_2xx":1852329,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":694561,"tpl_json":695211,"tpl_async_db":462555}],"baseline-h2-256":[{"fw":"actix","lang":"Rust","rps":3884214,"avg_latency":"6.47ms","p99_latency":"17.98ms","cpu":"6348.5%","memory":"173MiB","bandwidth":"134.16MB/s","input_bw":null,"status_2xx":19537600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2202291,"avg_latency":"11.49ms","p99_latency":"78.02ms","cpu":"6088.2%","memory":"1.0GiB","bandwidth":"50.72MB/s","input_bw":null,"status_2xx":11077524,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":2522822,"avg_latency":"9.61ms","p99_latency":"9.61ms","cpu":"5430.8%","memory":"4.8GiB","bandwidth":"55.35MB/s","input_bw":"","status_2xx":12614110,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1187811,"avg_latency":"21.10ms","p99_latency":"90.15ms","cpu":"6043.9%","memory":"1.1GiB","bandwidth":"27.36MB/s","input_bw":null,"status_2xx":5974690,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":185384,"avg_latency":"198.18ms","p99_latency":"1.14s","cpu":"6316.4%","memory":"1.6GiB","bandwidth":"3.93MB/s","input_bw":null,"status_2xx":934336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1845960,"avg_latency":"11.11ms","p99_latency":"677.74ms","cpu":"6200.5%","memory":"2.5GiB","bandwidth":"58.33MB/s","input_bw":null,"status_2xx":9266724,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":2041291,"avg_latency":"12.23ms","p99_latency":"63.69ms","cpu":"6125.3%","memory":"1.1GiB","bandwidth":"47.02MB/s","input_bw":null,"status_2xx":10267698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":259133,"avg_latency":"94.67ms","p99_latency":"94.67ms","cpu":"4989.7%","memory":"998.1MiB","bandwidth":"6.15MB/s","input_bw":"","status_2xx":1297070,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":2135360,"avg_latency":"11.60ms","p99_latency":"99.01ms","cpu":"6037.1%","memory":"966MiB","bandwidth":"57.49MB/s","input_bw":null,"status_2xx":10762219,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1792309,"avg_latency":"14.00ms","p99_latency":null,"cpu":"6233.3%","memory":"1.2GiB","bandwidth":"48.16MB/s","input_bw":null,"status_2xx":9015316,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":3961009,"avg_latency":"6.64ms","p99_latency":"6.64ms","cpu":"6255.8%","memory":"167MiB","bandwidth":"103.02MB/s","input_bw":null,"status_2xx":20003100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2066462,"avg_latency":"12.00ms","p99_latency":"12.00ms","cpu":"5804.9%","memory":"22.9GiB","bandwidth":"100.52MB/s","input_bw":"","status_2xx":10333129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2223118,"avg_latency":"11.22ms","p99_latency":null,"cpu":"5910.0%","memory":"23.2GiB","bandwidth":"108.14MB/s","input_bw":"","status_2xx":11116401,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":6974787,"avg_latency":"4.24ms","p99_latency":"4.24ms","cpu":"6317.6%","memory":"156.0MiB","bandwidth":"179.61MB/s","input_bw":"","status_2xx":34873936,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":558485,"avg_latency":"44.86ms","p99_latency":"44.86ms","cpu":"5918.6%","memory":"29.8GiB","bandwidth":"11.81MB/s","input_bw":null,"status_2xx":2814765,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":515664,"avg_latency":"46.06ms","p99_latency":"282.20ms","cpu":"5757.4%","memory":"31.1GiB","bandwidth":"10.89MB/s","input_bw":null,"status_2xx":2593793,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":542860,"avg_latency":"46.38ms","p99_latency":"208.61ms","cpu":"4250.3%","memory":"293MiB","bandwidth":"27.28MB/s","input_bw":null,"status_2xx":2725162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1010292,"avg_latency":"27.31ms","p99_latency":"138.55ms","cpu":"6615.9%","memory":"13.4GiB","bandwidth":"51.30MB/s","input_bw":null,"status_2xx":5091872,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2109287,"avg_latency":"13.22ms","p99_latency":"13.22ms","cpu":"6489.7%","memory":"4.4GiB","bandwidth":"173.00MB/s","input_bw":"","status_2xx":10546437,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":214310,"avg_latency":"115.86ms","p99_latency":"200.12ms","cpu":"6448.9%","memory":"824MiB","bandwidth":"10.25MB/s","input_bw":null,"status_2xx":1077984,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":246315,"avg_latency":"102.53ms","p99_latency":"102.53ms","cpu":"6173.3%","memory":"4.3GiB","bandwidth":"26.78MB/s","input_bw":"","status_2xx":1231578,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":1223690,"avg_latency":"22.35ms","p99_latency":"22.35ms","cpu":"6298.2%","memory":"1.0GiB","bandwidth":"31.77MB/s","input_bw":null,"status_2xx":6167400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":4644300,"avg_latency":"5.69ms","p99_latency":"5.69ms","cpu":"6210.1%","memory":"10.3GiB","bandwidth":"124.02MB/s","input_bw":"","status_2xx":23221500,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":483871,"avg_latency":"30.44ms","p99_latency":"30.44ms","cpu":"6538.3%","memory":"504MiB","bandwidth":"10.70MB/s","input_bw":null,"status_2xx":2438712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":10355873,"avg_latency":"1.84ms","p99_latency":"5.82ms","cpu":"5585.1%","memory":"1.1GiB","bandwidth":"220.08MB/s","input_bw":null,"status_2xx":52193600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":363192,"avg_latency":"68.12ms","p99_latency":"68.12ms","cpu":"5404.4%","memory":"11.0GiB","bandwidth":"18.36MB/s","input_bw":"","status_2xx":1815975,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":3953950,"avg_latency":"5.35ms","p99_latency":null,"cpu":"5522.3%","memory":"1.1GiB","bandwidth":"421.91MB/s","input_bw":null,"status_2xx":19927912,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1328208,"avg_latency":"20.74ms","p99_latency":null,"cpu":"5428.1%","memory":"201.4MiB","bandwidth":"34.21MB/s","input_bw":"","status_2xx":6641111,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":28243,"avg_latency":"229.68ms","p99_latency":"229.68ms","cpu":"5180.8%","memory":"4.3GiB","bandwidth":"76.21MB/s","input_bw":null,"status_2xx":142064,"status_3xx":0,"status_4xx":0,"status_5xx":381252},{"fw":"symfony-spawn-tas","lang":"PHP","rps":75553,"avg_latency":"312.46ms","p99_latency":"312.46ms","cpu":"6631.0%","memory":"6.4GiB","bandwidth":"2.20MB/s","input_bw":null,"status_2xx":380789,"status_3xx":0,"status_4xx":0,"status_5xx":1990},{"fw":"trillium","lang":"Rust","rps":1309107,"avg_latency":"19.05ms","p99_latency":"103.29ms","cpu":"5766.8%","memory":"1.7GiB","bandwidth":"137.45MB/s","input_bw":null,"status_2xx":6610994,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":2192420,"avg_latency":"13.00ms","p99_latency":"13.00ms","cpu":"6198.4%","memory":"945MiB","bandwidth":"192.29MB/s","input_bw":null,"status_2xx":11049800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":4969431,"avg_latency":"5.40ms","p99_latency":null,"cpu":"7904.6%","memory":"225MiB","bandwidth":"100.12MB/s","input_bw":null,"status_2xx":24996239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4077516,"avg_latency":"5.03ms","p99_latency":"69.51ms","cpu":"5806.0%","memory":"732MiB","bandwidth":"140.83MB/s","input_bw":null,"status_2xx":20509909,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2-1024":[{"fw":"actix","lang":"Rust","rps":3056936,"avg_latency":"31.25ms","p99_latency":"95.31ms","cpu":"6287.4%","memory":"592MiB","bandwidth":"106.25MB/s","input_bw":null,"status_2xx":15468100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2083365,"avg_latency":"50.72ms","p99_latency":"319.41ms","cpu":"5883.1%","memory":"3.8GiB","bandwidth":"48.22MB/s","input_bw":null,"status_2xx":10520996,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":2500521,"avg_latency":"37.47ms","p99_latency":"37.47ms","cpu":"5653.5%","memory":"8.4GiB","bandwidth":"54.90MB/s","input_bw":"","status_2xx":12502607,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1051284,"avg_latency":"89.18ms","p99_latency":"296.42ms","cpu":"6066.1%","memory":"3.2GiB","bandwidth":"24.36MB/s","input_bw":null,"status_2xx":5308985,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":176248,"avg_latency":"532.77ms","p99_latency":"1.43s","cpu":"6320.9%","memory":"1.9GiB","bandwidth":"3.79MB/s","input_bw":null,"status_2xx":895342,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":2055529,"avg_latency":"26.16ms","p99_latency":"1.99s","cpu":"6062.5%","memory":"8.1GiB","bandwidth":"65.35MB/s","input_bw":null,"status_2xx":10380426,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1905174,"avg_latency":"53.70ms","p99_latency":"215.94ms","cpu":"5935.7%","memory":"4.3GiB","bandwidth":"44.19MB/s","input_bw":null,"status_2xx":9640185,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":247550,"avg_latency":"309.94ms","p99_latency":"309.94ms","cpu":"5057.9%","memory":"3.8GiB","bandwidth":"5.54MB/s","input_bw":"","status_2xx":1240698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":2031461,"avg_latency":"47.37ms","p99_latency":"212.71ms","cpu":"5913.7%","memory":"2.6GiB","bandwidth":"54.85MB/s","input_bw":null,"status_2xx":10258881,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1676367,"avg_latency":"60.94ms","p99_latency":null,"cpu":"5976.5%","memory":"4.4GiB","bandwidth":"45.36MB/s","input_bw":null,"status_2xx":8482419,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":3846646,"avg_latency":"26.92ms","p99_latency":"26.92ms","cpu":"6158.5%","memory":"199MiB","bandwidth":"100.48MB/s","input_bw":null,"status_2xx":19502500,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1932594,"avg_latency":"49.60ms","p99_latency":"49.60ms","cpu":"5712.2%","memory":"26.0GiB","bandwidth":"94.01MB/s","input_bw":"","status_2xx":9663598,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2027252,"avg_latency":"45.19ms","p99_latency":null,"cpu":"5700.3%","memory":"26.1GiB","bandwidth":"98.62MB/s","input_bw":"","status_2xx":10136466,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":5157286,"avg_latency":"17.75ms","p99_latency":"17.75ms","cpu":"6584.6%","memory":"475.9MiB","bandwidth":"132.84MB/s","input_bw":"","status_2xx":25786430,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":541980,"avg_latency":"184.02ms","p99_latency":"184.02ms","cpu":"5904.2%","memory":"30.0GiB","bandwidth":"11.56MB/s","input_bw":null,"status_2xx":2753260,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":495732,"avg_latency":"193.95ms","p99_latency":"768.20ms","cpu":"5862.3%","memory":"30.1GiB","bandwidth":"10.55MB/s","input_bw":null,"status_2xx":2513362,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":514296,"avg_latency":"184.38ms","p99_latency":"600.98ms","cpu":"4417.1%","memory":"789MiB","bandwidth":"26.09MB/s","input_bw":null,"status_2xx":2602341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":929222,"avg_latency":"101.66ms","p99_latency":"333.62ms","cpu":"6550.6%","memory":"21.0GiB","bandwidth":"47.35MB/s","input_bw":null,"status_2xx":4701866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2101817,"avg_latency":"46.82ms","p99_latency":"46.82ms","cpu":"6556.7%","memory":"4.5GiB","bandwidth":"172.39MB/s","input_bw":"","status_2xx":10509087,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":203145,"avg_latency":"402.37ms","p99_latency":"802.97ms","cpu":"6417.6%","memory":"1.6GiB","bandwidth":"9.80MB/s","input_bw":null,"status_2xx":1027916,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":294864,"avg_latency":"143.45ms","p99_latency":"143.45ms","cpu":"2169.8%","memory":"4.8GiB","bandwidth":"60.80MB/s","input_bw":"","status_2xx":11817,"status_3xx":0,"status_4xx":0,"status_5xx":1462506},{"fw":"pyronova","lang":"Python","rps":1357933,"avg_latency":"71.79ms","p99_latency":"71.79ms","cpu":"6412.9%","memory":"1.6GiB","bandwidth":"35.57MB/s","input_bw":null,"status_2xx":6898300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":4476540,"avg_latency":"22.74ms","p99_latency":"22.74ms","cpu":"6094.4%","memory":"10.4GiB","bandwidth":"119.55MB/s","input_bw":"","status_2xx":22382700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":492690,"avg_latency":"29.90ms","p99_latency":"29.90ms","cpu":"6439.2%","memory":"555MiB","bandwidth":"10.96MB/s","input_bw":null,"status_2xx":2497942,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":10509503,"avg_latency":"4.95ms","p99_latency":"36.63ms","cpu":"5919.4%","memory":"1.3GiB","bandwidth":"228.12MB/s","input_bw":null,"status_2xx":52967900,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":295341,"avg_latency":"288.80ms","p99_latency":"288.80ms","cpu":"5434.4%","memory":"26.5GiB","bandwidth":"14.94MB/s","input_bw":"","status_2xx":1476711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":4258709,"avg_latency":"19.28ms","p99_latency":null,"cpu":"6331.6%","memory":"1.6GiB","bandwidth":"457.14MB/s","input_bw":null,"status_2xx":21591657,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1254047,"avg_latency":"74.92ms","p99_latency":null,"cpu":"5187.5%","memory":"259.3MiB","bandwidth":"32.33MB/s","input_bw":"","status_2xx":6270311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":97817,"avg_latency":"465.99ms","p99_latency":"465.99ms","cpu":"4817.0%","memory":"7.1GiB","bandwidth":"57.95MB/s","input_bw":null,"status_2xx":494959,"status_3xx":0,"status_4xx":0,"status_5xx":284226},{"fw":"symfony-spawn-tas","lang":"PHP","rps":56409,"avg_latency":"1.29s","p99_latency":"1.29s","cpu":"6700.0%","memory":"17.3GiB","bandwidth":"1.29MB/s","input_bw":null,"status_2xx":286561,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":1250296,"avg_latency":"64.77ms","p99_latency":"468.94ms","cpu":"5826.0%","memory":"6.6GiB","bandwidth":"130.59MB/s","input_bw":null,"status_2xx":6339002,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1969566,"avg_latency":"49.72ms","p99_latency":"49.72ms","cpu":"6384.8%","memory":"4.8GiB","bandwidth":"174.18MB/s","input_bw":null,"status_2xx":10005400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3288741,"avg_latency":"27.37ms","p99_latency":null,"cpu":"7207.5%","memory":"505MiB","bandwidth":"66.54MB/s","input_bw":null,"status_2xx":16608143,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3827100,"avg_latency":"23.44ms","p99_latency":"345.82ms","cpu":"6351.4%","memory":"978MiB","bandwidth":"133.25MB/s","input_bw":null,"status_2xx":19403398,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-h2-256":[{"fw":"actix","lang":"Rust","rps":51989,"avg_latency":"155.69ms","p99_latency":"1.58s","cpu":"5764.2%","memory":"11.2GiB","bandwidth":"792.92MB/s","input_bw":null,"status_2xx":261509,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":184837,"avg_latency":"43.65ms","p99_latency":"245.59ms","cpu":"5889.5%","memory":"933MiB","bandwidth":"2.82GB/s","input_bw":null,"status_2xx":929732,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":357154,"avg_latency":"70.79ms","p99_latency":"70.79ms","cpu":"6231.1%","memory":"6.0GiB","bandwidth":"5.45GB/s","input_bw":"","status_2xx":1794808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":73314,"avg_latency":"109.43ms","p99_latency":"957.18ms","cpu":"5960.0%","memory":"3.3GiB","bandwidth":"1.93GB/s","input_bw":null,"status_2xx":368774,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":105962,"avg_latency":"93.23ms","p99_latency":"1.00s","cpu":"6384.1%","memory":"1.6GiB","bandwidth":"1.62GB/s","input_bw":null,"status_2xx":534053,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":295869,"avg_latency":"22.76ms","p99_latency":"1.98s","cpu":"6181.3%","memory":"1.4GiB","bandwidth":"4.55GB/s","input_bw":null,"status_2xx":1488226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":194804,"avg_latency":"41.34ms","p99_latency":"245.38ms","cpu":"5928.6%","memory":"916MiB","bandwidth":"2.97GB/s","input_bw":null,"status_2xx":979866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":166847,"avg_latency":"139.75ms","p99_latency":"139.75ms","cpu":"5193.4%","memory":"1.8GiB","bandwidth":"2.27GB/s","input_bw":"","status_2xx":837958,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":254974,"avg_latency":"31.87ms","p99_latency":"207.20ms","cpu":"5814.8%","memory":"2.3GiB","bandwidth":"3.90GB/s","input_bw":null,"status_2xx":1282522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":161502,"avg_latency":"47.82ms","p99_latency":null,"cpu":"6210.9%","memory":"714MiB","bandwidth":"2.87GB/s","input_bw":null,"status_2xx":813973,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":387730,"avg_latency":"21.48ms","p99_latency":"21.48ms","cpu":"6186.2%","memory":"184MiB","bandwidth":"23.13GB/s","input_bw":null,"status_2xx":1954163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":21321,"avg_latency":"1.05s","p99_latency":"1.05s","cpu":"6075.8%","memory":"4.7GiB","bandwidth":"379.80MB/s","input_bw":"","status_2xx":106719,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":265851,"avg_latency":"79.70ms","p99_latency":null,"cpu":"6025.3%","memory":"15.0GiB","bandwidth":"4.04GB/s","input_bw":"","status_2xx":1329521,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":407071,"avg_latency":"61.68ms","p99_latency":"61.68ms","cpu":"4838.5%","memory":"268.4MiB","bandwidth":"24.13GB/s","input_bw":"","status_2xx":2036239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":189737,"avg_latency":"41.76ms","p99_latency":"41.76ms","cpu":"6023.8%","memory":"16.0GiB","bandwidth":"2.91GB/s","input_bw":null,"status_2xx":956279,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":196780,"avg_latency":"40.90ms","p99_latency":"299.14ms","cpu":"5881.4%","memory":"23.3GiB","bandwidth":"3.02GB/s","input_bw":null,"status_2xx":989807,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":340393,"avg_latency":"23.50ms","p99_latency":"158.80ms","cpu":"5654.5%","memory":"149MiB","bandwidth":"8.26GB/s","input_bw":null,"status_2xx":1712180,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":234818,"avg_latency":"35.23ms","p99_latency":"384.90ms","cpu":"6595.9%","memory":"7.1GiB","bandwidth":"4.04GB/s","input_bw":null,"status_2xx":1183485,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":698881,"avg_latency":"41.71ms","p99_latency":"41.71ms","cpu":"6507.0%","memory":"4.8GiB","bandwidth":"11.91GB/s","input_bw":"","status_2xx":3494439,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":24449,"avg_latency":"316.56ms","p99_latency":"646.84ms","cpu":"1462.2%","memory":"811MiB","bandwidth":"381.25MB/s","input_bw":null,"status_2xx":122737,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":708017,"avg_latency":"42.70ms","p99_latency":"42.70ms","cpu":"6481.6%","memory":"4.0GiB","bandwidth":"12.07GB/s","input_bw":"","status_2xx":3540118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":288301,"avg_latency":"29.86ms","p99_latency":"29.86ms","cpu":"6296.2%","memory":"1.8GiB","bandwidth":"17.22GB/s","input_bw":null,"status_2xx":1453042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":429941,"avg_latency":"58.46ms","p99_latency":"58.46ms","cpu":"4526.4%","memory":"10.7GiB","bandwidth":"6.58GB/s","input_bw":"","status_2xx":2156068,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":18720,"avg_latency":"93.17ms","p99_latency":"93.17ms","cpu":"1349.5%","memory":"703MiB","bandwidth":"316.15MB/s","input_bw":null,"status_2xx":94350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":769518,"avg_latency":"6.94ms","p99_latency":"34.84ms","cpu":"6327.1%","memory":"1.5GiB","bandwidth":"11.77GB/s","input_bw":null,"status_2xx":3878374,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":31045,"avg_latency":"725.82ms","p99_latency":"725.82ms","cpu":"5945.7%","memory":"7.2GiB","bandwidth":"644.45MB/s","input_bw":"","status_2xx":155299,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1140815,"avg_latency":"6.93ms","p99_latency":null,"cpu":"6272.0%","memory":"1.5GiB","bandwidth":"17.55GB/s","input_bw":null,"status_2xx":5738304,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":357361,"avg_latency":"81.44ms","p99_latency":null,"cpu":"4724.3%","memory":"619.4MiB","bandwidth":"5.43GB/s","input_bw":"","status_2xx":1786875,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":63518,"avg_latency":"64.13ms","p99_latency":"64.13ms","cpu":"5491.9%","memory":"2.2GiB","bandwidth":"637.75MB/s","input_bw":null,"status_2xx":320134,"status_3xx":0,"status_4xx":0,"status_5xx":286846},{"fw":"symfony-spawn-tas","lang":"PHP","rps":58177,"avg_latency":"133.32ms","p99_latency":"133.32ms","cpu":"6579.6%","memory":"406MiB","bandwidth":"916.47MB/s","input_bw":null,"status_2xx":293213,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":20963,"avg_latency":"354.75ms","p99_latency":"1.17s","cpu":"3940.3%","memory":"1.2GiB","bandwidth":"329.22MB/s","input_bw":null,"status_2xx":105448,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":0,"avg_latency":"","p99_latency":"","cpu":"1486.4%","memory":"5.1GiB","bandwidth":"0","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1035118,"avg_latency":"8.26ms","p99_latency":null,"cpu":"6423.3%","memory":"559MiB","bandwidth":"15.88GB/s","input_bw":null,"status_2xx":5227347,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-h2-1024":[{"fw":"actix","lang":"Rust","rps":64019,"avg_latency":"514.33ms","p99_latency":"2.64s","cpu":"5068.6%","memory":"37.0GiB","bandwidth":"910.79MB/s","input_bw":null,"status_2xx":323297,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":123587,"avg_latency":"252.14ms","p99_latency":"1.32s","cpu":"5845.2%","memory":"2.9GiB","bandwidth":"1.87GB/s","input_bw":null,"status_2xx":624117,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":375583,"avg_latency":"257.90ms","p99_latency":"257.90ms","cpu":"6428.8%","memory":"6.9GiB","bandwidth":"5.78GB/s","input_bw":"","status_2xx":1902735,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":43438,"avg_latency":"685.37ms","p99_latency":"4.95s","cpu":"4880.8%","memory":"11.6GiB","bandwidth":"1.06GB/s","input_bw":null,"status_2xx":219801,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":102468,"avg_latency":"300.06ms","p99_latency":"975.28ms","cpu":"6339.6%","memory":"2.0GiB","bandwidth":"1.58GB/s","input_bw":null,"status_2xx":521564,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":0,"avg_latency":"","p99_latency":"","cpu":"6187.1%","memory":"4.3GiB","bandwidth":"0","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":131066,"avg_latency":"237.66ms","p99_latency":"1.27s","cpu":"5444.9%","memory":"3.3GiB","bandwidth":"1.99GB/s","input_bw":null,"status_2xx":663195,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":184255,"avg_latency":"382.61ms","p99_latency":"382.61ms","cpu":"5140.8%","memory":"5.1GiB","bandwidth":"1.78GB/s","input_bw":"","status_2xx":925382,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":230386,"avg_latency":"136.40ms","p99_latency":"666.97ms","cpu":"5328.6%","memory":"7.4GiB","bandwidth":"3.54GB/s","input_bw":null,"status_2xx":1165754,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":156461,"avg_latency":"183.99ms","p99_latency":null,"cpu":"6142.4%","memory":"2.0GiB","bandwidth":"2.66GB/s","input_bw":null,"status_2xx":791695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":366464,"avg_latency":"84.91ms","p99_latency":"84.91ms","cpu":"5973.3%","memory":"445MiB","bandwidth":"22.00GB/s","input_bw":null,"status_2xx":1868967,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":18949,"avg_latency":"2.90s","p99_latency":"2.90s","cpu":"5950.6%","memory":"6.5GiB","bandwidth":"337.48MB/s","input_bw":"","status_2xx":94881,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":310187,"avg_latency":"157.83ms","p99_latency":null,"cpu":"6190.0%","memory":"17.2GiB","bandwidth":"4.72GB/s","input_bw":"","status_2xx":1551146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":394013,"avg_latency":"228.65ms","p99_latency":"228.65ms","cpu":"4202.2%","memory":"719.8MiB","bandwidth":"23.36GB/s","input_bw":"","status_2xx":1970677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":180206,"avg_latency":"173.56ms","p99_latency":"173.56ms","cpu":"5728.0%","memory":"24.7GiB","bandwidth":"2.78GB/s","input_bw":null,"status_2xx":913649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":184792,"avg_latency":"170.18ms","p99_latency":"530.61ms","cpu":"5720.6%","memory":"24.2GiB","bandwidth":"2.85GB/s","input_bw":null,"status_2xx":935050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":246138,"avg_latency":"126.28ms","p99_latency":"430.54ms","cpu":"3659.5%","memory":"351MiB","bandwidth":"6.02GB/s","input_bw":null,"status_2xx":1245462,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":265705,"avg_latency":"118.44ms","p99_latency":"456.67ms","cpu":"6542.7%","memory":"9.5GiB","bandwidth":"4.57GB/s","input_bw":null,"status_2xx":1339156,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":722580,"avg_latency":"132.06ms","p99_latency":"132.06ms","cpu":"6568.7%","memory":"5.3GiB","bandwidth":"12.31GB/s","input_bw":"","status_2xx":3612998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":23911,"avg_latency":"1.02s","p99_latency":"1.90s","cpu":"1541.9%","memory":"1.4GiB","bandwidth":"374.22MB/s","input_bw":null,"status_2xx":120755,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":730481,"avg_latency":"132.18ms","p99_latency":"132.18ms","cpu":"6594.4%","memory":"4.8GiB","bandwidth":"12.45GB/s","input_bw":"","status_2xx":3652490,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":267822,"avg_latency":"109.08ms","p99_latency":"109.08ms","cpu":"6296.0%","memory":"2.3GiB","bandwidth":"16.21GB/s","input_bw":null,"status_2xx":1365896,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":402644,"avg_latency":"238.85ms","p99_latency":"238.85ms","cpu":"4483.3%","memory":"11.5GiB","bandwidth":"6.16GB/s","input_bw":"","status_2xx":2025408,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":18609,"avg_latency":"92.00ms","p99_latency":"92.00ms","cpu":"1611.7%","memory":"1.2GiB","bandwidth":"316.15MB/s","input_bw":null,"status_2xx":94350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":817307,"avg_latency":"8.39ms","p99_latency":"77.80ms","cpu":"5575.1%","memory":"2.0GiB","bandwidth":"12.54GB/s","input_bw":null,"status_2xx":4127404,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":30063,"avg_latency":"1.57s","p99_latency":"1.57s","cpu":"6068.9%","memory":"12.2GiB","bandwidth":"621.98MB/s","input_bw":"","status_2xx":150392,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1088303,"avg_latency":"28.17ms","p99_latency":null,"cpu":"6529.1%","memory":"2.3GiB","bandwidth":"16.85GB/s","input_bw":null,"status_2xx":5506814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":380483,"avg_latency":"254.80ms","p99_latency":null,"cpu":"4627.2%","memory":"1.9GiB","bandwidth":"5.78GB/s","input_bw":"","status_2xx":1902515,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":52582,"avg_latency":"246.82ms","p99_latency":"246.82ms","cpu":"4915.1%","memory":"5.1GiB","bandwidth":"123.87MB/s","input_bw":null,"status_2xx":266595,"status_3xx":0,"status_4xx":0,"status_5xx":346287},{"fw":"symfony-spawn-tas","lang":"PHP","rps":41727,"avg_latency":"654.17ms","p99_latency":"654.17ms","cpu":"6706.7%","memory":"733MiB","bandwidth":"676.05MB/s","input_bw":null,"status_2xx":211976,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":18596,"avg_latency":"1.05s","p99_latency":"3.05s","cpu":"3934.9%","memory":"2.2GiB","bandwidth":"292.00MB/s","input_bw":null,"status_2xx":93914,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":0,"avg_latency":"","p99_latency":"","cpu":"2590.0%","memory":"5.0GiB","bandwidth":"0","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":830382,"avg_latency":"37.40ms","p99_latency":null,"cpu":"6562.3%","memory":"2.3GiB","bandwidth":"12.78GB/s","input_bw":null,"status_2xx":4201735,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2c-256":[{"fw":"actix","lang":"Rust","rps":5918827,"avg_latency":"4.12ms","p99_latency":"4.12ms","cpu":"6453.4%","memory":"150MiB","bandwidth":"204.44MB/s","input_bw":null,"status_2xx":29771700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2684246,"avg_latency":"9.75ms","p99_latency":"60.80ms","cpu":"6240.9%","memory":"1.0GiB","bandwidth":"59.24MB/s","input_bw":null,"status_2xx":13501758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":2468856,"avg_latency":"10.43ms","p99_latency":"62.56ms","cpu":"6212.1%","memory":"1.1GiB","bandwidth":"54.49MB/s","input_bw":null,"status_2xx":12418349,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":412245,"avg_latency":"67.92ms","p99_latency":"67.92ms","cpu":"5465.5%","memory":"30.7GiB","bandwidth":"8.74MB/s","input_bw":null,"status_2xx":2081842,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":391103,"avg_latency":"54.35ms","p99_latency":"359.42ms","cpu":"5639.1%","memory":"30.4GiB","bandwidth":"8.27MB/s","input_bw":null,"status_2xx":1971162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":564793,"avg_latency":"44.45ms","p99_latency":"169.29ms","cpu":"4389.1%","memory":"261MiB","bandwidth":"28.43MB/s","input_bw":null,"status_2xx":2840912,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":964820,"avg_latency":"28.19ms","p99_latency":"142.50ms","cpu":"6683.8%","memory":"12.7GiB","bandwidth":"49.05MB/s","input_bw":null,"status_2xx":4862693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":6188551,"avg_latency":"4.12ms","p99_latency":"4.12ms","cpu":"6161.5%","memory":"10.2GiB","bandwidth":"166.58MB/s","input_bw":null,"status_2xx":31190300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":922318,"avg_latency":"16.38ms","p99_latency":"16.38ms","cpu":"6584.9%","memory":"579MiB","bandwidth":"20.51MB/s","input_bw":null,"status_2xx":4648483,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":11825268,"avg_latency":"1.89ms","p99_latency":"8.79ms","cpu":"5936.0%","memory":"1.1GiB","bandwidth":"238.25MB/s","input_bw":null,"status_2xx":59481100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":12592507,"avg_latency":"1.16ms","p99_latency":null,"cpu":"4197.4%","memory":"1.1GiB","bandwidth":"1.31GB/s","input_bw":null,"status_2xx":63466236,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":6038026,"avg_latency":"4.37ms","p99_latency":null,"cpu":"7082.3%","memory":"244MiB","bandwidth":"121.65MB/s","input_bw":null,"status_2xx":30371272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":955818,"avg_latency":"26.28ms","p99_latency":"321.57ms","cpu":"4954.0%","memory":"16.8GiB","bandwidth":"41.60MB/s","input_bw":null,"status_2xx":4846000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4125744,"avg_latency":"6.53ms","p99_latency":"25.87ms","cpu":"6419.7%","memory":"708MiB","bandwidth":"142.50MB/s","input_bw":null,"status_2xx":20752493,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2c-1024":[{"fw":"actix","lang":"Rust","rps":4282445,"avg_latency":"23.22ms","p99_latency":"23.22ms","cpu":"6451.7%","memory":"496MiB","bandwidth":"149.12MB/s","input_bw":null,"status_2xx":21712000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2454077,"avg_latency":"43.84ms","p99_latency":"310.39ms","cpu":"5967.7%","memory":"4.5GiB","bandwidth":"54.53MB/s","input_bw":null,"status_2xx":12417634,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":2225048,"avg_latency":"47.80ms","p99_latency":"302.68ms","cpu":"6044.7%","memory":"4.3GiB","bandwidth":"49.44MB/s","input_bw":null,"status_2xx":11258743,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":402964,"avg_latency":"210.39ms","p99_latency":"210.39ms","cpu":"5790.3%","memory":"31.1GiB","bandwidth":"8.60MB/s","input_bw":null,"status_2xx":2047062,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":362388,"avg_latency":"291.47ms","p99_latency":"1.95s","cpu":"5652.8%","memory":"30.9GiB","bandwidth":"7.72MB/s","input_bw":null,"status_2xx":1837308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":500237,"avg_latency":"196.13ms","p99_latency":"663.00ms","cpu":"4422.9%","memory":"830MiB","bandwidth":"25.40MB/s","input_bw":null,"status_2xx":2531200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":904557,"avg_latency":"109.65ms","p99_latency":"392.56ms","cpu":"6665.8%","memory":"19.8GiB","bandwidth":"45.90MB/s","input_bw":null,"status_2xx":4568014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":6180019,"avg_latency":"15.99ms","p99_latency":"15.99ms","cpu":"6016.8%","memory":"10.1GiB","bandwidth":"167.35MB/s","input_bw":null,"status_2xx":31332700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":938636,"avg_latency":"15.97ms","p99_latency":"15.97ms","cpu":"6530.3%","memory":"509MiB","bandwidth":"20.92MB/s","input_bw":null,"status_2xx":4749501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":12533900,"avg_latency":"7.17ms","p99_latency":"25.96ms","cpu":"6444.9%","memory":"1.1GiB","bandwidth":"253.54MB/s","input_bw":null,"status_2xx":63296200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":12853389,"avg_latency":"4.23ms","p99_latency":null,"cpu":"4259.0%","memory":"1.5GiB","bandwidth":"1.34GB/s","input_bw":null,"status_2xx":64909615,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3991541,"avg_latency":"23.14ms","p99_latency":null,"cpu":"7607.8%","memory":"528MiB","bandwidth":"81.07MB/s","input_bw":null,"status_2xx":20237114,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":1026312,"avg_latency":"91.01ms","p99_latency":"630.83ms","cpu":"4941.6%","memory":"18.0GiB","bandwidth":"45.64MB/s","input_bw":null,"status_2xx":5316300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3852562,"avg_latency":"25.82ms","p99_latency":"130.96ms","cpu":"6446.0%","memory":"991MiB","bandwidth":"133.87MB/s","input_bw":null,"status_2xx":19493965,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2c-4096":[{"fw":"actix","lang":"Rust","rps":3597318,"avg_latency":"101.66ms","p99_latency":"101.66ms","cpu":"6437.1%","memory":"1.9GiB","bandwidth":"126.37MB/s","input_bw":null,"status_2xx":18382300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1280412,"avg_latency":"178.40ms","p99_latency":"884.79ms","cpu":"5313.2%","memory":"7.8GiB","bandwidth":"28.82MB/s","input_bw":null,"status_2xx":6530105,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1359718,"avg_latency":"234.39ms","p99_latency":"740.60ms","cpu":"4726.4%","memory":"9.1GiB","bandwidth":"30.54MB/s","input_bw":null,"status_2xx":6920968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":279991,"avg_latency":"1.37s","p99_latency":"1.37s","cpu":"5175.2%","memory":"31.2GiB","bandwidth":"6.03MB/s","input_bw":null,"status_2xx":1430758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":392445,"avg_latency":"868.48ms","p99_latency":"2.26s","cpu":"5584.7%","memory":"31.4GiB","bandwidth":"8.43MB/s","input_bw":null,"status_2xx":2001471,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":450670,"avg_latency":"743.95ms","p99_latency":"3.24s","cpu":"4569.9%","memory":"2.5GiB","bandwidth":"23.10MB/s","input_bw":null,"status_2xx":2298422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":872281,"avg_latency":"411.23ms","p99_latency":"828.57ms","cpu":"6550.7%","memory":"26.2GiB","bandwidth":"44.81MB/s","input_bw":null,"status_2xx":4439911,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":6109902,"avg_latency":"63.52ms","p99_latency":"63.52ms","cpu":"6043.4%","memory":"10.6GiB","bandwidth":"166.78MB/s","input_bw":null,"status_2xx":31221600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":920957,"avg_latency":"16.02ms","p99_latency":"16.02ms","cpu":"6210.3%","memory":"574MiB","bandwidth":"20.72MB/s","input_bw":null,"status_2xx":4706095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":12340650,"avg_latency":"30.28ms","p99_latency":"107.94ms","cpu":"6308.1%","memory":"1.3GiB","bandwidth":"250.66MB/s","input_bw":null,"status_2xx":62567100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":11766888,"avg_latency":"19.49ms","p99_latency":null,"cpu":"3976.7%","memory":"3.0GiB","bandwidth":"1.25GB/s","input_bw":null,"status_2xx":60246471,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3753829,"avg_latency":"100.43ms","p99_latency":null,"cpu":"7497.4%","memory":"1.5GiB","bandwidth":"76.44MB/s","input_bw":null,"status_2xx":19069452,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":1011355,"avg_latency":"354.91ms","p99_latency":"1.04s","cpu":"4812.9%","memory":"18.4GiB","bandwidth":"44.21MB/s","input_bw":null,"status_2xx":5147800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3709205,"avg_latency":"107.63ms","p99_latency":"611.62ms","cpu":"6389.5%","memory":"2.0GiB","bandwidth":"129.44MB/s","input_bw":null,"status_2xx":18842764,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-h2c-1024":[{"fw":"actix","lang":"Rust","rps":1207456,"avg_latency":"26.87ms","p99_latency":"26.87ms","cpu":"5364.2%","memory":"281MiB","bandwidth":"4.05GB/s","input_bw":null,"status_2xx":6121804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":690439,"avg_latency":"47.73ms","p99_latency":"282.09ms","cpu":"6158.8%","memory":"1.5GiB","bandwidth":"2.31GB/s","input_bw":null,"status_2xx":3493626,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":599680,"avg_latency":"53.44ms","p99_latency":"334.07ms","cpu":"6062.1%","memory":"1.8GiB","bandwidth":"2.00GB/s","input_bw":null,"status_2xx":3028389,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":314284,"avg_latency":"101.21ms","p99_latency":"101.21ms","cpu":"4441.9%","memory":"28.2GiB","bandwidth":"1.05GB/s","input_bw":null,"status_2xx":1590280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":424461,"avg_latency":"71.66ms","p99_latency":"319.32ms","cpu":"5873.4%","memory":"29.4GiB","bandwidth":"1.43GB/s","input_bw":null,"status_2xx":2152022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":511497,"avg_latency":"61.75ms","p99_latency":"194.77ms","cpu":"3241.8%","memory":"377MiB","bandwidth":"1.72GB/s","input_bw":null,"status_2xx":2588178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":320500,"avg_latency":"100.18ms","p99_latency":"319.92ms","cpu":"6629.2%","memory":"10.1GiB","bandwidth":"1.08GB/s","input_bw":null,"status_2xx":1621734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1034480,"avg_latency":"31.04ms","p99_latency":"31.04ms","cpu":"6321.0%","memory":"10.2GiB","bandwidth":"3.47GB/s","input_bw":null,"status_2xx":5244814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":113101,"avg_latency":"41.74ms","p99_latency":"41.74ms","cpu":"6525.1%","memory":"1.5GiB","bandwidth":"387.00MB/s","input_bw":null,"status_2xx":573427,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":3243287,"avg_latency":"9.63ms","p99_latency":"76.18ms","cpu":"6556.1%","memory":"1.3GiB","bandwidth":"10.82GB/s","input_bw":null,"status_2xx":16411035,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":4673017,"avg_latency":"6.71ms","p99_latency":null,"cpu":"6489.7%","memory":"1.5GiB","bandwidth":"15.99GB/s","input_bw":null,"status_2xx":23598736,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1232194,"avg_latency":"25.75ms","p99_latency":null,"cpu":"7366.1%","memory":"319MiB","bandwidth":"4.10GB/s","input_bw":null,"status_2xx":6222580,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":107856,"avg_latency":"282.82ms","p99_latency":"940.48ms","cpu":"4725.1%","memory":"26.8GiB","bandwidth":"379.97MB/s","input_bw":null,"status_2xx":559776,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":1875721,"avg_latency":"16.96ms","p99_latency":"233.54ms","cpu":"6551.1%","memory":"473MiB","bandwidth":"6.58GB/s","input_bw":null,"status_2xx":9491149,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-h2c-4096":[{"fw":"actix","lang":"Rust","rps":1213875,"avg_latency":"99.60ms","p99_latency":"99.60ms","cpu":"6376.2%","memory":"1011MiB","bandwidth":"4.11GB/s","input_bw":null,"status_2xx":6215040,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":595760,"avg_latency":"164.52ms","p99_latency":"1.47s","cpu":"5930.0%","memory":"5.2GiB","bandwidth":"2.00GB/s","input_bw":null,"status_2xx":3038380,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":515673,"avg_latency":"206.53ms","p99_latency":"1.46s","cpu":"5919.3%","memory":"5.6GiB","bandwidth":"1.73GB/s","input_bw":null,"status_2xx":2624778,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":282755,"avg_latency":"426.56ms","p99_latency":"426.56ms","cpu":"4531.9%","memory":"29.9GiB","bandwidth":"979.64MB/s","input_bw":null,"status_2xx":1447709,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":389919,"avg_latency":"304.94ms","p99_latency":"1.05s","cpu":"5765.4%","memory":"29.5GiB","bandwidth":"1.32GB/s","input_bw":null,"status_2xx":1988587,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":469575,"avg_latency":"255.40ms","p99_latency":"1.10s","cpu":"3159.7%","memory":"1.1GiB","bandwidth":"1.59GB/s","input_bw":null,"status_2xx":2394837,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":314660,"avg_latency":"385.57ms","p99_latency":"844.83ms","cpu":"6528.1%","memory":"15.5GiB","bandwidth":"1.06GB/s","input_bw":null,"status_2xx":1601621,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1039944,"avg_latency":"120.01ms","p99_latency":"120.01ms","cpu":"6365.2%","memory":"10.7GiB","bandwidth":"3.51GB/s","input_bw":null,"status_2xx":5303718,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":124178,"avg_latency":"37.70ms","p99_latency":"37.70ms","cpu":"6582.0%","memory":"1.6GiB","bandwidth":"427.44MB/s","input_bw":null,"status_2xx":633309,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1975371,"avg_latency":"64.10ms","p99_latency":"432.37ms","cpu":"6514.2%","memory":"1.9GiB","bandwidth":"6.61GB/s","input_bw":null,"status_2xx":10034888,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":4651866,"avg_latency":"28.09ms","p99_latency":null,"cpu":"6349.1%","memory":"3.1GiB","bandwidth":"16.04GB/s","input_bw":null,"status_2xx":23678003,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1217112,"avg_latency":"102.11ms","p99_latency":null,"cpu":"7258.8%","memory":"781MiB","bandwidth":"4.09GB/s","input_bw":null,"status_2xx":6207276,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":98210,"avg_latency":"1.12s","p99_latency":"2.28s","cpu":"4714.9%","memory":"27.9GiB","bandwidth":"338.69MB/s","input_bw":null,"status_2xx":504804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":1771441,"avg_latency":"72.15ms","p99_latency":"571.49ms","cpu":"6575.2%","memory":"939MiB","bandwidth":"6.25GB/s","input_bw":null,"status_2xx":9016637,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h3-64":[{"fw":"aspnet-minimal","lang":"C#","rps":626288,"avg_latency":"5.87ms","p99_latency":"22.32ms","cpu":"6087.5%","memory":"1.2GiB","bandwidth":"64.63MB/s","input_bw":null,"status_2xx":3137706,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":166856,"avg_latency":"23.80ms","p99_latency":"74.99ms","cpu":"1953.2%","memory":"501MiB","bandwidth":"1.91MB/s","input_bw":null,"status_2xx":835953,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":641722,"avg_latency":"5.75ms","p99_latency":"16.42ms","cpu":"6181.0%","memory":"1.9GiB","bandwidth":"65.61MB/s","input_bw":null,"status_2xx":3215028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":201169,"avg_latency":"18.75ms","p99_latency":"84.40ms","cpu":"3348.0%","memory":"626.1MiB","bandwidth":"8.24MB/s","input_bw":"","status_2xx":1005849,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":654662,"avg_latency":"5.66ms","p99_latency":"18.82ms","cpu":"6104.9%","memory":"1.3GiB","bandwidth":"58.80MB/s","input_bw":null,"status_2xx":3279860,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":627428,"avg_latency":"5.90ms","p99_latency":"18.43ms","cpu":"6208.9%","memory":"1.7GiB","bandwidth":"62.35MB/s","input_bw":null,"status_2xx":3143417,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":3042433,"avg_latency":"1.19ms","p99_latency":"2.57ms","cpu":"3513.3%","memory":"144MiB","bandwidth":"163.46MB/s","input_bw":null,"status_2xx":15303440,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":3919344,"avg_latency":"1.10ms","p99_latency":"1.96ms","cpu":"4581.1%","memory":"4.5GiB","bandwidth":"298.97MB/s","input_bw":"","status_2xx":19596722,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":273758,"avg_latency":"15.33ms","p99_latency":"28.65ms","cpu":"6527.1%","memory":"4.0GiB","bandwidth":"28.15MB/s","input_bw":"","status_2xx":1368791,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":110588,"avg_latency":"35.49ms","p99_latency":"42.76ms","cpu":"5437.7%","memory":"468MiB","bandwidth":"7.50MB/s","input_bw":null,"status_2xx":554050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":907695,"avg_latency":"2.39ms","p99_latency":"6.67ms","cpu":"4240.3%","memory":"1.2GiB","bandwidth":"34.70MB/s","input_bw":null,"status_2xx":4547552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":164063,"avg_latency":"23.12ms","p99_latency":"54.41ms","cpu":"5313.7%","memory":"1.4GiB","bandwidth":"12.45MB/s","input_bw":null,"status_2xx":823598,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":448897,"avg_latency":"6.78ms","p99_latency":"63.40ms","cpu":"2440.7%","memory":"233MiB","bandwidth":"7.31MB/s","input_bw":null,"status_2xx":2248977,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":120828,"avg_latency":"26.53ms","p99_latency":"111.36ms","cpu":"98.6%","memory":"224MiB","bandwidth":"2.02MB/s","input_bw":null,"status_2xx":607766,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":9573685,"avg_latency":"413us","p99_latency":"757us","cpu":"1283.3%","memory":"416MiB","bandwidth":"73.19MB/s","input_bw":null,"status_2xx":47964164,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-h3-64":[{"fw":"aspnet-minimal","lang":"C#","rps":120521,"avg_latency":"33.88ms","p99_latency":"154.00ms","cpu":"4867.5%","memory":"1.9GiB","bandwidth":"1.84GB/s","input_bw":null,"status_2xx":603815,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":100041,"avg_latency":"40.29ms","p99_latency":"117.10ms","cpu":"3950.1%","memory":"781MiB","bandwidth":"1.53GB/s","input_bw":null,"status_2xx":501210,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":140763,"avg_latency":"29.69ms","p99_latency":"139.35ms","cpu":"5966.5%","memory":"2.0GiB","bandwidth":"2.16GB/s","input_bw":null,"status_2xx":705226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":74646,"avg_latency":"54.32ms","p99_latency":"208.00ms","cpu":"1926.0%","memory":"1.4GiB","bandwidth":"1.13GB/s","input_bw":"","status_2xx":376169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":173481,"avg_latency":"24.46ms","p99_latency":"105.40ms","cpu":"5865.3%","memory":"1.9GiB","bandwidth":"2.64GB/s","input_bw":null,"status_2xx":869143,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":110183,"avg_latency":"36.05ms","p99_latency":"364.14ms","cpu":"6325.0%","memory":"1.2GiB","bandwidth":"1.94GB/s","input_bw":null,"status_2xx":552019,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":252307,"avg_latency":"17.85ms","p99_latency":"39.47ms","cpu":"4067.8%","memory":"368MiB","bandwidth":"15.06GB/s","input_bw":null,"status_2xx":1269106,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":268299,"avg_latency":"16.29ms","p99_latency":"55.17ms","cpu":"5525.3%","memory":"4.7GiB","bandwidth":"4.57GB/s","input_bw":"","status_2xx":1341748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":252236,"avg_latency":"17.08ms","p99_latency":"49.83ms","cpu":"5594.0%","memory":"3.9GiB","bandwidth":"4.29GB/s","input_bw":"","status_2xx":1261437,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":13101,"avg_latency":"307.78ms","p99_latency":"447.08ms","cpu":"5018.7%","memory":"700MiB","bandwidth":"224.27MB/s","input_bw":null,"status_2xx":65640,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":403355,"avg_latency":"272us","p99_latency":"634us","cpu":"3411.1%","memory":"1.2GiB","bandwidth":"6.15GB/s","input_bw":null,"status_2xx":2020813,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":64730,"avg_latency":"62.71ms","p99_latency":"241.28ms","cpu":"2813.5%","memory":"4.4GiB","bandwidth":"1004.73MB/s","input_bw":null,"status_2xx":325596,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":18600,"avg_latency":"61.00ms","p99_latency":"307.65ms","cpu":"3715.2%","memory":"645MiB","bandwidth":"289.74MB/s","input_bw":null,"status_2xx":93186,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":52,"avg_latency":"2.97s","p99_latency":"4.31s","cpu":"99.9%","memory":"304MiB","bandwidth":"74.98KB/s","input_bw":null,"status_2xx":263,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":611890,"avg_latency":"3.31ms","p99_latency":"10.22ms","cpu":"2905.3%","memory":"403MiB","bandwidth":"9.29GB/s","input_bw":null,"status_2xx":3065571,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-256":[{"fw":"aspnet-minimal","lang":"C#","rps":2491232,"avg_latency":"10.56ms","p99_latency":"10.56ms","cpu":"5624.0%","memory":"1007.0MiB","bandwidth":"92.67MB/s","input_bw":null,"status_2xx":12456160,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":720798,"avg_latency":"35.14ms","p99_latency":"35.14ms","cpu":"4478.1%","memory":"310.5MiB","bandwidth":"26.47MB/s","input_bw":"","status_2xx":3604193,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":947103,"avg_latency":"27.54ms","p99_latency":"27.54ms","cpu":"5950.9%","memory":"24.9GiB","bandwidth":"34.35MB/s","input_bw":"","status_2xx":4739882,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":960380,"avg_latency":"27.07ms","p99_latency":null,"cpu":"6053.4%","memory":"25.7GiB","bandwidth":"34.81MB/s","input_bw":"","status_2xx":4802697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":5257876,"avg_latency":"4.70ms","p99_latency":"4.70ms","cpu":"6098.4%","memory":"1.1GiB","bandwidth":"192.08MB/s","input_bw":null,"status_2xx":26499700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2622540,"avg_latency":"10.26ms","p99_latency":"10.26ms","cpu":"5754.5%","memory":"10.4GiB","bandwidth":"120.06MB/s","input_bw":"","status_2xx":13112700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":370563,"avg_latency":"41.79ms","p99_latency":"1.58s","cpu":"250.5%","memory":"1.1GiB","bandwidth":"13.16MB/s","input_bw":null,"status_2xx":1863936,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":812492,"avg_latency":"31.55ms","p99_latency":"272.83ms","cpu":"6211.7%","memory":"577MiB","bandwidth":"120.85MB/s","input_bw":null,"status_2xx":4086837,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2478340,"avg_latency":"11.14ms","p99_latency":"259.06ms","cpu":"6469.9%","memory":"523MiB","bandwidth":"107.00MB/s","input_bw":null,"status_2xx":12466055,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-grpc","lang":"Zig","rps":7039761,"avg_latency":"2.43ms","p99_latency":"25.63ms","cpu":"3956.5%","memory":"393MiB","bandwidth":"445.76MB/s","input_bw":null,"status_2xx":35410000,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-1024":[{"fw":"aspnet-minimal","lang":"C#","rps":2338525,"avg_latency":"41.35ms","p99_latency":"41.35ms","cpu":"6207.7%","memory":"2.5GiB","bandwidth":"87.03MB/s","input_bw":null,"status_2xx":11692627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":969718,"avg_latency":"88.65ms","p99_latency":"88.65ms","cpu":"4339.4%","memory":"922.1MiB","bandwidth":"35.59MB/s","input_bw":"","status_2xx":4849354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":908064,"avg_latency":"110.85ms","p99_latency":"110.85ms","cpu":"5806.5%","memory":"26.6GiB","bandwidth":"32.93MB/s","input_bw":"","status_2xx":4541235,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":898409,"avg_latency":"112.12ms","p99_latency":null,"cpu":"5869.2%","memory":"27.1GiB","bandwidth":"32.58MB/s","input_bw":"","status_2xx":4493961,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4149704,"avg_latency":"23.87ms","p99_latency":"23.87ms","cpu":"6429.5%","memory":"1.8GiB","bandwidth":"152.53MB/s","input_bw":null,"status_2xx":21039000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2611600,"avg_latency":"39.79ms","p99_latency":"39.79ms","cpu":"5558.7%","memory":"10.4GiB","bandwidth":"119.57MB/s","input_bw":"","status_2xx":13058000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1473467,"avg_latency":"16.87ms","p99_latency":"75.94ms","cpu":"1093.3%","memory":"1.2GiB","bandwidth":"52.63MB/s","input_bw":null,"status_2xx":7455744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":766223,"avg_latency":"80.35ms","p99_latency":"711.68ms","cpu":"6154.9%","memory":"1.9GiB","bandwidth":"114.44MB/s","input_bw":null,"status_2xx":3869427,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2400296,"avg_latency":"39.98ms","p99_latency":"1.04s","cpu":"6438.2%","memory":"896MiB","bandwidth":"104.46MB/s","input_bw":null,"status_2xx":12169501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-grpc","lang":"Zig","rps":6938181,"avg_latency":"8.26ms","p99_latency":"103.84ms","cpu":"4092.8%","memory":"1.2GiB","bandwidth":"441.96MB/s","input_bw":null,"status_2xx":35107200,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-tls-256":[{"fw":"aspnet-minimal","lang":"C#","rps":2058161,"avg_latency":"12.19ms","p99_latency":"12.19ms","cpu":"6079.8%","memory":"818.2MiB","bandwidth":"76.56MB/s","input_bw":null,"status_2xx":10290808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":702758,"avg_latency":"35.64ms","p99_latency":"35.64ms","cpu":"4510.6%","memory":"275.3MiB","bandwidth":"25.80MB/s","input_bw":"","status_2xx":3513978,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":843084,"avg_latency":"30.41ms","p99_latency":"30.41ms","cpu":"5968.4%","memory":"24.7GiB","bandwidth":"30.57MB/s","input_bw":"","status_2xx":4217928,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":850405,"avg_latency":"29.44ms","p99_latency":null,"cpu":"6111.4%","memory":"24.9GiB","bandwidth":"30.82MB/s","input_bw":"","status_2xx":4252346,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":5057301,"avg_latency":"4.94ms","p99_latency":"4.94ms","cpu":"5956.6%","memory":"1.1GiB","bandwidth":"184.75MB/s","input_bw":null,"status_2xx":25488800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2633400,"avg_latency":"10.78ms","p99_latency":"10.78ms","cpu":"5783.5%","memory":"10.4GiB","bandwidth":"120.56MB/s","input_bw":"","status_2xx":13167000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":5738290,"avg_latency":"4.03ms","p99_latency":"27.49ms","cpu":"5897.6%","memory":"1.1GiB","bandwidth":"204.23MB/s","input_bw":null,"status_2xx":28863600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":825701,"avg_latency":"30.93ms","p99_latency":"97.91ms","cpu":"6199.3%","memory":"879MiB","bandwidth":"136.60MB/s","input_bw":null,"status_2xx":4153277,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2409735,"avg_latency":"10.27ms","p99_latency":"328.46ms","cpu":"6207.2%","memory":"542MiB","bandwidth":"104.25MB/s","input_bw":null,"status_2xx":12145065,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-tls-1024":[{"fw":"aspnet-minimal","lang":"C#","rps":1826316,"avg_latency":"56.98ms","p99_latency":"56.98ms","cpu":"5281.5%","memory":"2.8GiB","bandwidth":"67.98MB/s","input_bw":null,"status_2xx":9131581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":928870,"avg_latency":"78.99ms","p99_latency":"78.99ms","cpu":"4208.9%","memory":"929.1MiB","bandwidth":"34.09MB/s","input_bw":"","status_2xx":4645101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":812659,"avg_latency":"120.96ms","p99_latency":"120.96ms","cpu":"5913.7%","memory":"26.1GiB","bandwidth":"29.47MB/s","input_bw":"","status_2xx":4063672,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":823252,"avg_latency":"116.55ms","p99_latency":null,"cpu":"5932.9%","memory":"26.2GiB","bandwidth":"29.85MB/s","input_bw":"","status_2xx":4116469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4015187,"avg_latency":"24.34ms","p99_latency":"24.34ms","cpu":"6430.7%","memory":"1.6GiB","bandwidth":"147.58MB/s","input_bw":null,"status_2xx":20357000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2572680,"avg_latency":"39.73ms","p99_latency":"39.73ms","cpu":"5659.5%","memory":"10.5GiB","bandwidth":"117.79MB/s","input_bw":"","status_2xx":12863400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":5794812,"avg_latency":"11.28ms","p99_latency":"63.38ms","cpu":"6295.2%","memory":"1.3GiB","bandwidth":"211.70MB/s","input_bw":null,"status_2xx":29379700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":696752,"avg_latency":"97.50ms","p99_latency":"843.86ms","cpu":"6145.3%","memory":"2.0GiB","bandwidth":"116.07MB/s","input_bw":null,"status_2xx":3525566,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2371712,"avg_latency":"39.56ms","p99_latency":"1.17s","cpu":"6417.3%","memory":"904MiB","bandwidth":"103.02MB/s","input_bw":null,"status_2xx":12000866,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"stream-grpc-64":[{"fw":"aspnet-minimal","lang":"C#","rps":8630000,"avg_latency":"139.48ms","p99_latency":"1.07s","cpu":"3168.6%","memory":"130.4MiB","bandwidth":"0","input_bw":null,"status_2xx":8630,"status_3xx":0,"status_4xx":0,"status_5xx":1},{"fw":"helidon-tuned","lang":"Java","rps":554000,"avg_latency":"1.58s","p99_latency":"2.08s","cpu":"1086.2%","memory":"4.1GiB","bandwidth":"0","input_bw":null,"status_2xx":554,"status_3xx":0,"status_4xx":0,"status_5xx":1},{"fw":"sark","lang":"Rust","rps":9917000,"avg_latency":"125.47ms","p99_latency":"441.92ms","cpu":"91.2%","memory":"1.1GiB","bandwidth":"0","input_bw":null,"status_2xx":9917,"status_3xx":0,"status_4xx":0,"status_5xx":3},{"fw":"trillium","lang":"Rust","rps":2215000,"avg_latency":"516.68ms","p99_latency":"754.26ms","cpu":"6179.1%","memory":"642MiB","bandwidth":"0","input_bw":null,"status_2xx":2215,"status_3xx":0,"status_4xx":0,"status_5xx":3},{"fw":"zix-grpc","lang":"Zig","rps":8504000,"avg_latency":"146.01ms","p99_latency":"441.82ms","cpu":"35.6%","memory":"139MiB","bandwidth":"0","input_bw":null,"status_2xx":8504,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"stream-grpc-tls-64":[{"fw":"aspnet-minimal","lang":"C#","rps":8617000,"avg_latency":"140.09ms","p99_latency":"1.08s","cpu":"2374.6%","memory":"169.1MiB","bandwidth":"0","input_bw":null,"status_2xx":8617,"status_3xx":0,"status_4xx":0,"status_5xx":8},{"fw":"helidon-tuned","lang":"Java","rps":513000,"avg_latency":"1.66s","p99_latency":"2.16s","cpu":"1452.3%","memory":"4.2GiB","bandwidth":"0","input_bw":null,"status_2xx":513,"status_3xx":0,"status_4xx":0,"status_5xx":8},{"fw":"sark","lang":"Rust","rps":9547000,"avg_latency":"127.42ms","p99_latency":"428.95ms","cpu":"91.6%","memory":"1.1GiB","bandwidth":"0","input_bw":null,"status_2xx":9547,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2256000,"avg_latency":"507.77ms","p99_latency":"662.44ms","cpu":"6167.0%","memory":"598MiB","bandwidth":"0","input_bw":null,"status_2xx":2256,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"gateway-64-512":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":312171,"avg_latency":"53.88ms","p99_latency":"53.88ms","cpu":"5664.4%","memory":"2.4GiB","bandwidth":"4.08GB/s","input_bw":null,"status_2xx":1579589,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":315917,"tpl_json":552856,"tpl_static":473876,"tpl_async_db":236938},{"fw":"sark","lang":"Rust","rps":107499,"avg_latency":"142.24ms","p99_latency":"2.23s","cpu":"4529.5%","memory":"2.8GiB","bandwidth":"1.18GB/s","input_bw":null,"status_2xx":541798,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":108359,"tpl_json":189629,"tpl_static":162539,"tpl_async_db":81269},{"fw":"trillium","lang":"Rust","rps":84883,"avg_latency":"180.12ms","p99_latency":"2.26s","cpu":"5005.5%","memory":"2.8GiB","bandwidth":"911.39MB/s","input_bw":null,"status_2xx":427811,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":85562,"tpl_json":149733,"tpl_static":128343,"tpl_async_db":64171}],"gateway-64-1024":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":233843,"avg_latency":"141.88ms","p99_latency":"141.88ms","cpu":"5402.8%","memory":"2.7GiB","bandwidth":"3.11GB/s","input_bw":null,"status_2xx":1187924,"status_3xx":0,"status_4xx":0,"status_5xx":4761,"tpl_baseline":237584,"tpl_json":415773,"tpl_static":356377,"tpl_async_db":178188},{"fw":"sark","lang":"Rust","rps":73267,"avg_latency":"353.29ms","p99_latency":"4.65s","cpu":"4305.8%","memory":"4.9GiB","bandwidth":"894.54MB/s","input_bw":null,"status_2xx":370736,"status_3xx":0,"status_4xx":0,"status_5xx":11282,"tpl_baseline":74147,"tpl_json":129757,"tpl_static":111220,"tpl_async_db":55610},{"fw":"trillium","lang":"Rust","rps":79440,"avg_latency":"350.72ms","p99_latency":"4.46s","cpu":"5421.1%","memory":"5.2GiB","bandwidth":"898.18MB/s","input_bw":null,"status_2xx":401969,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":80393,"tpl_json":140689,"tpl_static":120590,"tpl_async_db":60295}],"gateway-h3-64":[{"fw":"aspnet-minimal + caddy","lang":"C#","rps":82666,"avg_latency":"24.55ms","p99_latency":"90.18ms","cpu":"3472.1%","memory":"804MiB","bandwidth":"972.81MB/s","input_bw":null,"status_2xx":415811,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":83162,"tpl_json":145533,"tpl_static":124743,"tpl_async_db":62371},{"fw":"sark","lang":"Rust","rps":93655,"avg_latency":"21.75ms","p99_latency":"82.76ms","cpu":"3197.3%","memory":"907MiB","bandwidth":"1015.09MB/s","input_bw":null,"status_2xx":469213,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":93842,"tpl_json":164224,"tpl_static":140763,"tpl_async_db":70381},{"fw":"trillium","lang":"Rust","rps":83650,"avg_latency":"24.32ms","p99_latency":"89.21ms","cpu":"3996.9%","memory":"944MiB","bandwidth":"861.96MB/s","input_bw":null,"status_2xx":419090,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":83818,"tpl_json":146681,"tpl_static":125727,"tpl_async_db":62863}],"gateway-h3-256":[{"fw":"aspnet-minimal + caddy","lang":"C#","rps":56118,"avg_latency":"141.54ms","p99_latency":"805.47ms","cpu":"2471.5%","memory":"1.6GiB","bandwidth":"646.22MB/s","input_bw":null,"status_2xx":283396,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":56679,"tpl_json":99188,"tpl_static":85018,"tpl_async_db":42509},{"fw":"sark","lang":"Rust","rps":63434,"avg_latency":"125.55ms","p99_latency":"733.02ms","cpu":"2079.4%","memory":"2.2GiB","bandwidth":"672.55MB/s","input_bw":null,"status_2xx":319076,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":63815,"tpl_json":111676,"tpl_static":95722,"tpl_async_db":47861},{"fw":"trillium","lang":"Rust","rps":62121,"avg_latency":"127.74ms","p99_latency":"783.03ms","cpu":"2828.2%","memory":"2.3GiB","bandwidth":"624.77MB/s","input_bw":null,"status_2xx":312470,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":62494,"tpl_json":109364,"tpl_static":93741,"tpl_async_db":46870}],"production-stack-256":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":228290,"avg_latency":"20.13ms","p99_latency":"20.13ms","cpu":"5293.3%","memory":"1.5GiB","bandwidth":"2.37GB/s","input_bw":null,"status_2xx":1150582,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":115058,"tpl_static":345174}],"production-stack-1024":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":193999,"avg_latency":"82.75ms","p99_latency":"82.75ms","cpu":"4840.9%","memory":"2.4GiB","bandwidth":"2.15GB/s","input_bw":null,"status_2xx":987455,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":98745,"tpl_static":296236}],"echo-ws-512":[{"fw":"actix","lang":"Rust","rps":3341436,"avg_latency":"152us","p99_latency":"399us","cpu":"6371.0%","memory":"51MiB","bandwidth":"22.30MB/s","input_bw":null,"status_2xx":16707184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1835273,"avg_latency":"278us","p99_latency":"696us","cpu":"6128.2%","memory":"220.4MiB","bandwidth":"12.25MB/s","input_bw":null,"status_2xx":9176367,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":2179367,"avg_latency":"234us","p99_latency":"1.17ms","cpu":"5783.5%","memory":"161MiB","bandwidth":"14.55MB/s","input_bw":null,"status_2xx":10896835,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":664189,"avg_latency":"770us","p99_latency":"1.14ms","cpu":"6688.9%","memory":"1.4GiB","bandwidth":"4.43MB/s","input_bw":null,"status_2xx":3320948,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":3555015,"avg_latency":"143us","p99_latency":"424us","cpu":"6072.8%","memory":"668MiB","bandwidth":"23.73MB/s","input_bw":null,"status_2xx":17775079,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":2365380,"avg_latency":"215us","p99_latency":"394us","cpu":"6579.0%","memory":"2.4GiB","bandwidth":"15.79MB/s","input_bw":"","status_2xx":11826902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":3778388,"avg_latency":"134us","p99_latency":"182us","cpu":"6501.3%","memory":"2.0GiB","bandwidth":"25.21MB/s","input_bw":null,"status_2xx":18891940,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":380138,"avg_latency":"1.34ms","p99_latency":"16.20ms","cpu":"3380.0%","memory":"528MiB","bandwidth":"2.54MB/s","input_bw":null,"status_2xx":1900692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":1583839,"avg_latency":"286us","p99_latency":"1.85ms","cpu":"5003.5%","memory":"214MiB","bandwidth":"10.58MB/s","input_bw":null,"status_2xx":7919198,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":3732298,"avg_latency":"136us","p99_latency":"348us","cpu":"6539.8%","memory":"2.3GiB","bandwidth":"24.91MB/s","input_bw":null,"status_2xx":18661491,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":2292442,"avg_latency":"222us","p99_latency":"1.17ms","cpu":"5689.8%","memory":"173MiB","bandwidth":"15.30MB/s","input_bw":null,"status_2xx":11462212,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2317724,"avg_latency":"220us","p99_latency":"933us","cpu":"5729.1%","memory":"276MiB","bandwidth":"15.47MB/s","input_bw":null,"status_2xx":11588622,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":3192920,"avg_latency":"159us","p99_latency":"331us","cpu":"6128.6%","memory":"379MiB","bandwidth":"21.31MB/s","input_bw":null,"status_2xx":15964604,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1693291,"avg_latency":"301us","p99_latency":"1.55ms","cpu":"5681.0%","memory":"236MiB","bandwidth":"11.31MB/s","input_bw":null,"status_2xx":8466456,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-websocket","lang":"Go","rps":964703,"avg_latency":"406us","p99_latency":"5.83ms","cpu":"5206.1%","memory":"93.3MiB","bandwidth":"6.45MB/s","input_bw":"","status_2xx":4823519,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2368878,"avg_latency":"215us","p99_latency":"398us","cpu":"6492.6%","memory":"1.5GiB","bandwidth":"15.81MB/s","input_bw":"","status_2xx":11844393,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2332357,"avg_latency":"218us","p99_latency":"413us","cpu":"6439.2%","memory":"986.7MiB","bandwidth":"15.57MB/s","input_bw":"","status_2xx":11661786,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3303164,"avg_latency":"154us","p99_latency":"2.46ms","cpu":"6567.6%","memory":"49MiB","bandwidth":"22.04MB/s","input_bw":null,"status_2xx":16515823,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":431538,"avg_latency":"1.19ms","p99_latency":"1.64ms","cpu":"1658.0%","memory":"1.8GiB","bandwidth":"2.88MB/s","input_bw":null,"status_2xx":2157693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":1021279,"avg_latency":"500us","p99_latency":"1.13ms","cpu":"3426.5%","memory":"2.5GiB","bandwidth":"6.82MB/s","input_bw":null,"status_2xx":5106399,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":1021563,"avg_latency":"500us","p99_latency":"1.33ms","cpu":"3426.9%","memory":"2.5GiB","bandwidth":"6.82MB/s","input_bw":null,"status_2xx":5107819,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":3108882,"avg_latency":"164us","p99_latency":"325us","cpu":"5824.0%","memory":"97MiB","bandwidth":"20.75MB/s","input_bw":null,"status_2xx":15544413,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":4145985,"avg_latency":"122us","p99_latency":"268us","cpu":"6167.3%","memory":"442MiB","bandwidth":"27.67MB/s","input_bw":null,"status_2xx":20729925,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1172794,"avg_latency":"436us","p99_latency":"1.05ms","cpu":"1824.5%","memory":"45MiB","bandwidth":"7.83MB/s","input_bw":null,"status_2xx":5863971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":1969290,"avg_latency":"258us","p99_latency":"600us","cpu":"6586.2%","memory":"1.2GiB","bandwidth":"13.15MB/s","input_bw":"","status_2xx":9846450,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1405394,"avg_latency":"363us","p99_latency":"559us","cpu":"6851.8%","memory":"348MiB","bandwidth":"9.38MB/s","input_bw":null,"status_2xx":7026970,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":4353147,"avg_latency":"117us","p99_latency":"213us","cpu":"6200.6%","memory":"210MiB","bandwidth":"29.05MB/s","input_bw":null,"status_2xx":21765739,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":836235,"avg_latency":"178us","p99_latency":"569us","cpu":"5901.8%","memory":"298MiB","bandwidth":"5.58MB/s","input_bw":null,"status_2xx":4181178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4179366,"avg_latency":"121us","p99_latency":"258us","cpu":"6316.3%","memory":"1.1GiB","bandwidth":"27.89MB/s","input_bw":null,"status_2xx":20896833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":2113981,"avg_latency":"241us","p99_latency":"1.41ms","cpu":"5776.0%","memory":"180MiB","bandwidth":"14.11MB/s","input_bw":null,"status_2xx":10569906,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2677341,"avg_latency":"190us","p99_latency":"426us","cpu":"6243.6%","memory":"552MiB","bandwidth":"17.87MB/s","input_bw":null,"status_2xx":13386707,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3056601,"avg_latency":"166us","p99_latency":"3.04ms","cpu":"6657.4%","memory":"184.5MiB","bandwidth":"20.40MB/s","input_bw":"","status_2xx":15283009,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":3518113,"avg_latency":"144us","p99_latency":"293us","cpu":"6434.4%","memory":"43MiB","bandwidth":"23.48MB/s","input_bw":null,"status_2xx":17590567,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":4352944,"avg_latency":"117us","p99_latency":"213us","cpu":"6332.2%","memory":"43MiB","bandwidth":"29.05MB/s","input_bw":null,"status_2xx":21764720,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":443216,"avg_latency":"1.08ms","p99_latency":"2.47ms","cpu":"3275.4%","memory":"341MiB","bandwidth":"2.96MB/s","input_bw":null,"status_2xx":2216080,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1696025,"avg_latency":"301us","p99_latency":"652us","cpu":"6636.4%","memory":"362MiB","bandwidth":"11.32MB/s","input_bw":null,"status_2xx":8480126,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2839865,"avg_latency":"93us","p99_latency":"474us","cpu":"6717.4%","memory":"177MiB","bandwidth":"18.95MB/s","input_bw":null,"status_2xx":14199326,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":3911720,"avg_latency":"130us","p99_latency":"585us","cpu":"6402.2%","memory":"58MiB","bandwidth":"26.10MB/s","input_bw":null,"status_2xx":19558603,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman-websocket","lang":"PHP","rps":3309973,"avg_latency":"154us","p99_latency":"402us","cpu":"6406.1%","memory":"138.9MiB","bandwidth":"22.09MB/s","input_bw":"","status_2xx":16549866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4131449,"avg_latency":"123us","p99_latency":"279us","cpu":"6324.4%","memory":"41MiB","bandwidth":"27.57MB/s","input_bw":null,"status_2xx":20657246,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":4321169,"avg_latency":"117us","p99_latency":"200us","cpu":"6412.5%","memory":"190MiB","bandwidth":"28.85MB/s","input_bw":null,"status_2xx":21605849,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-4096":[{"fw":"actix","lang":"Rust","rps":3409380,"avg_latency":"1.03ms","p99_latency":"2.02ms","cpu":"6233.3%","memory":"201MiB","bandwidth":"22.88MB/s","input_bw":null,"status_2xx":17046902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1806996,"avg_latency":"1.72ms","p99_latency":"5.25ms","cpu":"6120.1%","memory":"389.2MiB","bandwidth":"12.20MB/s","input_bw":null,"status_2xx":9034981,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":2124490,"avg_latency":"1.67ms","p99_latency":"8.50ms","cpu":"5789.1%","memory":"373MiB","bandwidth":"14.25MB/s","input_bw":null,"status_2xx":10622453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":683415,"avg_latency":"5.91ms","p99_latency":"11.40ms","cpu":"6686.7%","memory":"1.6GiB","bandwidth":"4.71MB/s","input_bw":null,"status_2xx":3417075,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":3734799,"avg_latency":"1.09ms","p99_latency":"2.96ms","cpu":"6225.2%","memory":"643MiB","bandwidth":"25.05MB/s","input_bw":null,"status_2xx":18673999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":2718380,"avg_latency":"1.49ms","p99_latency":"2.58ms","cpu":"6373.7%","memory":"3.7GiB","bandwidth":"18.27MB/s","input_bw":"","status_2xx":13591900,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":3783152,"avg_latency":"1.08ms","p99_latency":"1.75ms","cpu":"5941.2%","memory":"3.9GiB","bandwidth":"25.34MB/s","input_bw":null,"status_2xx":18915764,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":344562,"avg_latency":"8.06ms","p99_latency":"33.50ms","cpu":"2497.4%","memory":"2.0GiB","bandwidth":"2.39MB/s","input_bw":null,"status_2xx":1722810,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":1589868,"avg_latency":"865us","p99_latency":"5.27ms","cpu":"5306.8%","memory":"240MiB","bandwidth":"10.66MB/s","input_bw":null,"status_2xx":7949344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":3767961,"avg_latency":"1.09ms","p99_latency":"2.31ms","cpu":"6357.6%","memory":"2.3GiB","bandwidth":"25.15MB/s","input_bw":null,"status_2xx":18839805,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":2263702,"avg_latency":"1.57ms","p99_latency":"5.07ms","cpu":"5865.2%","memory":"655MiB","bandwidth":"15.25MB/s","input_bw":null,"status_2xx":11318514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2276492,"avg_latency":"1.66ms","p99_latency":"5.61ms","cpu":"5803.7%","memory":"632MiB","bandwidth":"15.33MB/s","input_bw":null,"status_2xx":11382463,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":3295066,"avg_latency":"1.24ms","p99_latency":"4.53ms","cpu":"5937.2%","memory":"524MiB","bandwidth":"22.12MB/s","input_bw":null,"status_2xx":16475334,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1690562,"avg_latency":"2.02ms","p99_latency":"6.03ms","cpu":"5921.6%","memory":"538MiB","bandwidth":"11.41MB/s","input_bw":null,"status_2xx":8452812,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-websocket","lang":"Go","rps":1089321,"avg_latency":"3.43ms","p99_latency":"37.10ms","cpu":"5660.4%","memory":"194.5MiB","bandwidth":"7.37MB/s","input_bw":"","status_2xx":5446606,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2177523,"avg_latency":"1.59ms","p99_latency":"3.03ms","cpu":"6370.9%","memory":"1.6GiB","bandwidth":"14.63MB/s","input_bw":"","status_2xx":10887618,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2212682,"avg_latency":"1.84ms","p99_latency":"3.09ms","cpu":"6415.9%","memory":"1.7GiB","bandwidth":"14.84MB/s","input_bw":"","status_2xx":11063412,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3661346,"avg_latency":"1.12ms","p99_latency":"6.63ms","cpu":"6572.7%","memory":"157MiB","bandwidth":"24.44MB/s","input_bw":null,"status_2xx":18306731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":429659,"avg_latency":"8.23ms","p99_latency":"10.50ms","cpu":"1564.7%","memory":"1.9GiB","bandwidth":"2.99MB/s","input_bw":null,"status_2xx":2148295,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":980019,"avg_latency":"4.15ms","p99_latency":"8.98ms","cpu":"3411.2%","memory":"6.6GiB","bandwidth":"6.64MB/s","input_bw":null,"status_2xx":4900095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":973072,"avg_latency":"4.16ms","p99_latency":"9.46ms","cpu":"3435.1%","memory":"3.4GiB","bandwidth":"6.59MB/s","input_bw":null,"status_2xx":4865362,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2999367,"avg_latency":"1.36ms","p99_latency":"2.23ms","cpu":"5859.7%","memory":"169MiB","bandwidth":"20.02MB/s","input_bw":null,"status_2xx":14996838,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":4263272,"avg_latency":"960us","p99_latency":"1.25ms","cpu":"6197.1%","memory":"542MiB","bandwidth":"28.44MB/s","input_bw":null,"status_2xx":21316360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1362540,"avg_latency":"3.00ms","p99_latency":"4.62ms","cpu":"2209.3%","memory":"155MiB","bandwidth":"9.16MB/s","input_bw":null,"status_2xx":6812701,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":1996581,"avg_latency":"1.51ms","p99_latency":"3.02ms","cpu":"6422.5%","memory":"1.4GiB","bandwidth":"13.43MB/s","input_bw":"","status_2xx":9982908,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1325316,"avg_latency":"2.60ms","p99_latency":"3.46ms","cpu":"6671.3%","memory":"501MiB","bandwidth":"8.99MB/s","input_bw":null,"status_2xx":6626581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":4429548,"avg_latency":"924us","p99_latency":"1.27ms","cpu":"6408.1%","memory":"231MiB","bandwidth":"29.56MB/s","input_bw":null,"status_2xx":22147743,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":672875,"avg_latency":"214us","p99_latency":"596us","cpu":"5510.5%","memory":"295MiB","bandwidth":"4.49MB/s","input_bw":null,"status_2xx":3364378,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4394447,"avg_latency":"931us","p99_latency":"1.29ms","cpu":"6257.3%","memory":"1.2GiB","bandwidth":"29.32MB/s","input_bw":null,"status_2xx":21972236,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":2002254,"avg_latency":"1.96ms","p99_latency":"6.32ms","cpu":"5809.2%","memory":"520MiB","bandwidth":"13.48MB/s","input_bw":null,"status_2xx":10011273,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2662330,"avg_latency":"1.53ms","p99_latency":"5.62ms","cpu":"5754.6%","memory":"942MiB","bandwidth":"17.89MB/s","input_bw":null,"status_2xx":13311653,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3354954,"avg_latency":"1.22ms","p99_latency":"6.79ms","cpu":"6338.1%","memory":"194.5MiB","bandwidth":"22.56MB/s","input_bw":"","status_2xx":16774770,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":3696168,"avg_latency":"1.11ms","p99_latency":"1.70ms","cpu":"6617.9%","memory":"172MiB","bandwidth":"24.67MB/s","input_bw":null,"status_2xx":18480840,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":4433246,"avg_latency":"923us","p99_latency":"1.19ms","cpu":"6228.7%","memory":"176MiB","bandwidth":"29.59MB/s","input_bw":null,"status_2xx":22166232,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":354094,"avg_latency":"4.29ms","p99_latency":"11.60ms","cpu":"4187.7%","memory":"667MiB","bandwidth":"2.47MB/s","input_bw":null,"status_2xx":1770472,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":418203,"avg_latency":"9.78ms","p99_latency":"12.80ms","cpu":"6312.7%","memory":"938MiB","bandwidth":"2.88MB/s","input_bw":null,"status_2xx":2091016,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2738284,"avg_latency":"140us","p99_latency":"639us","cpu":"6294.2%","memory":"464MiB","bandwidth":"18.28MB/s","input_bw":null,"status_2xx":13691422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":4378205,"avg_latency":"931us","p99_latency":"6.50ms","cpu":"6432.2%","memory":"147MiB","bandwidth":"29.29MB/s","input_bw":null,"status_2xx":21891028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman-websocket","lang":"PHP","rps":3413565,"avg_latency":"1.20ms","p99_latency":"2.54ms","cpu":"6499.4%","memory":"165.8MiB","bandwidth":"22.81MB/s","input_bw":"","status_2xx":17067829,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4160268,"avg_latency":"984us","p99_latency":"1.41ms","cpu":"6480.3%","memory":"121MiB","bandwidth":"27.77MB/s","input_bw":null,"status_2xx":20801340,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":4536341,"avg_latency":"902us","p99_latency":"1.20ms","cpu":"6404.1%","memory":"246MiB","bandwidth":"30.28MB/s","input_bw":null,"status_2xx":22681708,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-16384":[{"fw":"actix","lang":"Rust","rps":3245865,"avg_latency":"2.33ms","p99_latency":"4.48ms","cpu":"6062.1%","memory":"485MiB","bandwidth":"22.00MB/s","input_bw":null,"status_2xx":16229328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1686022,"avg_latency":"3.63ms","p99_latency":"10.10ms","cpu":"6033.9%","memory":"456.1MiB","bandwidth":"11.51MB/s","input_bw":null,"status_2xx":8430114,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":2060081,"avg_latency":"4.13ms","p99_latency":"16.00ms","cpu":"5984.2%","memory":"818MiB","bandwidth":"14.04MB/s","input_bw":null,"status_2xx":10300408,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":645053,"avg_latency":"24.14ms","p99_latency":"37.10ms","cpu":"6665.4%","memory":"2.1GiB","bandwidth":"4.88MB/s","input_bw":null,"status_2xx":3225268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":3465910,"avg_latency":"4.66ms","p99_latency":"11.10ms","cpu":"5836.8%","memory":"752MiB","bandwidth":"23.64MB/s","input_bw":null,"status_2xx":17329550,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":2261663,"avg_latency":"2.04ms","p99_latency":"5.35ms","cpu":"5970.8%","memory":"2.8GiB","bandwidth":"15.34MB/s","input_bw":"","status_2xx":11308315,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":3487985,"avg_latency":"4.62ms","p99_latency":"6.59ms","cpu":"6454.0%","memory":"6.4GiB","bandwidth":"23.68MB/s","input_bw":null,"status_2xx":17439927,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":403760,"avg_latency":"10.06ms","p99_latency":"50.20ms","cpu":"2508.8%","memory":"2.3GiB","bandwidth":"2.90MB/s","input_bw":null,"status_2xx":2018804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":1544854,"avg_latency":"1.90ms","p99_latency":"10.00ms","cpu":"5549.8%","memory":"310MiB","bandwidth":"10.41MB/s","input_bw":null,"status_2xx":7724273,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":3568966,"avg_latency":"4.57ms","p99_latency":"9.04ms","cpu":"6477.4%","memory":"2.4GiB","bandwidth":"24.34MB/s","input_bw":null,"status_2xx":17844833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":2131324,"avg_latency":"4.03ms","p99_latency":"11.00ms","cpu":"5815.6%","memory":"1.7GiB","bandwidth":"14.63MB/s","input_bw":null,"status_2xx":10656623,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2171335,"avg_latency":"3.68ms","p99_latency":"9.76ms","cpu":"5950.7%","memory":"1.3GiB","bandwidth":"14.84MB/s","input_bw":null,"status_2xx":10856676,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2876588,"avg_latency":"5.67ms","p99_latency":"15.50ms","cpu":"5837.8%","memory":"1003MiB","bandwidth":"19.78MB/s","input_bw":null,"status_2xx":14382940,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1719061,"avg_latency":"1.90ms","p99_latency":"5.87ms","cpu":"5880.3%","memory":"684MiB","bandwidth":"11.61MB/s","input_bw":null,"status_2xx":8595305,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-websocket","lang":"Go","rps":1032459,"avg_latency":"8.61ms","p99_latency":"54.00ms","cpu":"5415.4%","memory":"516.1MiB","bandwidth":"7.27MB/s","input_bw":"","status_2xx":5162299,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1964466,"avg_latency":"3.00ms","p99_latency":"6.18ms","cpu":"6046.1%","memory":"1021.0MiB","bandwidth":"13.34MB/s","input_bw":"","status_2xx":9822334,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":1981975,"avg_latency":"7.56ms","p99_latency":"11.30ms","cpu":"6154.8%","memory":"3.3GiB","bandwidth":"13.63MB/s","input_bw":"","status_2xx":9909876,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3280432,"avg_latency":"4.96ms","p99_latency":"11.00ms","cpu":"6536.6%","memory":"512MiB","bandwidth":"22.30MB/s","input_bw":null,"status_2xx":16402162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":414613,"avg_latency":"10.30ms","p99_latency":"13.90ms","cpu":"1480.3%","memory":"2.0GiB","bandwidth":"2.96MB/s","input_bw":null,"status_2xx":2073066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":645400,"avg_latency":"24.58ms","p99_latency":"42.30ms","cpu":"3396.7%","memory":"14.8GiB","bandwidth":"4.71MB/s","input_bw":null,"status_2xx":3227002,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":676216,"avg_latency":"23.65ms","p99_latency":"42.90ms","cpu":"3283.8%","memory":"15.7GiB","bandwidth":"4.92MB/s","input_bw":null,"status_2xx":3381080,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2650618,"avg_latency":"6.13ms","p99_latency":"8.70ms","cpu":"5590.9%","memory":"388MiB","bandwidth":"18.26MB/s","input_bw":null,"status_2xx":13253092,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":3987143,"avg_latency":"4.03ms","p99_latency":"4.90ms","cpu":"6393.2%","memory":"749MiB","bandwidth":"27.00MB/s","input_bw":null,"status_2xx":19935719,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1098016,"avg_latency":"14.70ms","p99_latency":"16.60ms","cpu":"2010.1%","memory":"450MiB","bandwidth":"7.73MB/s","input_bw":null,"status_2xx":5490083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":1831732,"avg_latency":"2.58ms","p99_latency":"6.08ms","cpu":"6170.9%","memory":"1.4GiB","bandwidth":"12.39MB/s","input_bw":"","status_2xx":9158662,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1264822,"avg_latency":"4.54ms","p99_latency":"8.30ms","cpu":"6388.6%","memory":"707MiB","bandwidth":"8.89MB/s","input_bw":null,"status_2xx":6324113,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":4066852,"avg_latency":"4.00ms","p99_latency":"4.73ms","cpu":"6398.4%","memory":"336MiB","bandwidth":"27.53MB/s","input_bw":null,"status_2xx":20334260,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":585893,"avg_latency":"252us","p99_latency":"664us","cpu":"5232.3%","memory":"268MiB","bandwidth":"3.91MB/s","input_bw":null,"status_2xx":2929467,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4079554,"avg_latency":"3.98ms","p99_latency":"4.74ms","cpu":"6377.9%","memory":"1.6GiB","bandwidth":"27.63MB/s","input_bw":null,"status_2xx":20397770,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1638483,"avg_latency":"7.91ms","p99_latency":"21.10ms","cpu":"5854.9%","memory":"1.4GiB","bandwidth":"11.45MB/s","input_bw":null,"status_2xx":8192415,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2252764,"avg_latency":"7.18ms","p99_latency":"20.60ms","cpu":"5850.4%","memory":"2.1GiB","bandwidth":"15.55MB/s","input_bw":null,"status_2xx":11263820,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3168894,"avg_latency":"5.04ms","p99_latency":"13.70ms","cpu":"6468.8%","memory":"346.9MiB","bandwidth":"21.84MB/s","input_bw":"","status_2xx":15844473,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":3636463,"avg_latency":"4.47ms","p99_latency":"5.93ms","cpu":"6536.9%","memory":"661MiB","bandwidth":"24.67MB/s","input_bw":null,"status_2xx":18182317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":4143535,"avg_latency":"3.93ms","p99_latency":"4.67ms","cpu":"6399.5%","memory":"590MiB","bandwidth":"28.05MB/s","input_bw":null,"status_2xx":20717677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":348539,"avg_latency":"9.88ms","p99_latency":"18.80ms","cpu":"4061.9%","memory":"1.2GiB","bandwidth":"2.54MB/s","input_bw":null,"status_2xx":1742696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":399873,"avg_latency":"40.19ms","p99_latency":"45.60ms","cpu":"6295.9%","memory":"2.7GiB","bandwidth":"3.29MB/s","input_bw":null,"status_2xx":1999366,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2681888,"avg_latency":"160us","p99_latency":"1.02ms","cpu":"6185.7%","memory":"818MiB","bandwidth":"18.01MB/s","input_bw":null,"status_2xx":13409442,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":4095404,"avg_latency":"3.92ms","p99_latency":"10.90ms","cpu":"6424.7%","memory":"455MiB","bandwidth":"27.73MB/s","input_bw":null,"status_2xx":20477021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman-websocket","lang":"PHP","rps":3190157,"avg_latency":"4.96ms","p99_latency":"10.60ms","cpu":"6403.0%","memory":"311.0MiB","bandwidth":"21.83MB/s","input_bw":"","status_2xx":15950785,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3732875,"avg_latency":"4.38ms","p99_latency":"5.85ms","cpu":"6257.3%","memory":"375MiB","bandwidth":"25.31MB/s","input_bw":null,"status_2xx":18664377,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":4344058,"avg_latency":"3.75ms","p99_latency":"4.36ms","cpu":"6407.8%","memory":"416MiB","bandwidth":"29.38MB/s","input_bw":null,"status_2xx":21720294,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-pipeline-512":[{"fw":"actix","lang":"Rust","rps":43725228,"avg_latency":"186us","p99_latency":"307us","cpu":"6751.9%","memory":"58MiB","bandwidth":"291.82MB/s","input_bw":null,"status_2xx":218626144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":19748819,"avg_latency":"414us","p99_latency":"2.08ms","cpu":"5700.1%","memory":"225MiB","bandwidth":"131.81MB/s","input_bw":null,"status_2xx":98744095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":23046013,"avg_latency":"354us","p99_latency":"2.40ms","cpu":"5767.8%","memory":"132MiB","bandwidth":"153.81MB/s","input_bw":null,"status_2xx":115230066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":44609561,"avg_latency":"182us","p99_latency":"487us","cpu":"6411.7%","memory":"906MiB","bandwidth":"297.72MB/s","input_bw":null,"status_2xx":223047808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":4951982,"avg_latency":"1.65ms","p99_latency":"3.99ms","cpu":"6393.6%","memory":"4.0GiB","bandwidth":"33.05MB/s","input_bw":null,"status_2xx":24759912,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":50423046,"avg_latency":"161us","p99_latency":"279us","cpu":"6634.1%","memory":"1.9GiB","bandwidth":"336.44MB/s","input_bw":null,"status_2xx":252115232,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":6409491,"avg_latency":"1.27ms","p99_latency":"16.00ms","cpu":"3555.4%","memory":"498MiB","bandwidth":"42.78MB/s","input_bw":null,"status_2xx":32047456,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":6583055,"avg_latency":"1.09ms","p99_latency":"10.60ms","cpu":"6121.6%","memory":"512MiB","bandwidth":"43.94MB/s","input_bw":null,"status_2xx":32915277,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":24928716,"avg_latency":"327us","p99_latency":"883us","cpu":"6811.8%","memory":"2.3GiB","bandwidth":"166.38MB/s","input_bw":null,"status_2xx":124643584,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":28359020,"avg_latency":"288us","p99_latency":"1.74ms","cpu":"5514.2%","memory":"275MiB","bandwidth":"189.27MB/s","input_bw":null,"status_2xx":141795104,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":35911375,"avg_latency":"227us","p99_latency":"1.57ms","cpu":"5797.6%","memory":"382MiB","bandwidth":"239.68MB/s","input_bw":null,"status_2xx":179556879,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":21753939,"avg_latency":"376us","p99_latency":"1.96ms","cpu":"5470.6%","memory":"269MiB","bandwidth":"145.19MB/s","input_bw":null,"status_2xx":108769696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":11215557,"avg_latency":"729us","p99_latency":"2.13ms","cpu":"3370.7%","memory":"10.8GiB","bandwidth":"74.85MB/s","input_bw":null,"status_2xx":56077786,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":11253401,"avg_latency":"727us","p99_latency":"1.93ms","cpu":"3375.7%","memory":"9.8GiB","bandwidth":"75.11MB/s","input_bw":null,"status_2xx":56267007,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":62333664,"avg_latency":"130us","p99_latency":"294us","cpu":"6245.8%","memory":"408MiB","bandwidth":"416.00MB/s","input_bw":null,"status_2xx":311668320,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":5265146,"avg_latency":"1.55ms","p99_latency":"4.00ms","cpu":"6263.6%","memory":"41MiB","bandwidth":"35.14MB/s","input_bw":null,"status_2xx":26325734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":3567410,"avg_latency":"2.29ms","p99_latency":"2.78ms","cpu":"6387.2%","memory":"1.4GiB","bandwidth":"23.81MB/s","input_bw":null,"status_2xx":17837054,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1992364,"avg_latency":"4.11ms","p99_latency":"5.72ms","cpu":"6739.4%","memory":"346MiB","bandwidth":"13.30MB/s","input_bw":null,"status_2xx":9961823,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":66683702,"avg_latency":"122us","p99_latency":"218us","cpu":"6289.2%","memory":"203MiB","bandwidth":"444.97MB/s","input_bw":null,"status_2xx":333418511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2094098,"avg_latency":"1.15ms","p99_latency":"2.54ms","cpu":"6445.0%","memory":"184MiB","bandwidth":"13.97MB/s","input_bw":null,"status_2xx":10470494,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":63019270,"avg_latency":"129us","p99_latency":"276us","cpu":"6366.9%","memory":"1.1GiB","bandwidth":"420.57MB/s","input_bw":null,"status_2xx":315096352,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":9401225,"avg_latency":"781us","p99_latency":"2.67ms","cpu":"6098.7%","memory":"324MiB","bandwidth":"62.74MB/s","input_bw":null,"status_2xx":47006129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":3130608,"avg_latency":"2.62ms","p99_latency":"7.63ms","cpu":"6034.1%","memory":"545MiB","bandwidth":"20.89MB/s","input_bw":null,"status_2xx":15653040,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3750207,"avg_latency":"2.18ms","p99_latency":"8.47ms","cpu":"6428.3%","memory":"180MiB","bandwidth":"25.03MB/s","input_bw":null,"status_2xx":18751038,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":54434438,"avg_latency":"149us","p99_latency":"307us","cpu":"6624.4%","memory":"44MiB","bandwidth":"363.19MB/s","input_bw":null,"status_2xx":272172192,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":65856262,"avg_latency":"123us","p99_latency":"238us","cpu":"6216.1%","memory":"42MiB","bandwidth":"439.66MB/s","input_bw":null,"status_2xx":329281312,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":4612210,"avg_latency":"1.70ms","p99_latency":"4.34ms","cpu":"6059.1%","memory":"330MiB","bandwidth":"30.78MB/s","input_bw":null,"status_2xx":23061052,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":4758055,"avg_latency":"1.72ms","p99_latency":"3.29ms","cpu":"6397.1%","memory":"377MiB","bandwidth":"31.76MB/s","input_bw":null,"status_2xx":23790275,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":18372604,"avg_latency":"146us","p99_latency":"135us","cpu":"6378.4%","memory":"182MiB","bandwidth":"122.61MB/s","input_bw":null,"status_2xx":91863023,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":59233593,"avg_latency":"137us","p99_latency":"711us","cpu":"6447.9%","memory":"57MiB","bandwidth":"395.26MB/s","input_bw":null,"status_2xx":296167967,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":20163386,"avg_latency":"405us","p99_latency":"849us","cpu":"6500.0%","memory":"39MiB","bandwidth":"134.57MB/s","input_bw":null,"status_2xx":100816934,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":60116442,"avg_latency":"135us","p99_latency":"314us","cpu":"6292.1%","memory":"196MiB","bandwidth":"401.03MB/s","input_bw":null,"status_2xx":300582211,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-pipeline-4096":[{"fw":"actix","lang":"Rust","rps":43075564,"avg_latency":"1.29ms","p99_latency":"1.82ms","cpu":"6392.9%","memory":"212MiB","bandwidth":"287.58MB/s","input_bw":null,"status_2xx":215377824,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":19744758,"avg_latency":"1.92ms","p99_latency":"7.12ms","cpu":"5656.8%","memory":"380MiB","bandwidth":"131.89MB/s","input_bw":null,"status_2xx":98723790,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":23969976,"avg_latency":"2.50ms","p99_latency":"9.91ms","cpu":"6014.3%","memory":"376MiB","bandwidth":"160.04MB/s","input_bw":null,"status_2xx":119849883,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":44900630,"avg_latency":"1.46ms","p99_latency":"3.26ms","cpu":"6326.2%","memory":"887MiB","bandwidth":"299.67MB/s","input_bw":null,"status_2xx":224503152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":3489805,"avg_latency":"18.56ms","p99_latency":"43.20ms","cpu":"6333.1%","memory":"4.2GiB","bandwidth":"23.42MB/s","input_bw":null,"status_2xx":17449029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":51559933,"avg_latency":"1.26ms","p99_latency":"1.90ms","cpu":"6275.6%","memory":"3.9GiB","bandwidth":"344.18MB/s","input_bw":null,"status_2xx":257799668,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":5748038,"avg_latency":"8.07ms","p99_latency":"31.50ms","cpu":"2538.8%","memory":"2.0GiB","bandwidth":"38.46MB/s","input_bw":null,"status_2xx":28740191,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":7182197,"avg_latency":"3.02ms","p99_latency":"31.30ms","cpu":"6125.7%","memory":"1.2GiB","bandwidth":"47.99MB/s","input_bw":null,"status_2xx":35910985,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":24903491,"avg_latency":"2.63ms","p99_latency":"5.29ms","cpu":"6608.8%","memory":"2.4GiB","bandwidth":"166.28MB/s","input_bw":null,"status_2xx":124517456,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":28690755,"avg_latency":"2.11ms","p99_latency":"7.87ms","cpu":"5862.3%","memory":"673MiB","bandwidth":"191.60MB/s","input_bw":null,"status_2xx":143453776,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":35757884,"avg_latency":"1.83ms","p99_latency":"7.56ms","cpu":"5708.3%","memory":"562MiB","bandwidth":"238.64MB/s","input_bw":null,"status_2xx":178789424,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":21931049,"avg_latency":"1.59ms","p99_latency":"6.37ms","cpu":"5751.0%","memory":"515MiB","bandwidth":"146.48MB/s","input_bw":null,"status_2xx":109655248,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":10647634,"avg_latency":"6.12ms","p99_latency":"15.10ms","cpu":"3385.1%","memory":"13.0GiB","bandwidth":"71.15MB/s","input_bw":null,"status_2xx":53238171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":11090871,"avg_latency":"5.89ms","p99_latency":"14.40ms","cpu":"3425.7%","memory":"13.7GiB","bandwidth":"74.07MB/s","input_bw":null,"status_2xx":55454359,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":63975814,"avg_latency":"1.02ms","p99_latency":"1.43ms","cpu":"6445.7%","memory":"511MiB","bandwidth":"426.95MB/s","input_bw":null,"status_2xx":319879072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":5655074,"avg_latency":"11.56ms","p99_latency":"36.90ms","cpu":"6446.2%","memory":"156MiB","bandwidth":"37.78MB/s","input_bw":null,"status_2xx":28275372,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":3619116,"avg_latency":"12.92ms","p99_latency":"19.90ms","cpu":"6372.7%","memory":"2.0GiB","bandwidth":"24.25MB/s","input_bw":null,"status_2xx":18095583,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1867526,"avg_latency":"29.82ms","p99_latency":"41.90ms","cpu":"6575.2%","memory":"578MiB","bandwidth":"12.62MB/s","input_bw":null,"status_2xx":9337632,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":68438198,"avg_latency":"954us","p99_latency":"1.42ms","cpu":"6160.2%","memory":"228MiB","bandwidth":"456.82MB/s","input_bw":null,"status_2xx":342190992,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2153769,"avg_latency":"1.01ms","p99_latency":"3.56ms","cpu":"6441.9%","memory":"192MiB","bandwidth":"14.38MB/s","input_bw":null,"status_2xx":10768848,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":64629072,"avg_latency":"1.01ms","p99_latency":"1.32ms","cpu":"6254.4%","memory":"1.2GiB","bandwidth":"431.34MB/s","input_bw":null,"status_2xx":323145360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":8801906,"avg_latency":"5.68ms","p99_latency":"3.90ms","cpu":"6132.4%","memory":"602MiB","bandwidth":"58.85MB/s","input_bw":null,"status_2xx":44009533,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":3238831,"avg_latency":"20.22ms","p99_latency":"43.70ms","cpu":"5859.3%","memory":"1.1GiB","bandwidth":"21.65MB/s","input_bw":null,"status_2xx":16194155,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3778342,"avg_latency":"17.33ms","p99_latency":"37.30ms","cpu":"6364.5%","memory":"196MiB","bandwidth":"25.24MB/s","input_bw":null,"status_2xx":18891712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":56997062,"avg_latency":"1.15ms","p99_latency":"1.73ms","cpu":"6614.2%","memory":"172MiB","bandwidth":"380.40MB/s","input_bw":null,"status_2xx":284985312,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":66930970,"avg_latency":"978us","p99_latency":"1.32ms","cpu":"6240.6%","memory":"173MiB","bandwidth":"446.59MB/s","input_bw":null,"status_2xx":334654854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":4972287,"avg_latency":"5.02ms","p99_latency":"19.80ms","cpu":"6465.3%","memory":"623MiB","bandwidth":"33.28MB/s","input_bw":null,"status_2xx":24861435,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":4661739,"avg_latency":"13.98ms","p99_latency":"19.10ms","cpu":"6392.3%","memory":"908MiB","bandwidth":"31.27MB/s","input_bw":null,"status_2xx":23308695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":18343548,"avg_latency":"219us","p99_latency":"458us","cpu":"6309.3%","memory":"458MiB","bandwidth":"122.41MB/s","input_bw":null,"status_2xx":91717744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":65026006,"avg_latency":"998us","p99_latency":"6.56ms","cpu":"6271.7%","memory":"138MiB","bandwidth":"433.82MB/s","input_bw":null,"status_2xx":325130032,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":20110483,"avg_latency":"3.26ms","p99_latency":"4.17ms","cpu":"6596.5%","memory":"120MiB","bandwidth":"134.22MB/s","input_bw":null,"status_2xx":100552419,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":66163871,"avg_latency":"980us","p99_latency":"2.02ms","cpu":"6131.5%","memory":"241MiB","bandwidth":"442.17MB/s","input_bw":null,"status_2xx":331480998,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-pipeline-16384":[{"fw":"actix","lang":"Rust","rps":37668525,"avg_latency":"3.30ms","p99_latency":"7.78ms","cpu":"5797.9%","memory":"544MiB","bandwidth":"251.72MB/s","input_bw":null,"status_2xx":188342625,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":19407960,"avg_latency":"2.94ms","p99_latency":"9.60ms","cpu":"5864.6%","memory":"380MiB","bandwidth":"129.70MB/s","input_bw":null,"status_2xx":97039800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":22474124,"avg_latency":"6.06ms","p99_latency":"21.70ms","cpu":"5989.3%","memory":"873MiB","bandwidth":"150.27MB/s","input_bw":null,"status_2xx":112370624,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":42228572,"avg_latency":"6.13ms","p99_latency":"11.40ms","cpu":"6537.2%","memory":"996MiB","bandwidth":"282.34MB/s","input_bw":null,"status_2xx":211142864,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":3751751,"avg_latency":"12.98ms","p99_latency":"30.60ms","cpu":"6053.0%","memory":"3.4GiB","bandwidth":"25.16MB/s","input_bw":null,"status_2xx":18758756,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":47067836,"avg_latency":"5.47ms","p99_latency":"7.09ms","cpu":"6100.3%","memory":"8.8GiB","bandwidth":"314.39MB/s","input_bw":null,"status_2xx":235339184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":6331993,"avg_latency":"10.91ms","p99_latency":"63.90ms","cpu":"2602.9%","memory":"3.8GiB","bandwidth":"42.46MB/s","input_bw":null,"status_2xx":31659968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":7781016,"avg_latency":"3.64ms","p99_latency":"30.70ms","cpu":"6191.3%","memory":"2.0GiB","bandwidth":"51.98MB/s","input_bw":null,"status_2xx":38905083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":23750396,"avg_latency":"10.88ms","p99_latency":"14.90ms","cpu":"6374.6%","memory":"2.5GiB","bandwidth":"159.02MB/s","input_bw":null,"status_2xx":118751984,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":27376221,"avg_latency":"6.82ms","p99_latency":"18.10ms","cpu":"5915.8%","memory":"1.8GiB","bandwidth":"183.28MB/s","input_bw":null,"status_2xx":136881105,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":30706780,"avg_latency":"8.48ms","p99_latency":"20.80ms","cpu":"5865.1%","memory":"1.1GiB","bandwidth":"205.53MB/s","input_bw":null,"status_2xx":153533904,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":21157952,"avg_latency":"3.59ms","p99_latency":"12.10ms","cpu":"5873.3%","memory":"568MiB","bandwidth":"141.45MB/s","input_bw":null,"status_2xx":105789762,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":8879790,"avg_latency":"28.61ms","p99_latency":"61.10ms","cpu":"3418.8%","memory":"20.7GiB","bandwidth":"59.67MB/s","input_bw":null,"status_2xx":44398954,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":8286836,"avg_latency":"30.72ms","p99_latency":"69.70ms","cpu":"3335.9%","memory":"20.9GiB","bandwidth":"55.70MB/s","input_bw":null,"status_2xx":41434183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":59426656,"avg_latency":"4.31ms","p99_latency":"5.36ms","cpu":"6388.0%","memory":"814MiB","bandwidth":"396.96MB/s","input_bw":null,"status_2xx":297133281,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":5559653,"avg_latency":"45.83ms","p99_latency":"84.40ms","cpu":"6667.1%","memory":"460MiB","bandwidth":"37.51MB/s","input_bw":null,"status_2xx":27798267,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":3564641,"avg_latency":"26.78ms","p99_latency":"47.30ms","cpu":"6295.9%","memory":"2.1GiB","bandwidth":"24.05MB/s","input_bw":null,"status_2xx":17823208,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1755074,"avg_latency":"46.31ms","p99_latency":"102.00ms","cpu":"6343.1%","memory":"779MiB","bandwidth":"12.12MB/s","input_bw":null,"status_2xx":8775370,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":61261692,"avg_latency":"4.25ms","p99_latency":"5.06ms","cpu":"6136.3%","memory":"337MiB","bandwidth":"409.18MB/s","input_bw":null,"status_2xx":306308464,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2145742,"avg_latency":"1.10ms","p99_latency":"3.80ms","cpu":"6084.8%","memory":"192MiB","bandwidth":"14.32MB/s","input_bw":null,"status_2xx":10728712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":60951628,"avg_latency":"4.26ms","p99_latency":"4.92ms","cpu":"6385.8%","memory":"1.6GiB","bandwidth":"407.14MB/s","input_bw":null,"status_2xx":304758144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":6434191,"avg_latency":"22.55ms","p99_latency":"1.09s","cpu":"5337.3%","memory":"1.3GiB","bandwidth":"43.45MB/s","input_bw":null,"status_2xx":32170959,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2958454,"avg_latency":"87.00ms","p99_latency":"165.20ms","cpu":"5678.3%","memory":"1.9GiB","bandwidth":"20.26MB/s","input_bw":null,"status_2xx":14792272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3557596,"avg_latency":"72.32ms","p99_latency":"136.10ms","cpu":"6262.9%","memory":"354MiB","bandwidth":"24.43MB/s","input_bw":null,"status_2xx":17787982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":54829427,"avg_latency":"4.75ms","p99_latency":"7.14ms","cpu":"6152.6%","memory":"761MiB","bandwidth":"366.32MB/s","input_bw":null,"status_2xx":274147136,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":61865334,"avg_latency":"4.22ms","p99_latency":"5.03ms","cpu":"6397.0%","memory":"592MiB","bandwidth":"413.28MB/s","input_bw":null,"status_2xx":309326672,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":4810009,"avg_latency":"12.33ms","p99_latency":"50.00ms","cpu":"6588.6%","memory":"1.2GiB","bandwidth":"32.34MB/s","input_bw":null,"status_2xx":24050046,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":4226630,"avg_latency":"60.68ms","p99_latency":"71.60ms","cpu":"6334.8%","memory":"2.7GiB","bandwidth":"28.83MB/s","input_bw":null,"status_2xx":21133151,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":18274678,"avg_latency":"386us","p99_latency":"2.74ms","cpu":"6083.0%","memory":"362MiB","bandwidth":"121.96MB/s","input_bw":null,"status_2xx":91373392,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":61723418,"avg_latency":"4.18ms","p99_latency":"11.20ms","cpu":"6169.0%","memory":"465MiB","bandwidth":"412.31MB/s","input_bw":null,"status_2xx":308617092,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":18721003,"avg_latency":"13.90ms","p99_latency":"28.30ms","cpu":"6031.9%","memory":"378MiB","bandwidth":"125.35MB/s","input_bw":null,"status_2xx":93605015,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":50196478,"avg_latency":"5.00ms","p99_latency":"8.55ms","cpu":"5798.4%","memory":"440MiB","bandwidth":"335.17MB/s","input_bw":null,"status_2xx":250982391,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-limited-512":[{"fw":"beskar-websocket","lang":"C#","rps":726199,"avg_latency":"89us","p99_latency":"210us","cpu":"4707.9%","memory":"4.4GiB","bandwidth":"13.78MB/s","input_bw":null,"status_2xx":3630997,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2096400,"avg_latency":"149us","p99_latency":"544us","cpu":"5614.2%","memory":"2.3GiB","bandwidth":"47.17MB/s","input_bw":null,"status_2xx":10482002,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1031076,"avg_latency":"167us","p99_latency":"1.06ms","cpu":"5891.2%","memory":"351MiB","bandwidth":"25.76MB/s","input_bw":null,"status_2xx":5155381,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":1915803,"avg_latency":"175us","p99_latency":"605us","cpu":"5497.7%","memory":"475MiB","bandwidth":"47.49MB/s","input_bw":null,"status_2xx":9579016,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":433788,"avg_latency":"73us","p99_latency":"287us","cpu":"3446.9%","memory":"328MiB","bandwidth":"11.17MB/s","input_bw":null,"status_2xx":2168944,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2101061,"avg_latency":"145us","p99_latency":"521us","cpu":"5314.3%","memory":"73MiB","bandwidth":"39.86MB/s","input_bw":null,"status_2xx":10505307,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-limited-4096":[{"fw":"beskar-websocket","lang":"C#","rps":683961,"avg_latency":"102us","p99_latency":"220us","cpu":"4485.2%","memory":"2.4GiB","bandwidth":"12.98MB/s","input_bw":null,"status_2xx":3419808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2558298,"avg_latency":"1.05ms","p99_latency":"2.87ms","cpu":"6231.7%","memory":"2.4GiB","bandwidth":"57.58MB/s","input_bw":null,"status_2xx":12791493,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":999151,"avg_latency":"337us","p99_latency":"3.25ms","cpu":"5891.1%","memory":"491MiB","bandwidth":"24.95MB/s","input_bw":null,"status_2xx":4995757,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2275598,"avg_latency":"1.37ms","p99_latency":"8.15ms","cpu":"6136.9%","memory":"684MiB","bandwidth":"56.41MB/s","input_bw":null,"status_2xx":11377991,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":434620,"avg_latency":"69us","p99_latency":"228us","cpu":"3393.0%","memory":"258MiB","bandwidth":"11.19MB/s","input_bw":null,"status_2xx":2173100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2591018,"avg_latency":"1.05ms","p99_latency":"2.46ms","cpu":"5950.6%","memory":"212MiB","bandwidth":"49.18MB/s","input_bw":null,"status_2xx":12955091,"status_3xx":0,"status_4xx":0,"status_5xx":0}]},"docs":{"t":"Knowledge Base","u":"","c":[{"t":"Test Profiles","u":"test-profiles","c":[{"t":"H/1.1","u":"test-profiles/h1","c":[{"t":"Isolated","u":"test-profiles/h1/isolated","c":[{"t":"Async Database (Postgres)","u":"test-profiles/h1/isolated/async-database","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/async-database/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/async-database/validation"}]},{"t":"Baseline","u":"test-profiles/h1/isolated/baseline","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/baseline/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/baseline/validation"}]},{"t":"CRUD (REST API)","u":"test-profiles/h1/isolated/crud","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/crud/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/crud/validation"}]},{"t":"Fortunes (Templates)","u":"test-profiles/h1/isolated/fortunes","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/fortunes/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/fortunes/validation"}]},{"t":"JSON Compressed","u":"test-profiles/h1/isolated/json-compressed","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/json-compressed/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/json-compressed/validation"}]},{"t":"JSON over TLS","u":"test-profiles/h1/isolated/json-tls","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/json-tls/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/json-tls/validation"}]},{"t":"JSON Processing","u":"test-profiles/h1/isolated/json-processing","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/json-processing/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/json-processing/validation"}]},{"t":"Pipelined (16x)","u":"test-profiles/h1/isolated/pipelined","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/pipelined/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/pipelined/validation"}]},{"t":"Short-lived Connection","u":"test-profiles/h1/isolated/short-lived","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/short-lived/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/short-lived/validation"}]},{"t":"Static Files (HTTP/1.1)","u":"test-profiles/h1/isolated/static","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/static/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/static/validation"}]},{"t":"Upload (20 MB)","u":"test-profiles/h1/isolated/upload","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/upload/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/upload/validation"}]}]},{"t":"Workload","u":"test-profiles/h1/workload","c":[{"t":"API-16","u":"test-profiles/h1/workload/api-16","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/workload/api-16/implementation"},{"t":"Validation","u":"test-profiles/h1/workload/api-16/validation"}]},{"t":"API-4","u":"test-profiles/h1/workload/api-4","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/workload/api-4/implementation"},{"t":"Validation","u":"test-profiles/h1/workload/api-4/validation"}]}]}]},{"t":"H/2","u":"test-profiles/h2","c":[{"t":"Baseline (H2c)","u":"test-profiles/h2/baseline-h2c","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/baseline-h2c/implementation"},{"t":"Validation","u":"test-profiles/h2/baseline-h2c/validation"}]},{"t":"Baseline (HTTP/2)","u":"test-profiles/h2/baseline-h2","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/baseline-h2/implementation"},{"t":"Validation","u":"test-profiles/h2/baseline-h2/validation"}]},{"t":"JSON (H2c)","u":"test-profiles/h2/json-h2c","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/json-h2c/implementation"},{"t":"Validation","u":"test-profiles/h2/json-h2c/validation"}]},{"t":"Static Files (HTTP/2)","u":"test-profiles/h2/static-h2","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/static-h2/implementation"},{"t":"Validation","u":"test-profiles/h2/static-h2/validation"}]}]},{"t":"Gateway","u":"test-profiles/gateway","c":[{"t":"Gateway H2","u":"test-profiles/gateway/gateway-h2","c":[{"t":"Implementation Guidelines","u":"test-profiles/gateway/gateway-h2/implementation"},{"t":"Validation","u":"test-profiles/gateway/gateway-h2/validation"}]},{"t":"Gateway-H3","u":"test-profiles/gateway/gateway-h3","c":[{"t":"Implementation Guidelines","u":"test-profiles/gateway/gateway-h3/implementation"},{"t":"Validation","u":"test-profiles/gateway/gateway-h3/validation"}]},{"t":"Production Stack","u":"test-profiles/gateway/production-stack","c":[{"t":"Implementation Guidelines","u":"test-profiles/gateway/production-stack/implementation"},{"t":"Validation","u":"test-profiles/gateway/production-stack/validation"}]}]},{"t":"H/3","u":"test-profiles/h3","c":[{"t":"Baseline (HTTP/3)","u":"test-profiles/h3/baseline-h3","c":[{"t":"Implementation Guidelines","u":"test-profiles/h3/baseline-h3/implementation"},{"t":"Validation","u":"test-profiles/h3/baseline-h3/validation"}]},{"t":"Static Files (HTTP/3)","u":"test-profiles/h3/static-h3","c":[{"t":"Implementation Guidelines","u":"test-profiles/h3/static-h3/implementation"},{"t":"Validation","u":"test-profiles/h3/static-h3/validation"}]}]},{"t":"gRPC","u":"test-profiles/grpc","c":[{"t":"Server Streaming (gRPC)","u":"test-profiles/grpc/stream","c":[{"t":"Implementation Guidelines","u":"test-profiles/grpc/stream/implementation"},{"t":"Validation","u":"test-profiles/grpc/stream/validation"}]},{"t":"Unary (gRPC)","u":"test-profiles/grpc/unary","c":[{"t":"Implementation Guidelines","u":"test-profiles/grpc/unary/implementation"},{"t":"Validation","u":"test-profiles/grpc/unary/validation"}]}]},{"t":"WebSocket","u":"test-profiles/ws","c":[{"t":"Echo (WebSocket)","u":"test-profiles/ws/echo","c":[{"t":"Implementation Guidelines","u":"test-profiles/ws/echo/implementation"},{"t":"Validation","u":"test-profiles/ws/echo/validation"}]},{"t":"Echo Pipelined (WebSocket)","u":"test-profiles/ws/echo-pipeline","c":[{"t":"Implementation Guidelines","u":"test-profiles/ws/echo-pipeline/implementation"},{"t":"Validation","u":"test-profiles/ws/echo-pipeline/validation"}]},{"t":"Echo Short-lived (WebSocket)","u":"test-profiles/ws/echo-limited","c":[{"t":"Implementation Guidelines","u":"test-profiles/ws/echo-limited/implementation"},{"t":"Validation","u":"test-profiles/ws/echo-limited/validation"}]}]}]},{"t":"Add a Framework","u":"add-framework","c":[{"t":"Directory Structure","u":"add-framework/directory-structure"},{"t":"meta.json","u":"add-framework/meta-json"},{"t":"Implementation Rules","u":"add-framework/implementation-rules","c":[{"t":"Frameworks","u":"add-framework/implementation-rules/frameworks","c":[{"t":"Standard","u":"add-framework/implementation-rules/frameworks/standard"},{"t":"Tuned","u":"add-framework/implementation-rules/frameworks/tuned"}]},{"t":"Engine","u":"add-framework/implementation-rules/engine"}]}]},{"t":"Running Locally","u":"running-locally","c":[{"t":"Scripts Reference","u":"running-locally/scripts","c":[{"t":"validate.sh","u":"running-locally/scripts/validate"},{"t":"run.sh","u":"running-locally/scripts/run"},{"t":"benchmark.sh","u":"running-locally/scripts/benchmark"},{"t":"benchmark-lite.sh","u":"running-locally/scripts/benchmark-lite"},{"t":"compare.sh","u":"running-locally/scripts/compare"},{"t":"archive.sh","u":"running-locally/scripts/archive"}]},{"t":"Prerequisites","u":"running-locally/prerequisites"},{"t":"Setup","u":"running-locally/setup"},{"t":"Archiving Rounds","u":"running-locally/archiving-rounds"},{"t":"Manual load testing","u":"running-locally/manual-load-testing"},{"t":"Configuration","u":"running-locally/configuration"}]},{"t":"Load Generators","u":"load-generators","c":[{"t":"gRPC","u":"load-generators/grpc","c":[{"t":"ghz","u":"load-generators/grpc/ghz"}]},{"t":"HTTP/1.1","u":"load-generators/h1","c":[{"t":"gcannon","u":"load-generators/h1/gcannon"},{"t":"wrk","u":"load-generators/h1/wrk"}]},{"t":"HTTP/2","u":"load-generators/h2","c":[{"t":"h2load","u":"load-generators/h2/h2load"}]},{"t":"HTTP/3","u":"load-generators/h3","c":[{"t":"h2load-h3","u":"load-generators/h3/h2load-h3"}]},{"t":"WebSocket","u":"load-generators/ws"}]},{"t":"Hardware & Topology","u":"hardware"},{"t":"Scoring","u":"scoring","c":[{"t":"Composite Score","u":"scoring/composite-score"}]}]},"rounds":{"name":"Alpha Round","ongoing":true,"archived":[]}}; +window.LB_DATA = {"current":{"cpu":"AMD Ryzen Threadripper PRO 3995WX 64-Cores","cores":"64","threads":"128","threads_per_core":"2","ram":"251Gi","os":"Ubuntu 24.04.4 LTS","kernel":"6.17.0-22-generic","docker":"29.3.0","docker_runtime":"runc","governor":"performance","tcp":{"lo_mtu":"1500","congestion":"cubic","somaxconn":"65535","rmem_max":"7500000","wmem_max":"7500000"}},"langColors":{"C":{"accent":"#e53e3e","text":"#c53030","textDark":"#fc8181","rgb":"229,62,62"},"C#":{"accent":"#7c3aed","text":"#6d28d9","textDark":"#a78bfa","rgb":"124,58,237"},"Go":{"accent":"#00add8","text":"#0094b8","textDark":"#4fd1eb","rgb":"0,173,216"},"Java":{"accent":"#d97706","text":"#b45309","textDark":"#fbbf24","rgb":"217,119,6"},"Rust":{"accent":"#b45309","text":"#92400e","textDark":"#f59e0b","rgb":"180,83,9"},"JS":{"accent":"#f7df1e","text":"#a16207","textDark":"#facc15","rgb":"247,223,30"},"TS":{"accent":"#3178c6","text":"#2a66a8","textDark":"#6db4f3","rgb":"49,120,198"},"Python":{"accent":"#3776ab","text":"#2f6491","textDark":"#73b7dd","rgb":"55,118,171"},"C++":{"accent":"#db2777","text":"#be185d","textDark":"#f472b6","rgb":"219,39,119"},"PHP":{"accent":"#7b7fb5","text":"#4f5b93","textDark":"#a0a4d9","rgb":"123,127,181"},"Lua":{"accent":"#000080","text":"#00006a","textDark":"#6e6eff","rgb":"0,0,128"},"Luau":{"accent":"#00a2ff","text":"#0087d4","textDark":"#4fc3ff","rgb":"0,162,255"},"Ruby":{"accent":"#cc342d","text":"#a82723","textDark":"#f06b5e","rgb":"204,52,45"},"Crystal":{"accent":"#000100","text":"#000100","textDark":"#a8a8a8","rgb":"0,1,0"},"Nim":{"accent":"#ffc200","text":"#d4a200","textDark":"#ffe066","rgb":"255,194,0"},"Gleam":{"accent":"#ffaff3","text":"#d946b8","textDark":"#ffaff3","rgb":"255,175,243"},"Zig":{"accent":"#f7a41d","text":"#c47f0a","textDark":"#f7a41d","rgb":"247,164,29"},"Swift":{"accent":"#f05138","text":"#d63d25","textDark":"#f47b6b","rgb":"240,81,56"},"Elixir":{"accent":"#6e4a7e","text":"#5b3a6b","textDark":"#b07cc6","rgb":"110,74,126"},"Kotlin":{"accent":"#7f52ff","text":"#6538d4","textDark":"#a48bff","rgb":"127,82,255"},"Dart":{"accent":"#0175c2","text":"#01589b","textDark":"#40c4ff","rgb":"1,117,194"},"Clojure":{"accent":"#5881d8","text":"#3e64b8","textDark":"#91b3ed","rgb":"88,129,216"},"Erlang":{"accent":"#a20031","text":"#880029","textDark":"#c63762","rgb":"162,0,49"},"V":{"accent":"#4f87c4","text":"#3b6ea6","textDark":"#8fbce8","rgb":"79,135,196"},"OCaml":{"accent":"#ef7a08","text":"#c46306","textDark":"#f9a75a","rgb":"239,122,8"},"Type-C":{"accent":"#059669","text":"#047857","textDark":"#34d399","rgb":"5,150,105"}},"meta":{"actix":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/actix/actix-web","dir":"actix","engine":"actix","desc":"Actix-web 4 with rustls for TLS. Standard configuration: actix-files serves static content from disk per request via try_compressed(), which selects a pre-compressed .br/.gz sibling by Accept-Encoding through the framework API (no hand-rolled suffix lookup); the Compress middleware compresses dynamic responses (json-comp) on-the-fly. deadpool-postgres for async DB pooling (sized from DATABASE_MAX_CONN); crud reads go through an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update \u2014 no Redis required). json-tls is served over HTTP/1.1-with-TLS on :8081; baseline-h2/static-h2 over h2 on :8443. serde_json per request. Pinned to actix git main for try_compressed() (unreleased in actix-files 0.6.10). Compiled with -O3 and thin LTO."},"aleph":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/clj-commons/aleph","dir":"aleph","engine":"netty","desc":""},"araara-standard":{"type":"experimental","mode":"standard","language":"","repo":"https://araara.ml","dir":"araara-standard","engine":"hcs","desc":"araara - an OCaml 5 web stack built on HCS, using HCS server defaults where possible for the HttpArena harness. Eio, radix-trie routing, Phoenix-style plugs, Postgres via repodb, gzip/zstd compression. HTTP/3 and gRPC are not implemented."},"araara":{"type":"experimental","mode":"tuned","language":"","repo":"https://araara.ml","dir":"araara","engine":"hcs","desc":"araara - an OCaml 5 web stack built on HCS, Eio, a zero-copy sans-I/O HTTP codec, radix-trie routing, Phoenix-style plugs, Postgres via repodb, and gzip/zstd compression. HTTP/3 and gRPC are not implemented."},"aspnet-minimal":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal","engine":"kestrel","desc":"Minimal ASP.NET Core server using .NET 10 with Kestrel and minimal API routing."},"aspnet-minimal-aot":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal-aot","engine":"Kestrel","desc":"Minimal ASP.NET Core Native AOT server using .NET 10 with Kestrel and minimal API routing."},"aspnet-minimal-iouring":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/benaadams/runtime/tree/io_uring","dir":"aspnet-minimal-iouring","engine":"io_uring","desc":"ASP.NET Core minimal API with experimental io_uring socket engine (dotnet/runtime#124374). Replaces epoll with io_uring for socket I/O on Linux 6.1+."},"aspnet-minimal-ioxide":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/MDA2AV/ioxide","dir":"aspnet-minimal-ioxide","engine":"io_uring","desc":"Minimal ASP.NET Core (.NET 11) on the ioxide io_uring transport (ioxide.Kestrel via UseIoxide(), default reactor count). Same app as aspnet-minimal \u2014 only the Kestrel transport differs. HTTP/1.1 only: plaintext plus HTTP/1.1-over-TLS (json-tls) terminated in the transport via kTLS (ioxide.tls). HTTP/2 and HTTP/3 are not enabled."},"aspnet-minimal + caddy":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal_caddy","engine":"kestrel","desc":"ASP.NET minimal API behind Caddy, serving HTTP/3 (QUIC) at the edge with h1 forwarding to Kestrel."},"aspnet-minimal + nginx":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-minimal_nginx","engine":"kestrel","desc":"ASP.NET Core minimal API behind an Nginx reverse proxy. Nginx handles TLS termination and static files, proxying dynamic endpoints to Kestrel over HTTP/1.1."},"aspnet-mvc":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/dotnet/aspnetcore","dir":"aspnet-mvc","engine":"kestrel","desc":"ASP.NET Core server using .NET 10 with Kestrel and MVC controller routing."},"bananabread":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/dotnet-web-stack/Seagreen","dir":"bananabread","engine":"seagreen","desc":"Seagreen \u2014 a TypeScript port of GenHTTP \u2014 on Bun's raw-TCP engine, with kotlinx-style decorators and Bun's built-in SQL."},"beskar-websocket":{"type":"experimental","mode":"standard","language":"","repo":"https://github.com/MarvinDrude/Beskar.Networking","dir":"beskar-websocket","engine":"beskar","desc":"High-performance WebSocket echo server built with Beskar.Networking."},"bjoern":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/jonashaag/bjoern","dir":"bjoern","engine":"libev","desc":"A screamingly fast, ultra-lightweight WSGI server"},"blackbull":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/TOKUJI/BlackBull","dir":"blackbull","engine":"blackbull","desc":"BlackBull \u2014 pure-Python async ASGI 3.0 framework supporting HTTP/1.1, HTTP/2, and WebSocket. ALPN negotiates HTTP/2 on the same listener that serves HTTP/1.1."},"bottle":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/bottlepy/bottle","dir":"bottle","engine":"gunicorn","desc":"Fast, simple and lightweight WSGI micro web-framework for Python"},"bun-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/oven-sh/bun","dir":"bun-websocket","engine":"bun","desc":"Bun WebSocket echo server"},"dart-io":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/kartikey321/dart-sdk","dir":"dart-io","engine":"dart:io","desc":"Stock Dart HttpServer baseline in the same SDK lineage as dart-zig, with optional JIT/AOT runtime mode via DART_IO_MODE for direct PR comparisons."},"dart-zig":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/kartikey321/dart-sdk/tree/dart-zig/dart-zig","dir":"dart-zig","engine":"io_uring","desc":"dart-zig custom Dart runtime on Linux io_uring, using the reusable dart-zig runtime and builder images, with the benchmark app source owned by HttpArena. Current integration targets baseline, pipelined, limited-conn, and json."},"deno-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/denoland/deno","dir":"deno-websocket","engine":"deno","desc":"Deno WebSocket echo server"},"dogrider":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/MDA2AV/dogrider","dir":"dogrider","engine":"zerg","desc":"GenHTTP websockets with zerg backend"},"effinitive":{"type":"experimental","mode":"standard","language":"","repo":"https://github.com/HBartosch/Effinitive","dir":"effinitive","engine":"effinitive","desc":"Ultra-high-performance custom HTTP server for .NET 10 \u2014 built from scratch for maximum speed."},"elysia":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/elysiajs/elysia","dir":"elysia","engine":"jsc","desc":"An ergonomic framework for Humans"},"express":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/expressjs/express","dir":"express","engine":"nodehttp","desc":"Express 5 on node:http with the cluster module for multi-core scaling."},"fastapi":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/fastapi/fastapi","dir":"fastapi","engine":"uvicorn","desc":"FastAPI async web framework on Uvicorn (uvloop)"},"fastendpoints":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/FastEndpoints/FastEndpoints","dir":"fastendpoints","engine":"kestrel","desc":"FastEndpoints (REPR-pattern endpoint framework on ASP.NET Core) using .NET 10 with Kestrel."},"fasthttp":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/vlang/v","dir":"fasthttp","engine":"epoll","desc":"fasthttp is a raw multi-threaded epoll HTTP server in V's standard library (non-blocking, SO_REUSEPORT, one worker per core). It uses fasthttp's zero-copy append handler (write the raw response straight into the connection's reused buffer), lock-free per-worker state (make_state), deterministic request framing that reassembles TCP-fragmented AND chunked requests (so baseline is now subscribed), and sendfile(2) for static bodies. JSON is built in a single allocation with precomputed prefixes (no per-request reflection); json-comp gzips on Accept-Encoding with a process-shared cache; static assets are streamed via sendfile with a preloaded MIME/size table; crud is an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update); fortunes renders the DB rows + a runtime row with HTML escaping; async-db/crud/fortunes use the stdlib db.pg pooled Go-style DB (blocking queries on the worker thread \u2014 fasthttp has no async watch reactor yet). Built on pinned V master 84a76d791 (the fasthttp vanilla-architecture refactor, vlang/v#27771) with the default GC (Boehm). json-tls is not subscribed: the stdlib fasthttp server has no TLS backend."},"fastify":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/fastify/fastify","dir":"fastify","engine":"nodehttp","desc":"Fastify 5 on node:http with the cluster module for multi-core scaling."},"fastpysgi-asgi":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/remittor/fastpysgi","dir":"fastpysgi-asgi","engine":"libuv","desc":"An ultra fast WSGI/ASGI server for Python"},"fastpysgi-wsgi":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/remittor/fastpysgi","dir":"fastpysgi-wsgi","engine":"libuv","desc":"An ultra fast WSGI/ASGI server for Python"},"fishcake":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/dotnet-web-stack/CodeGreen","dir":"fishcake","engine":"codegreen","desc":"CodeGreen, a 1:1 Kotlin port of GenHTTP, on its internal Netty-based engine with kotlinx.serialization and JDBC (HikariCP)."},"flask":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/pallets/flask","dir":"flask","engine":"gunicorn","desc":"Flask web framework on Gunicorn with sync workers"},"fleck":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/statianzo/Fleck","dir":"fleck","engine":"fleck","desc":"C# websockets framework"},"fletch":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/kartikey321/fletch","dir":"fletch","engine":"dart:io","desc":"Express-inspired HTTP framework for Dart with radix-tree routing, middleware chains, signed sessions, and built-in DI."},"frankenphp-trueasync":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/true-async/php-async","dir":"frankenphp-trueasync","engine":"frankenphp","desc":"FrankenPHP with TrueAsync coroutine engine. Each HTTP request runs as a cooperative coroutine with PDO connection pooling, async I/O, and OPcache JIT. Built on Caddy with native HTTP/2 and HTTP/3 support."},"fulmine":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/nigrosimone/fulmine.js","dir":"fulmine","engine":"uwebsockets","desc":"fulmine.js (drop-in Express 5 on uWebSockets.js) with the cluster module for multi-core scaling."},"genhttp-11-ioxide":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-11-ioxide","engine":"ioxide","desc":"GenHTTP 11 on .NET 11 on a custom io_uring server engine (the ioxide runtime) instead of the default socket engine. Uses GenHTTP's published ioxide engine packages (GenHTTP.Engine.Ioxide / GenHTTP.Modules.IoxideFiles, PR #860, merged). Responses go through GenHTTP's own routing + serialization; Postgres rides ioxide.pg (per-reactor ring-native pool) and json-tls rides ioxide.tls (kTLS TX) on :8081."},"genhttp-11-kestrel":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-11-kestrel","engine":"kestrel","desc":"Lightweight, embeddable and modular C# web server."},"genhttp-11":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-11","engine":"genhttp","desc":"Lightweight, embeddable and modular C# web server."},"genhttp-kestrel":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp-kestrel","engine":"kestrel","desc":"Lightweight, embeddable and modular C# web server."},"genhttp":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/Kaliumhexacyanoferrat/GenHTTP","dir":"genhttp","engine":"genhttp","desc":"Lightweight, embeddable and modular C# web server."},"go-fasthttp":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/valyala/fasthttp","dir":"go-fasthttp","engine":"fasthttp","desc":"High-performance Go HTTP server using fasthttp with zero-allocation design and buffer reuse."},"go-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/gobwas/ws","dir":"go-websocket","engine":"net/http","desc":"Go WebSocket echo server using gobwas/ws"},"grpc-go":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/grpc/grpc-go","dir":"grpc-go","engine":"grpc-go","desc":"Go gRPC server using google.golang.org/grpc."},"h2o-mruby":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/h2o/h2o","dir":"h2o-mruby","engine":"h2o","desc":"h2o config-based server with mruby handlers and native HTTP/3 (QUIC) support."},"helidon-production":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/helidon-io/helidon","dir":"helidon-production","engine":"n\u00edma","desc":"Helidon SE 4.4.1 on N\u00edma WebServer with Java 25, config-based static content, HTTP/2, gRPC, and WebSocket support."},"helidon-tuned":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/helidon-io/helidon","dir":"helidon-tuned","engine":"n\u00edma","desc":"Helidon SE 4.4.1 on N\u00edma WebServer with Java 25, tuned socket options, precompressed static content, HTTP/2, gRPC, and WebSocket support."},"hical":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Hical61/Hical","dir":"hical","engine":"hical","desc":"Hical is a modern C++20/26 high-performance web framework built on Boost.Asio, featuring coroutine-based async I/O (boost::asio::awaitable), three-tier PMR memory pools, zero-copy HTTP parsing via picohttpparser, and a self-developed WebSocket stack (RFC 6455 with permessage-deflate). SO_REUSEPORT multi-acceptor model on Linux. Dual-track C++26 reflection layer (P2996 / C++20 macro fallback)."},"hono-bun":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/honojs/hono","dir":"hono-bun","engine":"jsc","desc":"Ultrafast Web Standards framework running natively on Bun \u2014 no adapter overhead."},"humming-bird":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/hummingbird-project/hummingbird","dir":"humming-bird","engine":"hummingbird","desc":"Lightweight, flexible HTTP server framework written in Swift, built on SwiftNIO with minimal dependencies."},"hyper":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/hyperium/hyper","dir":"hyper","engine":"hyper","desc":"Low-level HTTP library for Rust, built on tokio with multi-threaded async runtime."},"hyperf":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/hyperf/hyperf","dir":"hyperf","engine":"swoole","desc":"A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease."},"ioxide":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/MDA2AV/ioxide","dir":"ioxide","engine":"io_uring","desc":"ioxide \u2014 a shared-nothing io_uring runtime for .NET, consumed as its published NuGet packages (ioxide, ioxide.pg, ioxide.file). One ring per reactor thread: multishot accept/recv into provided buffer rings, inline IValueTaskSource continuations, raw-syscall io_uring (no liburing). The HTTP/1.1 handler (request line, headers, Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads) is hand-written on the raw recv/send API; async-db rides ioxide.pg's ring-native pooled Postgres driver (SCRAM-SHA-256), static rides ioxide.file's baked asset snapshots."},"iris":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Cobra007-star-source/IRIS","dir":"iris","engine":"epoll","desc":"Thread-per-core C++ HTTP/1.1 gateway on epoll/SO_REUSEPORT with a hand-written incremental parser. Zero-allocation steady state: fixed per-connection buffers, precomputed response templates, per-request JSON serialization from the mounted dataset, static assets served via precompressed .br/.gz negotiation with Linux sendfile from sealed memfd responses, streaming POST /upload body counting, OpenSSL TLS on :8081 for json-tls, and async libpq for async-db."},"ktor-ghost":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/ktorio/ktor","dir":"ktor-ghost","engine":"netty","desc":"JetBrains Ktor 3.x on Netty with Kotlin coroutines, Ghost Serializer, JDK 21."},"ktor":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/ktorio/ktor","dir":"ktor","engine":"netty","desc":"JetBrains Ktor 3.x on Netty with Kotlin coroutines, kotlinx.serialization, JDK 21."},"libreactorng":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/fredrikwidlund/libreactorng","dir":"libreactorng","engine":"io_uring","desc":"libreactorng \u2014 Fredrik Widlund's io_uring-native event framework, the successor to the long-running epoll-based libreactor. Built directly on Linux io_uring syscalls with zero third-party runtime deps. Minimal server dispatches /pipeline, /baseline11, /baseline2 via the built-in HTTP parser; one reactor process per logical CPU via SO_REUSEPORT."},"lute":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/luau-lang/lute","dir":"lute","engine":"lute","desc":"Lute standalone Luau runtime"},"mark":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/passwalls/mark","dir":"mark","engine":"workerman","desc":"Mark is a high performance API micro framework based on workerman, helps you quickly write APIs with PHP."},"may-minihttp":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Xudong-Huang/may_minihttp","dir":"may-minihttp","engine":"may-minihttp","desc":"Mini HTTP server built on May stackful coroutines. Uses cooperative scheduling with coroutine-per-connection model for high concurrency."},"minima-sync":{"type":"engine","mode":"standard","language":"","repo":"","dir":"minima-sync","engine":"io_uring","desc":"A synchronous single-issuer io_uring HTTP/1.1 server on Minima's io_uring bindings, NativeAOT-compiled. One pinned reactor thread per core (SO_REUSEPORT, SINGLE_ISSUER|DEFER_TASKRUN); multishot accept + single-shot recv into per-connection buffers (parse-in-place); responses serialized straight into the send buffer; recv/send alternate fully inline \u2014 no async, no thread pool, no GC on the hot path. JSON serialized per request from the model."},"minima-ws":{"type":"engine","mode":"standard","language":"","repo":"","dir":"minima-ws","engine":"io_uring","desc":"Hand-rolled WebSocket echo on the Minima engine \u2014 a from-scratch C# multi-reactor io_uring server (direct io_uring syscalls via libc, multishot accept + multishot recv into a provided buffer ring, one ring per core with SO_REUSEPORT). The RFC 6455 handshake and the frame parser/masking/echo are written by hand on Minima's raw recv/send API; no WebSocket library."},"minima":{"type":"engine","mode":"standard","language":"","repo":"","dir":"minima","engine":"io_uring","desc":"Minima \u2014 a from-scratch C# multi-reactor io_uring HTTP/1.1 server. Per-reactor SO_REUSEPORT + multishot accept, multishot recv into a provided buffer ring, inline (RCA=false) continuations with a reactor-thread short-circuit on buffer return/flush/recycle. The engine is vendored unchanged; the request handler (request line, headers, Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads) is hand-written on its raw recv/send API. No HTTP framework."},"mq-bridge-py":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/marcomq/mq-bridge","dir":"mq-bridge-py","engine":"mq-bridge","desc":"mq-bridge Python bindings (mq_bridge_py). A single http->response route dispatches on request metadata while HTTP framing stays in Rust; cleartext HTTP/1.1 + h2c run on 8080/8082, optional TLS listeners serve HTTP/2 on 8443 and HTTP/1.1 on 8081, and the inline-response fast path keeps responses off the GIL so the Python handler runs only the per-request dispatch."},"mq-bridge":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/marcomq/mq-bridge","dir":"mq-bridge","engine":"mq-bridge","desc":"mq-bridge async message-bridging library run as an HTTP server. A single catch-all http->response route dispatches on request metadata and replies through mq-bridge's inline-response fast path; hyper-util's auto connection builder serves HTTP/1.1 and HTTP/2 prior-knowledge (h2c) on the cleartext port (8080) and HTTP/2-over-TLS (ALPN h2) on 8443. Postgres via sqlx for async-db, dataset read from /data/dataset.json, static assets from /data/static, gzip negotiated by the library's Accept-Encoding-gated response compression."},"ngx-php":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/rryqszq4/ngx-php","dir":"ngx-php","engine":"nginx","desc":"Embedded PHP scripting language module for nginx."},"node-websocket":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/websockets/ws","dir":"node-websocket","engine":"v8","desc":"Node.js WebSocket echo server using ws package"},"phoenix-bandit":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/phoenixframework/phoenix","dir":"phoenix-bandit","engine":"bandit","desc":"High-performance Elixir framework using Phoenix and Bandit HTTP server, leveraging Erlang/OTP for concurrent networking and asynchronous database operations."},"php-fpm":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/php/php-src","dir":"php","engine":"nginx","desc":"Plain PHP with PHP-FPM & nginx."},"pico":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/vlang/v","dir":"pico","engine":"picoev","desc":"A raw V server on the picoev non-blocking event loop + picohttpparser (both stdlib). One process per core shares the listen socket via SO_REUSEPORT. JSON is serialized manually (precomputed prefixes, no per-request reflection). Built with the default GC on pinned V master c0624b274. DB profiles are not subscribed: picoev is a single-threaded event loop and the stdlib db.pg driver is blocking, which would stall the loop. baseline is not subscribed: picoev parses each recv() in one shot and does not reassemble TCP-fragmented requests, which baseline validation requires."},"pyronova":{"type":"experimental","mode":"tuned","language":"","repo":"https://github.com/leocaolab/pyronova","dir":"pyronova","engine":"pyronova","desc":"Pyronova \u2014 Python web framework with a Rust core (hyper + tokio + rustls + mimalloc) and PEP 684 sub-interpreter workers for true multi-core parallelism. Opt-in features: gzip/brotli compression, rustls TLS with h2/h1 ALPN, streaming body ingest, async Postgres via sqlx::PgPool. Handlers are standard Python functions routed via decorators."},"quarkus-jvm":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/quarkusio/quarkus","dir":"quarkus-jvm","engine":"netty","desc":"Quarkus with RESTEasy Reactive on Vert.x/Netty, JDK 21, optimized JVM tuning."},"rack-falcon":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/socketry/falcon","dir":"rack-falcon","engine":"falcon","desc":"A high-performance web server for Ruby"},"rack-iodine":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/boazsegev/iodine","dir":"rack-iodine","engine":"iodine","desc":"Iodine is a fast concurrent web application for Ruby"},"rage":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/rage-rb/rage","dir":"rage","engine":"iodine","desc":"Rage is a modern Ruby framework designed for non-blocking I/O and simpler infrastructure"},"rails":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/rails/rails","dir":"rails","engine":"puma","desc":"Ruby on Rails (API mode) on Puma, multi-worker with one worker per CPU core."},"ring-http-exchange":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/ruroru/ring-http-exchange","dir":"ring-http-exchange","engine":"robaho-httpserver","desc":""},"ringzero-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/axboe/liburing","dir":"ringzero-ws","engine":"io_uring","desc":"Hand-rolled WebSocket echo server on raw io_uring (liburing) \u2014 no WebSocket library. Multishot accept + multishot recv into a provided buffer ring for zero-copy ingest, one ring per core with SO_REUSEPORT, and a from-scratch RFC 6455 handshake (hand-written SHA-1 + base64) and frame parser/masking."},"ringzero":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/MDA2AV/ringzero","dir":"ringzero","engine":"io_uring","desc":"Custom C HTTP server built on io_uring with a multi-reactor architecture. No epoll, no thread-per-connection."},"roadrunner":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/arizona-framework/roadrunner","dir":"roadrunner","engine":"roadrunner","desc":"Roadrunner: pure-Erlang HTTP/1.1 + HTTP/2 + HTTP/3 + WebSocket server from the Arizona framework."},"robyn":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/sparckles/Robyn","dir":"robyn","engine":"uvloop","desc":"Robyn is a High-Performance Web Framework with a Rust runtime"},"roda":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/jeremyevans/roda","dir":"roda","engine":"puma","desc":"Roda routing tree web toolkit"},"rust-epoll":{"type":"engine","mode":"standard","language":"","repo":"","dir":"rust-epoll","engine":"epoll","desc":"Zero-dependency Rust HTTP engine using raw epoll syscalls, one-thread-per-core with SO_REUSEPORT."},"sark":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/dope-rs/dope","dir":"sark","engine":"io_uring","desc":"sark \u2014 Rust HTTP on the dope io_uring runtime: thread-per-core, zero-copy parsing, type-safe routing, cartel-pg for Postgres. No serde, no tokio, no Arc/atomic."},"servicestack":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/ServiceStack/ServiceStack","dir":"servicestack","engine":"kestrel","desc":"One framework to power them all. Write your HTTP APIs once and take advantage of end to end typed integrations for all popular Web, Mobile and Desktop platforms."},"simplew-tuned":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/stratdev3/SimpleW","dir":"simplew-tuned","engine":"simplew","desc":"SimpleW is Modern Web Server for .NET. Designed for Simplicity. Built for Speed."},"simplew":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/stratdev3/SimpleW","dir":"simplew","engine":"simplew","desc":"SimpleW is Modern Web Server for .NET. Designed for Simplicity. Built for Speed."},"sinatra":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/sinatra/sinatra","dir":"sinatra","engine":"puma","desc":"Sinatra DSL web framework on Puma, multi-threaded with one worker per CPU core."},"sisk":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/sisk-http","dir":"sisk","engine":"sisk","desc":"Sisk is a lightweight, agnostic, simple, and robust web development framework."},"slimeweb":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/ATOMMAX-2001/Slime/","dir":"slimeweb","engine":"hyper","desc":"SlimeWeb is a fast lightweight framework for python powered by rust"},"spring-boot":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/spring-projects/spring-boot","dir":"spring-boot","engine":"tomcat","desc":"Spring Boot with embedded Tomcat on JDK 25 with virtual threads."},"spring-jvm-grpc":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/grpc-ecosystem/grpc-spring","dir":"spring-jvm-grpc","engine":"netty (grpc)","desc":"Spring Boot gRPC server using grpc-spring-boot-starter with Netty transport on JDK 24."},"swerver":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/justinGrosvenor/swerver","dir":"swerver","engine":"swerver","desc":"swerver as an engine: no pre-computed response bodies (pre-encoded registry off), JSON serialized per request through the framework's std.json-based ctx.jsonValue, static files served from an in-memory cache with precompressed .br/.gz negotiation, and the native async PostgreSQL client (pipelined, prepared-statement cache, park/resume) for async-db and fortunes. Single-threaded event loop per worker, SO_REUSEPORT fork fan-out, one multi-listener process for the four protocol ports, native HTTP/1.1 + HTTP/2 + HTTP/3 (QUIC), kqueue/epoll/io_uring backends."},"swoole":{"type":"flagship","mode":"tuned","language":"","repo":"https://github.com/swoole/swoole-src","dir":"swoole","engine":"swoole","desc":"Swoole is an event-driven, asynchronous, coroutine-based concurrency library with high performance for PHP."},"symfony-spawn-franken":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/yangusik/symfony-spawn","dir":"symfony-spawn-franken","engine":"frankenphp","desc":"Symfony with symfony-spawn bundle: coroutine-per-request isolation via TrueAsync PHP core, Doctrine DBAL connection pooling, and FrankenPHP."},"symfony-spawn-tas":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/yangusik/symfony-spawn","dir":"symfony-spawn-tas","engine":"true-async-server","desc":"Symfony with symfony-spawn bundle: coroutine-per-request isolation via TrueAsync PHP core, Doctrine DBAL connection pooling, and TrueAsyncServer."},"tokio-uring-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio-uring","dir":"tokio-uring-ws","engine":"io_uring","desc":"Hand-rolled WebSocket echo on tokio-uring \u2014 the io_uring-backed Rust runtime with a completion/owned-buffer API. One tokio-uring runtime per core with SO_REUSEPORT, and a from-scratch RFC 6455 handshake (hand-written SHA-1 + base64) and frame parser/masking on tokio-uring's TcpStream. No WebSocket library."},"tokio-uring":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio-uring","dir":"tokio-uring","engine":"io_uring","desc":"Minimal HTTP/1.1 server on tokio-uring \u2014 the io_uring-backed Rust runtime with a completion/owned-buffer API. A hand-rolled request parser (Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads), one runtime per core with SO_REUSEPORT. No HTTP framework."},"tokio-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio","dir":"tokio-ws","engine":"tokio","desc":"Hand-rolled WebSocket echo server on raw tokio \u2014 no WebSocket library. A current-thread runtime per core with SO_REUSEPORT sharding, a from-scratch RFC 6455 handshake (hand-written SHA-1 + base64) and a manual frame parser/masking + echo write path."},"tokio":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/tokio-rs/tokio","dir":"tokio","engine":"tokio","desc":"Minimal HTTP/1.1 server on raw tokio \u2014 no HTTP framework. A hand-rolled request parser (request line, headers, Content-Length + chunked bodies, keep-alive, pipelining, fragmented reads) on a tokio TcpStream, with one current-thread runtime per core and SO_REUSEPORT."},"tonic-grpc":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/hyperium/tonic","dir":"tonic-grpc","engine":"tonic","desc":"Rust gRPC server using tonic, a native Rust gRPC implementation built on top of hyper and tower."},"trillium-tuned":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/trillium-rs/trillium","dir":"trillium-tuned","engine":"trillium-http","desc":"Trillium 1.x with one current_thread tokio runtime per CPU, SO_REUSEPORT TCP sharding (single QUIC endpoint for h3), tuned HttpConfig (larger response/body buffers, 64K h2 frames, eager body preallocation), and static files preloaded into memory at startup. sonic-rs for JSON, deadpool-postgres, mimalloc, trillium-grpc for the benchmark.BenchmarkService gRPC endpoints."},"trillium":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/trillium-rs/trillium","dir":"trillium","engine":"trillium-http","desc":"Trillium 1.x async Rust web framework on tokio. trillium-rustls for TLS (h1 + h2 via ALPN), trillium-quinn for HTTP/3, trillium-websockets for /ws, trillium-static for /static/* served from disk per request, trillium-compression middleware for runtime gzip/brotli, trillium-api for JSON handlers, trillium-grpc for the benchmark.BenchmarkService gRPC endpoints, deadpool-postgres for async-db and crud."},"true-async-server":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/true-async/server","dir":"true-async-server","engine":"true-async-server","desc":"Native PHP HTTP server built on the TrueAsync coroutine engine. Each connection runs as a cooperative coroutine; one OS thread per CPU listens via SO_REUSEPORT inside a single PHP process. PDO connection pool, OPcache JIT, no Caddy / FrankenPHP / FastCGI in front."},"typev":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/praisethemoon/type-project","dir":"typev","engine":"io_uring","desc":"TypeV bytecode VM running a Type-C HTTP server."},"ultimate-express":{"type":"emerging","mode":"tuned","language":"","repo":"https://github.com/dimdenGD/ultimate-express","dir":"ultimate-express","engine":"uwebsockets","desc":"ultimate-express (Express API on uWebSockets.js) with the cluster module for multi-core scaling."},"userver":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/userver-framework/userver","dir":"userver","engine":"userver","desc":"Asynchronous framework with a rich set of abstractions for fast and comfortable creation of C++ microservices, services and utilities"},"uvicorn":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/Kludex/uvicorn","dir":"uvicorn","engine":"uvloop","desc":"An ASGI web server implementation for Python (uvloop)"},"vanilla-epoll":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-epoll","engine":"epoll","desc":"vanilla is a minimalist, high-performance HTTP server written in V: multi-threaded, non-blocking epoll I/O, lock-free, copy-free, SO_REUSEPORT. Handlers are pure (request)->[]u8 returning raw response bytes. JSON is built in a single allocation with precomputed prefixes (no per-request reflection); json-comp gzips on Accept-Encoding; json-tls terminates TLS 1.3 (Mbed TLS 4) on :8081 with ALPN http/1.1, reusing the same allocation-free /json serializer; static assets are preloaded into memory; fortunes renders the DB rows + a runtime row with HTML escaping; async-db uses the stdlib db.pg ConnectionPool. Pinned V 0.5.1 (prebuilt release). crud uses an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update) \u2014 no Redis required."},"vanilla-h2c":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-h2c","engine":"epoll","desc":"HTTP/2 cleartext (h2c, prior-knowledge) on vanilla's conn-mode seam: one epoll engine drives the RFC 9113 state machine behind a ConnHandler. The client's PRI * HTTP/2.0 preface parses as an ordinary request; the HTTP handler flips the connection over (core.queue_takeover), appends the server SETTINGS preface, and every later burst is fed to the http2 machine instead of the HTTP/1.1 parser. The http2 module is a self-contained RFC 9113/7541 codec: HPACK (static + dynamic table, canonical Huffman decode, decoded-block ceiling), frame codec, and a stream state machine with send-side flow control, hardened against a live h2spec CI gate. Requests surface only when COMPLETE (END_STREAM); responses are HPACK-encoded HEADERS + DATA. The :8082 listener is h2c-only \u2014 a plain HTTP/1.1 request is refused 505, never a 200, so the benchmark cannot silently measure h1 throughput. /json reuses the vanilla /json shape (same dataset, precomputed per-item prefixes, total = price*quantity*m). Multi-threaded, SO_REUSEPORT, lock-free, -gc none. Pinned V 0.5.2 (prebuilt from source)."},"vanilla-io_uring":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-io_uring","engine":"io_uring","desc":"vanilla is a minimalist, high-performance HTTP server written in V: multi-threaded, non-blocking io_uring I/O, lock-free, copy-free, SO_REUSEPORT. This entry is the vanilla-epoll entry's async handler verbatim, running on the io_uring async runtime (enghitalo/vanilla#99): DB queries park on the PG socket via a oneshot IORING_OP_POLL_ADD and resume on the ring \u2014 never blocking the worker. JSON is built in a single allocation with precomputed prefixes (no per-request reflection); json-comp gzips on Accept-Encoding; json-tls serves /json over HTTP/1.1 + TLS 1.3 on :8081 via the lib's epoll backend (the io_uring backend has no TLS) with kTLS record offload where present; static assets are preloaded into memory; fortunes renders the DB rows + a runtime row with HTML escaping; async-db/crud/fortunes use the native async pg_async driver with per-worker pipelined pools. Built with the default GC on pinned V master (built from source). crud uses an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update) \u2014 no Redis required."},"vanilla-ws":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/enghitalo/vanilla","dir":"vanilla-ws","engine":"epoll","desc":"WebSocket echo on vanilla's conn-mode seam: one epoll engine, two protocols on the same connection. The HTTP handler validates the RFC 6455 upgrade as a pure function, appends the 101 and hands the connection over (core.queue_takeover); from then on every readable burst is fed to a ConnHandler instead of the HTTP/1.1 state machine. The websocket module is a pure RFC 6455 codec (accept-key, frame-head parsing, in-place unmasking, unmasked server-frame writers). Read buffering/compaction, batched flushes and EPOLLOUT backpressure are the engine's own, so a pipelined burst of frames is drained in one handler call and coalesced into one write. Multi-threaded, SO_REUSEPORT, lock-free, -gc none."},"veb":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/vlang/v","dir":"veb","engine":"veb","desc":"veb is the web framework in V's standard library, now running on the parallel fasthttp backend (multi-threaded, SO_REUSEPORT epoll, zero-copy append handler). Its deterministic request framing reassembles TCP-fragmented requests and decodes chunked bodies, so baseline is subscribed (the old single-threaded backend could not). JSON responses are built without per-request reflection (precomputed item prefixes + manual serialization); json-comp gzips on Accept-Encoding with a process-shared cache; static assets are served via veb's static handler (sendfile + MIME) mounted at /static/; crud is an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update); fortunes renders the DB rows + a runtime row with HTML escaping; async-db/crud/fortunes use the stdlib db.pg pooled Go-style DB. Built on pinned V master 84a76d791 (the fasthttp vanilla-architecture refactor, vlang/v#27771) with the default GC (Boehm). json-tls is not subscribed: it needs a second TLS listener on :8081 (a separate OpenSSL path) not wired here."},"WebFramework C":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-cc","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"WebFramework C++":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-cpp","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"WebFramework C#":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-csharp","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"WebFramework Python":{"type":"production","mode":"standard","language":"","repo":"https://github.com/LazyPanda07/WebFramework","dir":"web-framework-python","engine":"WebFramework","desc":"Web framework in C++ with different language APIs(Python, C, C++, C#)"},"workerman-websocket":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/walkor/Workerman","dir":"workerman-websocket","engine":"workerman","desc":"An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols."},"workerman":{"type":"flagship","mode":"standard","language":"","repo":"https://github.com/walkor/Workerman","dir":"workerman","engine":"workerman","desc":"An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols."},"wtx":{"type":"emerging","mode":"standard","language":"","repo":"https://github.com/c410-f3r/wtx","dir":"wtx-grpc","engine":"wtx","desc":"WTX - gRPC Server"},"zeemo":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/skylightis666/zeemo","dir":"zeemo","engine":"io_uring","desc":"Bare-metal Zig HTTP/1.1 server on io_uring. One reactor process per logical CPU via SO_REUSEPORT, hand-written incremental parser, registered provided-buffer rings."},"zix-grpc":{"type":"engine","mode":"standard","language":"","repo":"https://codeberg.org/prothegee/zix","dir":"zix-grpc","engine":"zix","desc":"Zig gRPC server (h2c) on the zix.Grpc engine built on zix.Http2 (no std.http). Shared-nothing by design: each worker owns its own SO_REUSEPORT listener, io_uring completion ring, and connections, with no shared state or locking across cores, multiplexing HTTP/2 streams per connection. Replies use comptime-cached HPACK blocks. Implements GetSum (unary) and StreamSum (server-streaming)."},"zix":{"type":"engine","mode":"standard","language":"","repo":"https://github.com/prothegee/zix","dir":"zix","engine":"zix","desc":"Zig HTTP/1.1 server on the zix.Http1 raw engine (no std.http). Shared-nothing: each worker runs its own SO_REUSEPORT multishot accept plus io_uring completion loop and owns its connections. The /json endpoint serves from the per-worker response cache, and request bodies larger than the read buffer are drained rather than buffered."},"zix-ws":{"type":"engine","mode":"standard","language":"","repo":"https://codeberg.org/prothegee/zix","dir":"zix-ws","engine":"zix","desc":"Zig WebSocket echo server on the zix.Http1 raw engine (no std.http). Shared-nothing by design: each worker owns its own SO_REUSEPORT multishot accept, io_uring completion ring, and connections, with no shared state or locking across cores. The upgrade and echo are engine-owned: frames are read from a shared per-worker provided-buffer ring (an idle connection holds no buffer), and a pipelined burst is coalesced into one write."}},"profiles":[{"id":"baseline","label":"Baseline","category":"Connection","blurb":"Mixed GET/POST with query parsing.","conns":[512,4096],"scoredConns":[512,4096],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/baseline/implementation"},{"id":"pipelined","label":"Pipelined","category":"Connection","blurb":"16x batched HTTP/1.1 pipelining (reference).","conns":[512,4096],"scoredConns":[512,4096],"scored":false,"engineScored":false,"doc":"test-profiles/h1/isolated/pipelined/implementation"},{"id":"limited-conn","label":"Short-lived","category":"Connection","blurb":"Connections close after 10 requests.","conns":[512,4096],"scoredConns":[512,4096],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/short-lived/implementation"},{"id":"json","label":"JSON","category":"Workload","blurb":"Per-request JSON serialization.","conns":[4096],"scoredConns":[4096],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/json-processing/implementation"},{"id":"json-comp","label":"JSON Comp","category":"Workload","blurb":"gzip/brotli content negotiation.","conns":[512,4096,16384],"scoredConns":[512,4096,16384],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/json-compressed/implementation"},{"id":"json-tls","label":"JSON TLS","category":"Workload","blurb":"JSON over HTTP/1.1 + TLS.","conns":[4096],"scoredConns":[4096],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/json-tls/implementation"},{"id":"upload","label":"Upload","category":"Workload","blurb":"Large request-body ingestion.","conns":[32,256],"scoredConns":[32,256],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/upload/implementation"},{"id":"static","label":"Static","category":"Workload","blurb":"20-file static asset serving.","conns":[1024,4096,6800],"scoredConns":[1024,4096,6800],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/static/implementation"},{"id":"async-db","label":"Async DB","category":"Database","blurb":"Async Postgres sequential scan.","conns":[1024],"scoredConns":[1024],"scored":true,"engineScored":true,"doc":"test-profiles/h1/isolated/async-database/implementation"},{"id":"crud","label":"CRUD","category":"Database","blurb":"REST API: list, cached read, upsert, update.","conns":[4096],"scoredConns":[4096],"scored":true,"engineScored":false,"doc":"test-profiles/h1/isolated/crud/implementation"},{"id":"fortunes","label":"Fortunes","category":"Database","blurb":"DB query + HTML template render (reference).","conns":[1024],"scoredConns":[1024],"scored":false,"engineScored":false,"doc":"test-profiles/h1/isolated/fortunes/implementation"},{"id":"api-4","label":"API-4","category":"Multi-endpoint","blurb":"Mixed workload, server capped at 4 CPUs.","conns":[256],"scoredConns":[256],"scored":true,"engineScored":false,"doc":"test-profiles/h1/workload/api-4/implementation"},{"id":"api-16","label":"API-16","category":"Multi-endpoint","blurb":"Mixed workload, server capped at 16 CPUs.","conns":[1024],"scoredConns":[1024],"scored":true,"engineScored":false,"doc":"test-profiles/h1/workload/api-16/implementation"},{"id":"baseline-h2","label":"Baseline","category":"HTTP/2","blurb":"Baseline over h2 (TLS, ALPN).","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/h2/baseline-h2/implementation"},{"id":"static-h2","label":"Static","category":"HTTP/2","blurb":"Static assets over h2 multiplexing.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/h2/static-h2/implementation"},{"id":"baseline-h2c","label":"Baseline (h2c)","category":"HTTP/2","blurb":"Baseline over cleartext h2.","conns":[256,1024,4096],"scoredConns":[256,1024,4096],"scored":true,"engineScored":true,"doc":"test-profiles/h2/baseline-h2c/implementation"},{"id":"json-h2c","label":"JSON (h2c)","category":"HTTP/2","blurb":"JSON over cleartext h2.","conns":[1024,4096],"scoredConns":[1024,4096],"scored":true,"engineScored":false,"doc":"test-profiles/h2/json-h2c/implementation"},{"id":"baseline-h3","label":"Baseline","category":"HTTP/3","blurb":"Baseline over QUIC + TLS 1.3.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/h3/baseline-h3/implementation"},{"id":"static-h3","label":"Static","category":"HTTP/3","blurb":"Static assets over QUIC.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/h3/static-h3/implementation"},{"id":"unary-grpc","label":"Unary","category":"gRPC","blurb":"Unary gRPC over plaintext h2.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/unary/implementation"},{"id":"unary-grpc-tls","label":"Unary TLS","category":"gRPC","blurb":"Unary gRPC over TLS.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/unary/implementation"},{"id":"stream-grpc","label":"Stream","category":"gRPC","blurb":"Server-streaming gRPC, plaintext.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/stream/implementation"},{"id":"stream-grpc-tls","label":"Stream TLS","category":"gRPC","blurb":"Server-streaming gRPC over TLS.","conns":[64],"scoredConns":[64],"scored":true,"engineScored":true,"doc":"test-profiles/grpc/stream/implementation"},{"id":"gateway-64","label":"Gateway (H2)","category":"Gateway","blurb":"Reverse proxy + server, mixed h2.","conns":[512,1024],"scoredConns":[512,1024],"scored":true,"engineScored":true,"doc":"test-profiles/gateway/gateway-h2/implementation"},{"id":"gateway-h3","label":"Gateway (H3)","category":"Gateway","blurb":"Reverse proxy + server over h3.","conns":[64,256],"scoredConns":[64,256],"scored":true,"engineScored":true,"doc":"test-profiles/gateway/gateway-h3/implementation"},{"id":"production-stack","label":"Production Stack","category":"Gateway","blurb":"Edge + Redis + JWT auth + server.","conns":[256,1024],"scoredConns":[256,1024],"scored":true,"engineScored":true,"doc":"test-profiles/gateway/production-stack/implementation"},{"id":"echo-ws","label":"Echo","category":"WebSocket","blurb":"WebSocket echo throughput.","conns":[512,4096,16384],"scoredConns":[512,4096,16384],"scored":true,"engineScored":true,"doc":"test-profiles/ws/echo/implementation"},{"id":"echo-ws-pipeline","label":"Echo Pipelined","category":"WebSocket","blurb":"Batched WebSocket echo.","conns":[512,4096,16384],"scoredConns":[512,4096,16384],"scored":true,"engineScored":true,"doc":"test-profiles/ws/echo-pipeline/implementation"},{"id":"echo-ws-limited","label":"Echo Short-lived","category":"WebSocket","blurb":"WebSocket echo, 10 messages per connection.","conns":[512,4096],"scoredConns":[512,4096],"scored":true,"engineScored":true,"doc":"test-profiles/ws/echo-limited/implementation"}],"results":{"baseline-512":[{"fw":"actix","lang":"Rust","rps":2713517,"avg_latency":"188us","p99_latency":"284us","cpu":"6656.4%","memory":"85MiB","bandwidth":"344.12MB/s","input_bw":"209.61MB/s","status_2xx":13567587,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":1229424,"avg_latency":"415us","p99_latency":"6.20ms","cpu":"6572.5%","memory":"14.5GiB","bandwidth":"184.03MB/s","input_bw":"94.97MB/s","status_2xx":6147121,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1252267,"avg_latency":"408us","p99_latency":"1.95ms","cpu":"5099.8%","memory":"249MiB","bandwidth":"192.23MB/s","input_bw":"96.73MB/s","status_2xx":6261339,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1501740,"avg_latency":"340us","p99_latency":"1.01ms","cpu":"6332.6%","memory":"931.2MiB","bandwidth":"244.80MB/s","input_bw":"116.01MB/s","status_2xx":7508701,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1687058,"avg_latency":"302us","p99_latency":"2.03ms","cpu":"5920.7%","memory":"1.5GiB","bandwidth":"307.22MB/s","input_bw":"130.32MB/s","status_2xx":8435292,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":874581,"avg_latency":"584us","p99_latency":"3.35ms","cpu":"5049.9%","memory":"245MiB","bandwidth":"130.89MB/s","input_bw":"67.56MB/s","status_2xx":4372906,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":12322,"avg_latency":"41.66ms","p99_latency":"43.30ms","cpu":"78.6%","memory":"164MiB","bandwidth":"1.46MB/s","input_bw":"974.69KB/s","status_2xx":61612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":287538,"avg_latency":"1.78ms","p99_latency":"2.97ms","cpu":"6268.9%","memory":"1.4GiB","bandwidth":"32.35MB/s","input_bw":"22.21MB/s","status_2xx":1437694,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":154226,"avg_latency":"3.20ms","p99_latency":"3.71ms","cpu":"5727.4%","memory":"2.5GiB","bandwidth":"22.79MB/s","input_bw":"11.91MB/s","status_2xx":771132,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":578707,"avg_latency":"854us","p99_latency":"2.61ms","cpu":"6642.2%","memory":"358MiB","bandwidth":"107.59MB/s","input_bw":"44.70MB/s","status_2xx":2893538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1321796,"avg_latency":"386us","p99_latency":"682us","cpu":"6623.8%","memory":"2.5GiB","bandwidth":"132.32MB/s","input_bw":"102.11MB/s","status_2xx":6608984,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1324910,"avg_latency":"356us","p99_latency":"2.41ms","cpu":"5798.0%","memory":"411MiB","bandwidth":"213.80MB/s","input_bw":"102.35MB/s","status_2xx":6624551,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1815797,"avg_latency":"281us","p99_latency":"2.03ms","cpu":"5900.5%","memory":"1.4GiB","bandwidth":"228.52MB/s","input_bw":null,"status_2xx":9078989,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":607777,"avg_latency":"842us","p99_latency":"1.61ms","cpu":"6612.6%","memory":"5.8GiB","bandwidth":"118.79MB/s","input_bw":"46.95MB/s","status_2xx":3038886,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":320447,"avg_latency":"1.60ms","p99_latency":"3.24ms","cpu":"6505.3%","memory":"4.5GiB","bandwidth":"41.25MB/s","input_bw":"24.75MB/s","status_2xx":1602237,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1178298,"avg_latency":"433us","p99_latency":"2.23ms","cpu":"5296.5%","memory":"230MiB","bandwidth":"179.75MB/s","input_bw":"91.02MB/s","status_2xx":5891492,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2984044,"avg_latency":"171us","p99_latency":"1.79ms","cpu":"6063.0%","memory":"378MiB","bandwidth":"307.27MB/s","input_bw":"230.51MB/s","status_2xx":14920222,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":711263,"avg_latency":"719us","p99_latency":"1.37ms","cpu":"6659.9%","memory":"3.0GiB","bandwidth":"113.93MB/s","input_bw":"54.94MB/s","status_2xx":3556317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":832831,"avg_latency":"614us","p99_latency":"1.28ms","cpu":"6993.1%","memory":"1.6GiB","bandwidth":"131.03MB/s","input_bw":"64.33MB/s","status_2xx":4164159,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1380613,"avg_latency":"370us","p99_latency":"875us","cpu":"6881.3%","memory":"367MiB","bandwidth":"217.19MB/s","input_bw":"106.65MB/s","status_2xx":6903069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1887468,"avg_latency":"270us","p99_latency":"6.10ms","cpu":"6477.9%","memory":"9.5GiB","bandwidth":"230.35MB/s","input_bw":"145.80MB/s","status_2xx":9437344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":115161,"avg_latency":"4.25ms","p99_latency":"5.41ms","cpu":"5978.6%","memory":"3.2GiB","bandwidth":"16.80MB/s","input_bw":null,"status_2xx":575806,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":573606,"avg_latency":"865us","p99_latency":"1.99ms","cpu":"6527.7%","memory":"3.1GiB","bandwidth":"106.65MB/s","input_bw":"44.31MB/s","status_2xx":2868034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":158851,"avg_latency":"3.22ms","p99_latency":"15.10ms","cpu":"2821.4%","memory":"553.7MiB","bandwidth":"17.87MB/s","input_bw":"12.27MB/s","status_2xx":794258,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1226235,"avg_latency":"417us","p99_latency":"1.16ms","cpu":"6758.6%","memory":"5.9GiB","bandwidth":"213.95MB/s","input_bw":"94.72MB/s","status_2xx":6131178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":33073,"avg_latency":"10.70ms","p99_latency":"82.80ms","cpu":"4838.6%","memory":"306MiB","bandwidth":"4.54MB/s","input_bw":"2.55MB/s","status_2xx":165369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2057461,"avg_latency":"248us","p99_latency":"1.08ms","cpu":"5777.5%","memory":"245MiB","bandwidth":"253.05MB/s","input_bw":"158.93MB/s","status_2xx":10287307,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2949676,"avg_latency":"173us","p99_latency":"455us","cpu":"6180.8%","memory":"382MiB","bandwidth":"357.16MB/s","input_bw":"227.86MB/s","status_2xx":14748381,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1419420,"avg_latency":"360us","p99_latency":"1.72ms","cpu":"5655.4%","memory":"315MiB","bandwidth":"185.41MB/s","input_bw":"109.65MB/s","status_2xx":7097103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1044040,"avg_latency":"489us","p99_latency":"2.06ms","cpu":"4866.7%","memory":"202MiB","bandwidth":"134.36MB/s","input_bw":"80.65MB/s","status_2xx":5220200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":1374954,"avg_latency":"373us","p99_latency":"982us","cpu":"4358.1%","memory":"66.6MiB","bandwidth":"162.56MB/s","input_bw":"106.21MB/s","status_2xx":6874773,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":1552399,"avg_latency":"329us","p99_latency":"571us","cpu":"6786.4%","memory":"155MiB","bandwidth":"233.86MB/s","input_bw":"119.92MB/s","status_2xx":7761999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1560881,"avg_latency":"327us","p99_latency":"685us","cpu":"6163.8%","memory":"5.1GiB","bandwidth":"214.29MB/s","input_bw":"120.57MB/s","status_2xx":7804407,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":1707929,"avg_latency":"299us","p99_latency":"540us","cpu":"6257.4%","memory":"6.8GiB","bandwidth":"195.40MB/s","input_bw":"131.93MB/s","status_2xx":8539646,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3080718,"avg_latency":"165us","p99_latency":"2.36ms","cpu":"6571.2%","memory":"48MiB","bandwidth":"434.70MB/s","input_bw":"237.98MB/s","status_2xx":15403592,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1230668,"avg_latency":"415us","p99_latency":"3.45ms","cpu":"5840.1%","memory":"1.9GiB","bandwidth":"141.98MB/s","input_bw":"95.07MB/s","status_2xx":6153340,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":401131,"avg_latency":"1.24ms","p99_latency":"5.19ms","cpu":"6424.2%","memory":"89.8MiB","bandwidth":"47.42MB/s","input_bw":"30.99MB/s","status_2xx":2005657,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":2944730,"avg_latency":"173us","p99_latency":"409us","cpu":"6442.5%","memory":"42.3MiB","bandwidth":"331.31MB/s","input_bw":"227.47MB/s","status_2xx":14723652,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":365205,"avg_latency":"1.40ms","p99_latency":"1.91ms","cpu":"3550.4%","memory":"1.9GiB","bandwidth":"54.67MB/s","input_bw":null,"status_2xx":1826029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":4098128,"avg_latency":"124us","p99_latency":"254us","cpu":"6252.7%","memory":"264MiB","bandwidth":"257.88MB/s","input_bw":"316.57MB/s","status_2xx":20490644,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":3822806,"avg_latency":"133us","p99_latency":"402us","cpu":"5379.5%","memory":"111MiB","bandwidth":"426.39MB/s","input_bw":"295.30MB/s","status_2xx":19114034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":817316,"avg_latency":"625us","p99_latency":"1.39ms","cpu":"6273.8%","memory":"5.0GiB","bandwidth":"51.43MB/s","input_bw":"63.14MB/s","status_2xx":4086580,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":830262,"avg_latency":"616us","p99_latency":"1.34ms","cpu":"6404.1%","memory":"10.7GiB","bandwidth":"52.24MB/s","input_bw":"64.14MB/s","status_2xx":4151314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":4021648,"avg_latency":"126us","p99_latency":"211us","cpu":"6171.6%","memory":"72MiB","bandwidth":"437.13MB/s","input_bw":"310.66MB/s","status_2xx":20108241,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2539880,"avg_latency":"201us","p99_latency":"532us","cpu":"5953.6%","memory":"101MiB","bandwidth":"290.66MB/s","input_bw":"196.20MB/s","status_2xx":12699400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2802794,"avg_latency":"182us","p99_latency":"493us","cpu":"6748.2%","memory":"152MiB","bandwidth":"240.51MB/s","input_bw":"216.51MB/s","status_2xx":14013974,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":3276956,"avg_latency":"155us","p99_latency":"473us","cpu":"6352.5%","memory":"115.4MiB","bandwidth":"206.18MB/s","input_bw":"253.14MB/s","status_2xx":16384780,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":4089826,"avg_latency":"124us","p99_latency":"255us","cpu":"6417.6%","memory":"433MiB","bandwidth":"257.34MB/s","input_bw":"315.93MB/s","status_2xx":20449132,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":4099604,"avg_latency":"124us","p99_latency":"217us","cpu":"6437.9%","memory":"81MiB","bandwidth":"257.93MB/s","input_bw":"316.68MB/s","status_2xx":20498024,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1078632,"avg_latency":"474us","p99_latency":"1.34ms","cpu":"3984.0%","memory":"98MiB","bandwidth":"176.89MB/s","input_bw":"83.32MB/s","status_2xx":5393162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":840257,"avg_latency":"609us","p99_latency":"1.41ms","cpu":"6647.5%","memory":"2.9GiB","bandwidth":"152.15MB/s","input_bw":"64.91MB/s","status_2xx":4201289,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2375489,"avg_latency":"214us","p99_latency":"3.18ms","cpu":"6583.0%","memory":"4.4GiB","bandwidth":"321.61MB/s","input_bw":"183.50MB/s","status_2xx":11877449,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":506101,"avg_latency":"1.01ms","p99_latency":"1.83ms","cpu":"6428.9%","memory":"374MiB","bandwidth":"110.50MB/s","input_bw":"39.10MB/s","status_2xx":2530506,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":277796,"avg_latency":"1.84ms","p99_latency":"5.53ms","cpu":"6509.7%","memory":"3.9GiB","bandwidth":"53.03MB/s","input_bw":"21.46MB/s","status_2xx":1388982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":326238,"avg_latency":"1.57ms","p99_latency":"3.70ms","cpu":"2339.5%","memory":"860MiB","bandwidth":"39.50MB/s","input_bw":"25.20MB/s","status_2xx":1631191,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1741705,"avg_latency":"293us","p99_latency":"538us","cpu":"6602.2%","memory":"4.3GiB","bandwidth":"167.74MB/s","input_bw":"134.54MB/s","status_2xx":8708525,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":576090,"avg_latency":"888us","p99_latency":"1.79ms","cpu":"6576.0%","memory":"1.2GiB","bandwidth":"48.88MB/s","input_bw":"44.50MB/s","status_2xx":2880451,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":730114,"avg_latency":"702us","p99_latency":"25.80ms","cpu":"5395.2%","memory":"4.9GiB","bandwidth":"85.62MB/s","input_bw":"56.40MB/s","status_2xx":3650574,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":477939,"avg_latency":"1.07ms","p99_latency":"30.50ms","cpu":"5279.9%","memory":"5.0GiB","bandwidth":"72.90MB/s","input_bw":"36.92MB/s","status_2xx":2389696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":75539,"avg_latency":"6.79ms","p99_latency":"80.30ms","cpu":"5662.9%","memory":"7.9GiB","bandwidth":"15.92MB/s","input_bw":"5.84MB/s","status_2xx":377699,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":1209922,"avg_latency":"422us","p99_latency":"1.05ms","cpu":"6360.6%","memory":"13.5GiB","bandwidth":"151.12MB/s","input_bw":"93.46MB/s","status_2xx":6049611,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":4352994,"avg_latency":"117us","p99_latency":"157us","cpu":"6104.1%","memory":"4.1GiB","bandwidth":"348.56MB/s","input_bw":"336.26MB/s","status_2xx":21764973,"status_3xx":0,"status_4xx":571,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":833311,"avg_latency":"193us","p99_latency":"399us","cpu":"6413.0%","memory":"280MiB","bandwidth":"112.02MB/s","input_bw":"64.37MB/s","status_2xx":4166556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":423322,"avg_latency":"1.21ms","p99_latency":"4.83ms","cpu":"6381.3%","memory":"836MiB","bandwidth":"47.63MB/s","input_bw":"32.70MB/s","status_2xx":2116612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":100648,"avg_latency":"5.09ms","p99_latency":"83.10ms","cpu":"4772.5%","memory":"9.0GiB","bandwidth":"8.54MB/s","input_bw":"7.77MB/s","status_2xx":503241,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":4173959,"avg_latency":"122us","p99_latency":"280us","cpu":"6241.7%","memory":"47MiB","bandwidth":"342.20MB/s","input_bw":"322.43MB/s","status_2xx":20869796,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":3986715,"avg_latency":"127us","p99_latency":"280us","cpu":"6335.9%","memory":"1.1GiB","bandwidth":"444.68MB/s","input_bw":"307.96MB/s","status_2xx":19933579,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":19510,"avg_latency":"26.29ms","p99_latency":"110.80ms","cpu":"734.1%","memory":"353MiB","bandwidth":"3.92MB/s","input_bw":"1.51MB/s","status_2xx":97554,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1898421,"avg_latency":"269us","p99_latency":"1.59ms","cpu":"5630.3%","memory":"198MiB","bandwidth":"257.03MB/s","input_bw":"146.65MB/s","status_2xx":9492107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2649847,"avg_latency":"192us","p99_latency":"449us","cpu":"6181.5%","memory":"599MiB","bandwidth":"358.75MB/s","input_bw":"204.69MB/s","status_2xx":13249237,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":98225,"avg_latency":"5.21ms","p99_latency":"66.50ms","cpu":"4526.0%","memory":"6.7GiB","bandwidth":"9.93MB/s","input_bw":"7.59MB/s","status_2xx":491129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":603332,"avg_latency":"847us","p99_latency":"7.99ms","cpu":"4768.3%","memory":"214MiB","bandwidth":"75.93MB/s","input_bw":"46.61MB/s","status_2xx":3016662,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":85240,"avg_latency":"5.69ms","p99_latency":"16.00ms","cpu":"1539.1%","memory":"168MiB","bandwidth":"10.08MB/s","input_bw":"6.58MB/s","status_2xx":426200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":278960,"avg_latency":"1.71ms","p99_latency":"3.64ms","cpu":"2080.0%","memory":"2.1GiB","bandwidth":"30.64MB/s","input_bw":"21.55MB/s","status_2xx":1394803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":3519409,"avg_latency":"144us","p99_latency":"360us","cpu":"6487.1%","memory":"1.0GiB","bandwidth":"449.63MB/s","input_bw":"271.87MB/s","status_2xx":17597048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2035856,"avg_latency":"250us","p99_latency":"3.31ms","cpu":"6714.5%","memory":"201.6MiB","bandwidth":"300.86MB/s","input_bw":"157.27MB/s","status_2xx":10179282,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":144708,"avg_latency":"3.54ms","p99_latency":"10.40ms","cpu":"4707.6%","memory":"787MiB","bandwidth":"23.02MB/s","input_bw":"11.18MB/s","status_2xx":723544,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":299993,"avg_latency":"1.71ms","p99_latency":"7.71ms","cpu":"6485.7%","memory":"411MiB","bandwidth":"43.47MB/s","input_bw":"23.17MB/s","status_2xx":1499969,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":4269664,"avg_latency":"119us","p99_latency":"266us","cpu":"6289.3%","memory":"43MiB","bandwidth":"268.64MB/s","input_bw":"329.82MB/s","status_2xx":21348321,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":3380500,"avg_latency":"150us","p99_latency":"315us","cpu":"6512.2%","memory":"45MiB","bandwidth":"212.76MB/s","input_bw":"261.14MB/s","status_2xx":16902502,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":607122,"avg_latency":"790us","p99_latency":"1.85ms","cpu":"5777.3%","memory":"134MiB","bandwidth":"85.09MB/s","input_bw":"46.90MB/s","status_2xx":3035610,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":590554,"avg_latency":"866us","p99_latency":"2.01ms","cpu":"6211.6%","memory":"260MiB","bandwidth":"82.77MB/s","input_bw":"45.62MB/s","status_2xx":2952772,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2154955,"avg_latency":"237us","p99_latency":"571us","cpu":"6712.0%","memory":"182MiB","bandwidth":"135.61MB/s","input_bw":"166.47MB/s","status_2xx":10774775,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2232140,"avg_latency":"107us","p99_latency":"636us","cpu":"6380.0%","memory":"156MiB","bandwidth":"191.53MB/s","input_bw":"172.43MB/s","status_2xx":11160704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1202638,"avg_latency":"425us","p99_latency":"1.20ms","cpu":"6742.4%","memory":"7.3GiB","bandwidth":"220.15MB/s","input_bw":"92.90MB/s","status_2xx":6013191,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1026922,"avg_latency":"498us","p99_latency":"3.60ms","cpu":"6555.9%","memory":"221MiB","bandwidth":"141.01MB/s","input_bw":"79.33MB/s","status_2xx":5134613,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":691849,"avg_latency":"739us","p99_latency":"1.53ms","cpu":"6486.6%","memory":"3.2GiB","bandwidth":"100.92MB/s","input_bw":null,"status_2xx":3459249,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":3657649,"avg_latency":"139us","p99_latency":"583us","cpu":"6461.8%","memory":"77MiB","bandwidth":"373.12MB/s","input_bw":"282.54MB/s","status_2xx":18288247,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":3570560,"avg_latency":"142us","p99_latency":"1.02ms","cpu":"6447.4%","memory":"1.0GiB","bandwidth":"364.24MB/s","input_bw":"275.82MB/s","status_2xx":17852804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":106147,"avg_latency":"4.85ms","p99_latency":"42.90ms","cpu":"1183.9%","memory":"519MiB","bandwidth":"7.99MB/s","input_bw":"8.20MB/s","status_2xx":530739,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":2844479,"avg_latency":"179us","p99_latency":"488us","cpu":"6423.3%","memory":"193MiB","bandwidth":"241.36MB/s","input_bw":null,"status_2xx":14222395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":4096391,"avg_latency":"124us","p99_latency":"229us","cpu":"6259.7%","memory":"75MiB","bandwidth":"257.77MB/s","input_bw":"316.44MB/s","status_2xx":20481958,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":4217982,"avg_latency":"120us","p99_latency":"231us","cpu":"6348.6%","memory":"130MiB","bandwidth":"265.42MB/s","input_bw":"325.83MB/s","status_2xx":21089911,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-4096":[{"fw":"actix","lang":"Rust","rps":2775120,"avg_latency":"1.37ms","p99_latency":"2.56ms","cpu":"6675.4%","memory":"154MiB","bandwidth":"351.90MB/s","input_bw":"214.37MB/s","status_2xx":13875601,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":1254305,"avg_latency":"2.88ms","p99_latency":"10.60ms","cpu":"6434.9%","memory":"7.2GiB","bandwidth":"187.76MB/s","input_bw":"96.89MB/s","status_2xx":6271529,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1279817,"avg_latency":"2.75ms","p99_latency":"8.65ms","cpu":"5503.3%","memory":"352MiB","bandwidth":"196.46MB/s","input_bw":"98.86MB/s","status_2xx":6399088,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1034605,"avg_latency":"3.13ms","p99_latency":"8.42ms","cpu":"5307.1%","memory":"964.6MiB","bandwidth":"168.68MB/s","input_bw":"79.92MB/s","status_2xx":5173026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1806612,"avg_latency":"2.27ms","p99_latency":"8.08ms","cpu":"5949.2%","memory":"1.8GiB","bandwidth":"328.99MB/s","input_bw":"139.56MB/s","status_2xx":9033064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":892723,"avg_latency":"3.79ms","p99_latency":"11.70ms","cpu":"5527.8%","memory":"314MiB","bandwidth":"133.63MB/s","input_bw":"68.96MB/s","status_2xx":4463617,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":98769,"avg_latency":"41.47ms","p99_latency":"43.20ms","cpu":"429.0%","memory":"189MiB","bandwidth":"11.67MB/s","input_bw":"7.63MB/s","status_2xx":493847,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":283731,"avg_latency":"13.98ms","p99_latency":"29.40ms","cpu":"6517.8%","memory":"1.5GiB","bandwidth":"31.92MB/s","input_bw":"21.92MB/s","status_2xx":1418657,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":107925,"avg_latency":"20.94ms","p99_latency":"120.40ms","cpu":"3397.0%","memory":"2.5GiB","bandwidth":"15.95MB/s","input_bw":"8.34MB/s","status_2xx":539627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":562836,"avg_latency":"7.24ms","p99_latency":"13.60ms","cpu":"6538.5%","memory":"745MiB","bandwidth":"104.64MB/s","input_bw":"43.48MB/s","status_2xx":2814183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1630539,"avg_latency":"2.51ms","p99_latency":"3.40ms","cpu":"6806.9%","memory":"2.5GiB","bandwidth":"163.23MB/s","input_bw":"125.96MB/s","status_2xx":8152699,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1391217,"avg_latency":"2.90ms","p99_latency":"7.53ms","cpu":"5910.5%","memory":"1.9GiB","bandwidth":"226.52MB/s","input_bw":"107.47MB/s","status_2xx":6956088,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1836710,"avg_latency":"2.23ms","p99_latency":"10.00ms","cpu":"5806.3%","memory":"1.5GiB","bandwidth":"231.15MB/s","input_bw":null,"status_2xx":9183552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":592570,"avg_latency":"5.82ms","p99_latency":"7.80ms","cpu":"6454.5%","memory":"6.2GiB","bandwidth":"115.82MB/s","input_bw":"45.77MB/s","status_2xx":2962853,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":314605,"avg_latency":"12.99ms","p99_latency":"18.30ms","cpu":"6506.2%","memory":"4.6GiB","bandwidth":"40.49MB/s","input_bw":"24.30MB/s","status_2xx":1573028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1219151,"avg_latency":"2.91ms","p99_latency":"8.69ms","cpu":"5383.4%","memory":"385MiB","bandwidth":"185.98MB/s","input_bw":"94.18MB/s","status_2xx":6095758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":3271479,"avg_latency":"1.25ms","p99_latency":"7.03ms","cpu":"5909.8%","memory":"594MiB","bandwidth":"336.83MB/s","input_bw":"252.71MB/s","status_2xx":16357397,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":737611,"avg_latency":"4.65ms","p99_latency":"6.32ms","cpu":"6515.5%","memory":"3.0GiB","bandwidth":"118.15MB/s","input_bw":"56.98MB/s","status_2xx":3688058,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1016061,"avg_latency":"4.03ms","p99_latency":"6.27ms","cpu":"6959.6%","memory":"1.4GiB","bandwidth":"159.84MB/s","input_bw":"78.49MB/s","status_2xx":5080308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1400230,"avg_latency":"2.93ms","p99_latency":"3.70ms","cpu":"6620.2%","memory":"846MiB","bandwidth":"220.28MB/s","input_bw":"108.16MB/s","status_2xx":7001154,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1918113,"avg_latency":"1.88ms","p99_latency":"10.20ms","cpu":"6236.7%","memory":"10.6GiB","bandwidth":"234.08MB/s","input_bw":"148.17MB/s","status_2xx":9590569,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":77319,"avg_latency":"28.75ms","p99_latency":"257.70ms","cpu":"3355.5%","memory":"3.2GiB","bandwidth":"11.28MB/s","input_bw":null,"status_2xx":386597,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":552953,"avg_latency":"7.39ms","p99_latency":"14.50ms","cpu":"6436.2%","memory":"3.2GiB","bandwidth":"102.81MB/s","input_bw":"42.71MB/s","status_2xx":2764766,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":202696,"avg_latency":"20.16ms","p99_latency":"158.10ms","cpu":"3503.0%","memory":"704.2MiB","bandwidth":"22.59MB/s","input_bw":"15.66MB/s","status_2xx":1013484,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1210412,"avg_latency":"3.38ms","p99_latency":"5.21ms","cpu":"6640.1%","memory":"5.9GiB","bandwidth":"211.19MB/s","input_bw":"93.50MB/s","status_2xx":6052062,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":24842,"avg_latency":"11.12ms","p99_latency":"28.00ms","cpu":"4985.0%","memory":"792MiB","bandwidth":"3.41MB/s","input_bw":"1.92MB/s","status_2xx":124214,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1810183,"avg_latency":"2.12ms","p99_latency":"6.33ms","cpu":"5125.5%","memory":"528MiB","bandwidth":"222.64MB/s","input_bw":"139.83MB/s","status_2xx":9050919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":3073700,"avg_latency":"1.33ms","p99_latency":"4.54ms","cpu":"5924.9%","memory":"499MiB","bandwidth":"372.17MB/s","input_bw":"237.44MB/s","status_2xx":15368502,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1479005,"avg_latency":"2.35ms","p99_latency":"7.01ms","cpu":"5869.2%","memory":"477MiB","bandwidth":"193.19MB/s","input_bw":"114.25MB/s","status_2xx":7395026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1120402,"avg_latency":"2.98ms","p99_latency":"9.34ms","cpu":"5467.5%","memory":"346MiB","bandwidth":"144.21MB/s","input_bw":"86.55MB/s","status_2xx":5602014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":1258483,"avg_latency":"3.25ms","p99_latency":"4.01ms","cpu":"4207.1%","memory":"148.5MiB","bandwidth":"148.78MB/s","input_bw":"97.21MB/s","status_2xx":6292417,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":1531028,"avg_latency":"665us","p99_latency":"989us","cpu":"6140.5%","memory":"141MiB","bandwidth":"230.61MB/s","input_bw":"118.27MB/s","status_2xx":7655142,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1441708,"avg_latency":"2.50ms","p99_latency":"7.35ms","cpu":"6059.0%","memory":"7.5GiB","bandwidth":"197.93MB/s","input_bw":"111.37MB/s","status_2xx":7208544,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":1529299,"avg_latency":"2.68ms","p99_latency":"7.77ms","cpu":"6209.9%","memory":"6.7GiB","bandwidth":"174.97MB/s","input_bw":"118.13MB/s","status_2xx":7646496,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3262680,"avg_latency":"1.25ms","p99_latency":"6.82ms","cpu":"6620.6%","memory":"116MiB","bandwidth":"460.39MB/s","input_bw":"252.03MB/s","status_2xx":16313401,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1243806,"avg_latency":"3.29ms","p99_latency":"12.40ms","cpu":"5961.1%","memory":"1.9GiB","bandwidth":"143.49MB/s","input_bw":"96.08MB/s","status_2xx":6219032,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":402360,"avg_latency":"6.26ms","p99_latency":"16.60ms","cpu":"6449.3%","memory":"130.9MiB","bandwidth":"47.56MB/s","input_bw":"31.08MB/s","status_2xx":2011802,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":3003360,"avg_latency":"1.36ms","p99_latency":"2.68ms","cpu":"6604.7%","memory":"112.4MiB","bandwidth":"337.86MB/s","input_bw":"232.00MB/s","status_2xx":15016802,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":387711,"avg_latency":"8.41ms","p99_latency":"12.90ms","cpu":"3407.8%","memory":"1.9GiB","bandwidth":"58.03MB/s","input_bw":null,"status_2xx":1938557,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":4138716,"avg_latency":"989us","p99_latency":"1.29ms","cpu":"6178.4%","memory":"348MiB","bandwidth":"260.34MB/s","input_bw":"319.71MB/s","status_2xx":20693581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":4025988,"avg_latency":"1.02ms","p99_latency":"2.18ms","cpu":"5964.1%","memory":"162MiB","bandwidth":"449.00MB/s","input_bw":"311.00MB/s","status_2xx":20129944,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":822062,"avg_latency":"4.97ms","p99_latency":"9.82ms","cpu":"6154.9%","memory":"9.5GiB","bandwidth":"51.73MB/s","input_bw":"63.50MB/s","status_2xx":4110314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":838039,"avg_latency":"4.90ms","p99_latency":"9.60ms","cpu":"6201.7%","memory":"4.9GiB","bandwidth":"52.73MB/s","input_bw":"64.74MB/s","status_2xx":4190199,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":4309995,"avg_latency":"949us","p99_latency":"1.22ms","cpu":"6251.3%","memory":"102MiB","bandwidth":"468.33MB/s","input_bw":"332.94MB/s","status_2xx":21549979,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2565216,"avg_latency":"1.60ms","p99_latency":"3.27ms","cpu":"5711.6%","memory":"132MiB","bandwidth":"293.48MB/s","input_bw":"198.16MB/s","status_2xx":12826081,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2887122,"avg_latency":"1.42ms","p99_latency":"2.78ms","cpu":"6687.5%","memory":"157MiB","bandwidth":"247.74MB/s","input_bw":"223.02MB/s","status_2xx":14435612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":3333009,"avg_latency":"1.09ms","p99_latency":"4.02ms","cpu":"6560.3%","memory":"189.7MiB","bandwidth":"209.71MB/s","input_bw":"257.47MB/s","status_2xx":16665045,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":4127722,"avg_latency":"991us","p99_latency":"1.37ms","cpu":"6434.0%","memory":"498MiB","bandwidth":"259.63MB/s","input_bw":"318.86MB/s","status_2xx":20638613,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":4386544,"avg_latency":"932us","p99_latency":"1.23ms","cpu":"6194.4%","memory":"131MiB","bandwidth":"276.00MB/s","input_bw":"338.85MB/s","status_2xx":21932721,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1176223,"avg_latency":"3.48ms","p99_latency":"6.85ms","cpu":"4448.1%","memory":"181MiB","bandwidth":"192.89MB/s","input_bw":"90.86MB/s","status_2xx":5881116,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1209537,"avg_latency":"3.39ms","p99_latency":"7.79ms","cpu":"6599.4%","memory":"3.6GiB","bandwidth":"219.11MB/s","input_bw":"93.43MB/s","status_2xx":6047689,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2554976,"avg_latency":"1.60ms","p99_latency":"6.99ms","cpu":"6676.0%","memory":"4.4GiB","bandwidth":"345.90MB/s","input_bw":"197.37MB/s","status_2xx":12774882,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":486848,"avg_latency":"7.32ms","p99_latency":"10.70ms","cpu":"6431.4%","memory":"478MiB","bandwidth":"106.29MB/s","input_bw":"37.61MB/s","status_2xx":2434242,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":267441,"avg_latency":"15.25ms","p99_latency":"19.40ms","cpu":"6202.1%","memory":"3.9GiB","bandwidth":"50.99MB/s","input_bw":"20.66MB/s","status_2xx":1337209,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":825534,"avg_latency":"4.97ms","p99_latency":"9.79ms","cpu":"6355.9%","memory":"1.0GiB","bandwidth":"99.96MB/s","input_bw":"63.77MB/s","status_2xx":4127671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1777039,"avg_latency":"2.30ms","p99_latency":"4.51ms","cpu":"6409.0%","memory":"8.4GiB","bandwidth":"171.12MB/s","input_bw":"137.27MB/s","status_2xx":8885195,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":550257,"avg_latency":"7.45ms","p99_latency":"11.90ms","cpu":"6547.7%","memory":"1.3GiB","bandwidth":"46.69MB/s","input_bw":"42.51MB/s","status_2xx":2751285,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":65472,"avg_latency":"59.13ms","p99_latency":"237.40ms","cpu":"4803.4%","memory":"5.3GiB","bandwidth":"7.68MB/s","input_bw":"5.06MB/s","status_2xx":327361,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":57975,"avg_latency":"68.86ms","p99_latency":"171.80ms","cpu":"4816.2%","memory":"4.5GiB","bandwidth":"8.84MB/s","input_bw":"4.48MB/s","status_2xx":289878,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":33983,"avg_latency":"101.73ms","p99_latency":"345.20ms","cpu":"5112.6%","memory":"7.7GiB","bandwidth":"7.16MB/s","input_bw":"2.63MB/s","status_2xx":169917,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":1176734,"avg_latency":"3.48ms","p99_latency":"13.00ms","cpu":"6299.7%","memory":"13.0GiB","bandwidth":"146.98MB/s","input_bw":"90.90MB/s","status_2xx":5883671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":4264134,"avg_latency":"961us","p99_latency":"1.11ms","cpu":"6100.1%","memory":"4.2GiB","bandwidth":"341.48MB/s","input_bw":"329.39MB/s","status_2xx":21320673,"status_3xx":0,"status_4xx":1849,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":846968,"avg_latency":"217us","p99_latency":"391us","cpu":"6217.2%","memory":"288MiB","bandwidth":"113.86MB/s","input_bw":"65.43MB/s","status_2xx":4234844,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":430749,"avg_latency":"9.39ms","p99_latency":"26.60ms","cpu":"6285.4%","memory":"903MiB","bandwidth":"48.46MB/s","input_bw":"33.27MB/s","status_2xx":2153748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":49154,"avg_latency":"73.62ms","p99_latency":"290.40ms","cpu":"4002.9%","memory":"8.2GiB","bandwidth":"4.17MB/s","input_bw":"3.80MB/s","status_2xx":245772,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":4194000,"avg_latency":"975us","p99_latency":"2.08ms","cpu":"6427.4%","memory":"118MiB","bandwidth":"343.78MB/s","input_bw":"323.98MB/s","status_2xx":20970000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4199582,"avg_latency":"975us","p99_latency":"1.29ms","cpu":"6227.0%","memory":"1.2GiB","bandwidth":"468.28MB/s","input_bw":"324.41MB/s","status_2xx":20997910,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":18656,"avg_latency":"168.86ms","p99_latency":"647.70ms","cpu":"1000.1%","memory":"308MiB","bandwidth":"3.75MB/s","input_bw":"1.44MB/s","status_2xx":93280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1868900,"avg_latency":"2.19ms","p99_latency":"6.79ms","cpu":"5855.4%","memory":"558MiB","bandwidth":"253.03MB/s","input_bw":"144.37MB/s","status_2xx":9344504,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2707036,"avg_latency":"1.51ms","p99_latency":"5.42ms","cpu":"5811.5%","memory":"958MiB","bandwidth":"366.49MB/s","input_bw":"209.11MB/s","status_2xx":13535183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":58507,"avg_latency":"59.81ms","p99_latency":"235.40ms","cpu":"3410.4%","memory":"4.9GiB","bandwidth":"5.91MB/s","input_bw":"4.52MB/s","status_2xx":292535,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":558421,"avg_latency":"7.35ms","p99_latency":"19.20ms","cpu":"5969.6%","memory":"468MiB","bandwidth":"70.28MB/s","input_bw":"43.14MB/s","status_2xx":2792107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":82494,"avg_latency":"17.52ms","p99_latency":"67.50ms","cpu":"1370.1%","memory":"125MiB","bandwidth":"9.75MB/s","input_bw":"6.37MB/s","status_2xx":412474,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":259473,"avg_latency":"8.25ms","p99_latency":"16.10ms","cpu":"2040.5%","memory":"2.5GiB","bandwidth":"28.49MB/s","input_bw":"20.04MB/s","status_2xx":1297367,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":3690482,"avg_latency":"1.11ms","p99_latency":"2.17ms","cpu":"6390.7%","memory":"1.0GiB","bandwidth":"471.49MB/s","input_bw":"285.08MB/s","status_2xx":18452411,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2034436,"avg_latency":"2.01ms","p99_latency":"8.16ms","cpu":"6532.1%","memory":"211.5MiB","bandwidth":"300.65MB/s","input_bw":"157.16MB/s","status_2xx":10172183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":150306,"avg_latency":"27.14ms","p99_latency":"48.30ms","cpu":"4891.8%","memory":"1.4GiB","bandwidth":"23.83MB/s","input_bw":"11.61MB/s","status_2xx":751532,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":292336,"avg_latency":"14.02ms","p99_latency":"28.20ms","cpu":"6611.2%","memory":"650MiB","bandwidth":"42.35MB/s","input_bw":"22.58MB/s","status_2xx":1461681,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":4187085,"avg_latency":"977us","p99_latency":"1.34ms","cpu":"6417.9%","memory":"187MiB","bandwidth":"263.43MB/s","input_bw":"323.44MB/s","status_2xx":20935425,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":3565878,"avg_latency":"1.15ms","p99_latency":"1.72ms","cpu":"6627.1%","memory":"175MiB","bandwidth":"224.38MB/s","input_bw":"275.46MB/s","status_2xx":17829392,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":663079,"avg_latency":"2.83ms","p99_latency":"9.20ms","cpu":"6113.0%","memory":"200MiB","bandwidth":"92.93MB/s","input_bw":"51.22MB/s","status_2xx":3315395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":618801,"avg_latency":"6.62ms","p99_latency":"9.47ms","cpu":"6271.0%","memory":"368MiB","bandwidth":"86.73MB/s","input_bw":"47.80MB/s","status_2xx":3094007,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2260254,"avg_latency":"1.81ms","p99_latency":"2.53ms","cpu":"5871.2%","memory":"220MiB","bandwidth":"142.23MB/s","input_bw":"174.60MB/s","status_2xx":11301272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2159262,"avg_latency":"150us","p99_latency":"729us","cpu":"6556.8%","memory":"396MiB","bandwidth":"185.27MB/s","input_bw":"166.80MB/s","status_2xx":10796310,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1194438,"avg_latency":"3.43ms","p99_latency":"6.38ms","cpu":"6758.4%","memory":"7.6GiB","bandwidth":"218.65MB/s","input_bw":"92.27MB/s","status_2xx":5972194,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1019661,"avg_latency":"4.02ms","p99_latency":"10.00ms","cpu":"6363.5%","memory":"441MiB","bandwidth":"140.00MB/s","input_bw":"78.77MB/s","status_2xx":5098307,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":727096,"avg_latency":"5.57ms","p99_latency":"6.92ms","cpu":"6377.1%","memory":"3.2GiB","bandwidth":"106.07MB/s","input_bw":null,"status_2xx":3635484,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":4056051,"avg_latency":"1.01ms","p99_latency":"6.58ms","cpu":"6445.9%","memory":"160MiB","bandwidth":"413.67MB/s","input_bw":"313.32MB/s","status_2xx":20280259,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":4260437,"avg_latency":"961us","p99_latency":"6.59ms","cpu":"6285.6%","memory":"1.2GiB","bandwidth":"434.61MB/s","input_bw":"329.11MB/s","status_2xx":21302187,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":105425,"avg_latency":"38.81ms","p99_latency":"88.80ms","cpu":"1038.6%","memory":"740MiB","bandwidth":"7.94MB/s","input_bw":"8.14MB/s","status_2xx":527129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":2848413,"avg_latency":"1.43ms","p99_latency":"3.05ms","cpu":"6310.7%","memory":"220MiB","bandwidth":"241.69MB/s","input_bw":null,"status_2xx":14242066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":4422489,"avg_latency":"925us","p99_latency":"1.22ms","cpu":"6410.6%","memory":"182MiB","bandwidth":"278.29MB/s","input_bw":"341.63MB/s","status_2xx":22112448,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":4492613,"avg_latency":"911us","p99_latency":"1.19ms","cpu":"6413.1%","memory":"186MiB","bandwidth":"282.68MB/s","input_bw":"347.04MB/s","status_2xx":22463065,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"pipelined-512":[{"fw":"actix","lang":"Rust","rps":16342080,"avg_latency":"500us","p99_latency":"546us","cpu":"6727.6%","memory":"67MiB","bandwidth":"2.02GB/s","input_bw":null,"status_2xx":81710400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":6735398,"avg_latency":"1.21ms","p99_latency":"4.84ms","cpu":"5067.1%","memory":"174MiB","bandwidth":"1.01GB/s","input_bw":null,"status_2xx":33676991,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":9292638,"avg_latency":"873us","p99_latency":"3.73ms","cpu":"6565.1%","memory":"730.1MiB","bandwidth":"1.43GB/s","input_bw":"","status_2xx":46463192,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":6945628,"avg_latency":"1.18ms","p99_latency":"4.85ms","cpu":"5883.1%","memory":"1.4GiB","bandwidth":"1.24GB/s","input_bw":null,"status_2xx":34728142,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":3674627,"avg_latency":"2.21ms","p99_latency":"6.13ms","cpu":"4606.0%","memory":"165MiB","bandwidth":"550.00MB/s","input_bw":null,"status_2xx":18373138,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":12324,"avg_latency":"629.07ms","p99_latency":"677.30ms","cpu":"55.4%","memory":"162MiB","bandwidth":"1.46MB/s","input_bw":null,"status_2xx":61622,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":382850,"avg_latency":"21.27ms","p99_latency":"235.70ms","cpu":"6370.9%","memory":"1.4GiB","bandwidth":"43.07MB/s","input_bw":null,"status_2xx":1914250,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":154579,"avg_latency":"3.19ms","p99_latency":"3.73ms","cpu":"4651.5%","memory":"2.5GiB","bandwidth":"22.84MB/s","input_bw":null,"status_2xx":772896,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":979524,"avg_latency":"7.10ms","p99_latency":"126.50ms","cpu":"6785.4%","memory":"375MiB","bandwidth":"182.19MB/s","input_bw":null,"status_2xx":4897624,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1348509,"avg_latency":"6.08ms","p99_latency":"9.70ms","cpu":"6707.7%","memory":"2.5GiB","bandwidth":"135.00MB/s","input_bw":null,"status_2xx":6742548,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":4998892,"avg_latency":"1.64ms","p99_latency":"6.82ms","cpu":"5730.5%","memory":"406MiB","bandwidth":"1.02GB/s","input_bw":null,"status_2xx":24994464,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":4654576,"avg_latency":"1.76ms","p99_latency":"2.93ms","cpu":"6438.9%","memory":"1016MiB","bandwidth":"528.14MB/s","input_bw":null,"status_2xx":23272884,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":1009543,"avg_latency":"8.13ms","p99_latency":"9.32ms","cpu":"6606.6%","memory":"6.9GiB","bandwidth":"197.30MB/s","input_bw":null,"status_2xx":5047715,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":364432,"avg_latency":"22.48ms","p99_latency":"25.70ms","cpu":"6524.6%","memory":"4.5GiB","bandwidth":"46.91MB/s","input_bw":null,"status_2xx":1822160,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":6193254,"avg_latency":"1.31ms","p99_latency":"4.98ms","cpu":"4913.9%","memory":"167MiB","bandwidth":"944.76MB/s","input_bw":null,"status_2xx":30966274,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":35845795,"avg_latency":"228us","p99_latency":"3.22ms","cpu":"6743.3%","memory":"163MiB","bandwidth":"3.60GB/s","input_bw":null,"status_2xx":179228976,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1671338,"avg_latency":"4.90ms","p99_latency":"6.57ms","cpu":"6673.1%","memory":"3.4GiB","bandwidth":"267.68MB/s","input_bw":null,"status_2xx":8356694,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1334787,"avg_latency":"6.14ms","p99_latency":"10.40ms","cpu":"6760.5%","memory":"275.8MiB","bandwidth":"209.98MB/s","input_bw":"","status_2xx":6673938,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":3448844,"avg_latency":"2.36ms","p99_latency":"5.29ms","cpu":"6592.9%","memory":"348MiB","bandwidth":"542.54MB/s","input_bw":null,"status_2xx":17244220,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":3712021,"avg_latency":"2.21ms","p99_latency":"12.10ms","cpu":"6469.1%","memory":"3.7GiB","bandwidth":"453.13MB/s","input_bw":null,"status_2xx":18560107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":116458,"avg_latency":"4.20ms","p99_latency":"5.36ms","cpu":"5951.1%","memory":"3.2GiB","bandwidth":"17.10MB/s","input_bw":null,"status_2xx":582290,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":947653,"avg_latency":"7.66ms","p99_latency":"151.20ms","cpu":"6679.4%","memory":"3.1GiB","bandwidth":"176.23MB/s","input_bw":"","status_2xx":4738268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":206393,"avg_latency":"39.69ms","p99_latency":"79.90ms","cpu":"2759.4%","memory":"474.8MiB","bandwidth":"23.21MB/s","input_bw":"","status_2xx":1031966,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":7378288,"avg_latency":"1.11ms","p99_latency":"2.77ms","cpu":"6565.3%","memory":"6.0GiB","bandwidth":"1.26GB/s","input_bw":null,"status_2xx":36891440,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":8991398,"avg_latency":"910us","p99_latency":"7.37ms","cpu":"5677.2%","memory":"258MiB","bandwidth":"1.08GB/s","input_bw":null,"status_2xx":44956992,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":18096665,"avg_latency":"451us","p99_latency":"5.00ms","cpu":"6602.1%","memory":"148MiB","bandwidth":"2.17GB/s","input_bw":null,"status_2xx":90483328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":18924281,"avg_latency":"432us","p99_latency":"1.67ms","cpu":"6125.2%","memory":"319MiB","bandwidth":"2.24GB/s","input_bw":null,"status_2xx":94621408,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":3532749,"avg_latency":"2.32ms","p99_latency":"6.83ms","cpu":"5638.7%","memory":"252MiB","bandwidth":"461.40MB/s","input_bw":null,"status_2xx":17663749,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":3133552,"avg_latency":"2.61ms","p99_latency":"7.02ms","cpu":"5553.6%","memory":"153MiB","bandwidth":"358.48MB/s","input_bw":null,"status_2xx":15667763,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":14170360,"avg_latency":"578us","p99_latency":"1.46ms","cpu":"6471.2%","memory":"49.6MiB","bandwidth":"1.64GB/s","input_bw":"","status_2xx":70851803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":2388203,"avg_latency":"3.43ms","p99_latency":"7.72ms","cpu":"6593.4%","memory":"141MiB","bandwidth":"359.72MB/s","input_bw":null,"status_2xx":11941017,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":9010410,"avg_latency":"879us","p99_latency":"4.91ms","cpu":"6017.9%","memory":"7.2GiB","bandwidth":"1.21GB/s","input_bw":"","status_2xx":45052051,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":10901216,"avg_latency":"713us","p99_latency":"2.71ms","cpu":"6133.0%","memory":"6.5GiB","bandwidth":"1.22GB/s","input_bw":"","status_2xx":54506083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":4794074,"avg_latency":"1.71ms","p99_latency":"7.65ms","cpu":"6548.7%","memory":"41MiB","bandwidth":"676.48MB/s","input_bw":null,"status_2xx":23970373,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":87793,"avg_latency":"19.19ms","p99_latency":"53.90ms","cpu":"2109.2%","memory":"1.5GiB","bandwidth":"10.32MB/s","input_bw":"","status_2xx":438968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":762240,"avg_latency":"9.88ms","p99_latency":"19.60ms","cpu":"6446.0%","memory":"63.8MiB","bandwidth":"90.11MB/s","input_bw":"","status_2xx":3811204,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":16389433,"avg_latency":"499us","p99_latency":"992us","cpu":"6544.8%","memory":"34.0MiB","bandwidth":"1.80GB/s","input_bw":"","status_2xx":81947168,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":478071,"avg_latency":"17.14ms","p99_latency":"20.50ms","cpu":"3454.9%","memory":"1.8GiB","bandwidth":"72.02MB/s","input_bw":null,"status_2xx":2390357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":53828080,"avg_latency":"151us","p99_latency":"356us","cpu":"6399.8%","memory":"225MiB","bandwidth":"3.31GB/s","input_bw":null,"status_2xx":269140400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":37081286,"avg_latency":"220us","p99_latency":"415us","cpu":"6410.6%","memory":"99MiB","bandwidth":"4.04GB/s","input_bw":null,"status_2xx":185406432,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":619926,"avg_latency":"13.23ms","p99_latency":"59.70ms","cpu":"4584.1%","memory":"10.6GiB","bandwidth":"39.00MB/s","input_bw":null,"status_2xx":3099632,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":590006,"avg_latency":"13.89ms","p99_latency":"51.20ms","cpu":"4645.7%","memory":"9.1GiB","bandwidth":"37.12MB/s","input_bw":null,"status_2xx":2950032,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":42185939,"avg_latency":"193us","p99_latency":"361us","cpu":"6515.9%","memory":"70MiB","bandwidth":"4.48GB/s","input_bw":null,"status_2xx":210929696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":11661827,"avg_latency":"701us","p99_latency":"1.69ms","cpu":"5847.1%","memory":"98MiB","bandwidth":"1.30GB/s","input_bw":null,"status_2xx":58309136,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":3680607,"avg_latency":"2.22ms","p99_latency":"3.70ms","cpu":"6609.0%","memory":"120MiB","bandwidth":"315.82MB/s","input_bw":null,"status_2xx":18403039,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":22999727,"avg_latency":"355us","p99_latency":"863us","cpu":"5914.7%","memory":"114.3MiB","bandwidth":"1.41GB/s","input_bw":"","status_2xx":114998639,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":54594394,"avg_latency":"149us","p99_latency":"299us","cpu":"6228.5%","memory":"406MiB","bandwidth":"3.35GB/s","input_bw":null,"status_2xx":272971971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":54262814,"avg_latency":"150us","p99_latency":"264us","cpu":"6258.3%","memory":"79MiB","bandwidth":"3.33GB/s","input_bw":null,"status_2xx":271314073,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":4931049,"avg_latency":"1.66ms","p99_latency":"3.70ms","cpu":"6226.0%","memory":"50MiB","bandwidth":"808.64MB/s","input_bw":null,"status_2xx":24655248,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1583489,"avg_latency":"5.17ms","p99_latency":"13.70ms","cpu":"6473.9%","memory":"2.8GiB","bandwidth":"286.72MB/s","input_bw":null,"status_2xx":7917445,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":3097170,"avg_latency":"2.64ms","p99_latency":"8.40ms","cpu":"6502.7%","memory":"4.4GiB","bandwidth":"419.31MB/s","input_bw":"","status_2xx":15485852,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":650903,"avg_latency":"12.61ms","p99_latency":"30.50ms","cpu":"6457.7%","memory":"357MiB","bandwidth":"142.12MB/s","input_bw":null,"status_2xx":3254515,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":294569,"avg_latency":"27.81ms","p99_latency":"38.10ms","cpu":"6480.2%","memory":"3.8GiB","bandwidth":"56.17MB/s","input_bw":"","status_2xx":1472846,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pico","lang":"V","rps":4269399,"avg_latency":"1.92ms","p99_latency":"4.19ms","cpu":"6417.4%","memory":"646MiB","bandwidth":"313.45MB/s","input_bw":null,"status_2xx":21346998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4103669,"avg_latency":"1.99ms","p99_latency":"4.00ms","cpu":"6406.3%","memory":"829MiB","bandwidth":"496.89MB/s","input_bw":null,"status_2xx":20518349,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":7832208,"avg_latency":"1.04ms","p99_latency":"2.23ms","cpu":"6236.0%","memory":"10.1GiB","bandwidth":"754.19MB/s","input_bw":"","status_2xx":39161040,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":868025,"avg_latency":"9.44ms","p99_latency":"14.20ms","cpu":"6723.8%","memory":"716MiB","bandwidth":"73.66MB/s","input_bw":null,"status_2xx":4340127,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":2037298,"avg_latency":"4.02ms","p99_latency":"15.20ms","cpu":"6652.7%","memory":"4.4GiB","bandwidth":"238.90MB/s","input_bw":null,"status_2xx":10186490,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":977544,"avg_latency":"8.37ms","p99_latency":"107.90ms","cpu":"6652.7%","memory":"4.4GiB","bandwidth":"135.13MB/s","input_bw":null,"status_2xx":4887720,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":306971,"avg_latency":"26.51ms","p99_latency":"67.50ms","cpu":"6471.9%","memory":"2.4GiB","bandwidth":"60.27MB/s","input_bw":null,"status_2xx":1534859,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":56349020,"avg_latency":"145us","p99_latency":"214us","cpu":"5947.5%","memory":"4.1GiB","bandwidth":"4.41GB/s","input_bw":null,"status_2xx":281745104,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":1408430,"avg_latency":"2.12ms","p99_latency":"25.90ms","cpu":"6521.5%","memory":"182MiB","bandwidth":"189.34MB/s","input_bw":null,"status_2xx":7042152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":15867443,"avg_latency":"515us","p99_latency":"6.32ms","cpu":"6729.4%","memory":"825MiB","bandwidth":"1.74GB/s","input_bw":null,"status_2xx":79337216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":718707,"avg_latency":"11.31ms","p99_latency":"31.80ms","cpu":"6642.8%","memory":"1.7GiB","bandwidth":"61.00MB/s","input_bw":null,"status_2xx":3593538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":56078179,"avg_latency":"145us","p99_latency":"319us","cpu":"5811.3%","memory":"43MiB","bandwidth":"4.49GB/s","input_bw":null,"status_2xx":280390896,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":40074710,"avg_latency":"203us","p99_latency":"397us","cpu":"6723.3%","memory":"1.1GiB","bandwidth":"4.36GB/s","input_bw":null,"status_2xx":200373552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":14268,"avg_latency":"551.56ms","p99_latency":"1.89s","cpu":"793.7%","memory":"194MiB","bandwidth":"2.77MB/s","input_bw":null,"status_2xx":71342,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":5874637,"avg_latency":"908us","p99_latency":"2.95ms","cpu":"5809.8%","memory":"274MiB","bandwidth":"795.27MB/s","input_bw":null,"status_2xx":29373187,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":6501,"avg_latency":"13.80ms","p99_latency":"64.00ms","cpu":"0.0%","memory":"413MiB","bandwidth":"901.30KB/s","input_bw":null,"status_2xx":32509,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":430404,"avg_latency":"18.89ms","p99_latency":"55.30ms","cpu":"6519.8%","memory":"2.1GiB","bandwidth":"43.49MB/s","input_bw":null,"status_2xx":2152021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":898788,"avg_latency":"9.12ms","p99_latency":"48.60ms","cpu":"5208.1%","memory":"178MiB","bandwidth":"113.10MB/s","input_bw":null,"status_2xx":4493943,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":82213,"avg_latency":"90.31ms","p99_latency":"128.00ms","cpu":"1322.6%","memory":"113MiB","bandwidth":"9.72MB/s","input_bw":null,"status_2xx":411066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":561637,"avg_latency":"12.44ms","p99_latency":"65.50ms","cpu":"2260.1%","memory":"1.4GiB","bandwidth":"61.68MB/s","input_bw":"","status_2xx":2808186,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":24027148,"avg_latency":"340us","p99_latency":"729us","cpu":"6808.4%","memory":"1021MiB","bandwidth":"3.00GB/s","input_bw":null,"status_2xx":120135744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2833444,"avg_latency":"2.89ms","p99_latency":"8.99ms","cpu":"6494.1%","memory":"169.2MiB","bandwidth":"418.70MB/s","input_bw":"","status_2xx":14167224,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":184486,"avg_latency":"44.40ms","p99_latency":"69.00ms","cpu":"5026.0%","memory":"787MiB","bandwidth":"29.35MB/s","input_bw":null,"status_2xx":922434,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":314005,"avg_latency":"26.05ms","p99_latency":"65.50ms","cpu":"6714.3%","memory":"370MiB","bandwidth":"45.50MB/s","input_bw":null,"status_2xx":1570028,"status_3xx":0,"status_4xx":0,"status_5xx":2},{"fw":"tokio","lang":"Rust","rps":54824854,"avg_latency":"148us","p99_latency":"272us","cpu":"6385.0%","memory":"46MiB","bandwidth":"3.37GB/s","input_bw":null,"status_2xx":274124272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":46383110,"avg_latency":"175us","p99_latency":"369us","cpu":"6496.7%","memory":"44MiB","bandwidth":"2.85GB/s","input_bw":null,"status_2xx":231915552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2582259,"avg_latency":"2.91ms","p99_latency":"34.70ms","cpu":"6688.1%","memory":"125MiB","bandwidth":"362.00MB/s","input_bw":null,"status_2xx":12911298,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":2739167,"avg_latency":"2.99ms","p99_latency":"5.17ms","cpu":"6547.8%","memory":"216MiB","bandwidth":"383.87MB/s","input_bw":null,"status_2xx":13695835,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":8993883,"avg_latency":"910us","p99_latency":"2.02ms","cpu":"6514.3%","memory":"150MiB","bandwidth":"565.95MB/s","input_bw":null,"status_2xx":44969418,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":44170000,"avg_latency":"153us","p99_latency":"608us","cpu":"6624.6%","memory":"181MiB","bandwidth":"3.70GB/s","input_bw":null,"status_2xx":220850000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":4699289,"avg_latency":"1.74ms","p99_latency":"4.53ms","cpu":"6501.3%","memory":"7.8GiB","bandwidth":"860.18MB/s","input_bw":null,"status_2xx":23496448,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1443633,"avg_latency":"5.67ms","p99_latency":"9.07ms","cpu":"6717.2%","memory":"265MiB","bandwidth":"198.20MB/s","input_bw":null,"status_2xx":7218169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":797839,"avg_latency":"10.27ms","p99_latency":"12.90ms","cpu":"6513.0%","memory":"3.2GiB","bandwidth":"117.14MB/s","input_bw":null,"status_2xx":3989198,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":39432674,"avg_latency":"207us","p99_latency":"3.30ms","cpu":"6742.4%","memory":"74MiB","bandwidth":"3.93GB/s","input_bw":null,"status_2xx":197163370,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":40813667,"avg_latency":"200us","p99_latency":"3.14ms","cpu":"6622.4%","memory":"1.0GiB","bandwidth":"4.07GB/s","input_bw":null,"status_2xx":204068336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":132236,"avg_latency":"62.10ms","p99_latency":"148.20ms","cpu":"1164.6%","memory":"525MiB","bandwidth":"9.96MB/s","input_bw":null,"status_2xx":661184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":3637410,"avg_latency":"2.25ms","p99_latency":"4.04ms","cpu":"6590.3%","memory":"185MiB","bandwidth":"312.09MB/s","input_bw":null,"status_2xx":18187053,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":48531942,"avg_latency":"168us","p99_latency":"358us","cpu":"6576.9%","memory":"66MiB","bandwidth":"2.98GB/s","input_bw":null,"status_2xx":242659712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":53609380,"avg_latency":"152us","p99_latency":"344us","cpu":"6399.9%","memory":"134MiB","bandwidth":"3.29GB/s","input_bw":null,"status_2xx":268046903,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"pipelined-4096":[{"fw":"actix","lang":"Rust","rps":16338425,"avg_latency":"3.69ms","p99_latency":"5.31ms","cpu":"6656.8%","memory":"196MiB","bandwidth":"2.02GB/s","input_bw":null,"status_2xx":81692128,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":7049780,"avg_latency":"7.87ms","p99_latency":"20.90ms","cpu":"5633.6%","memory":"346MiB","bandwidth":"1.06GB/s","input_bw":null,"status_2xx":35248902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":9484062,"avg_latency":"5.61ms","p99_latency":"14.50ms","cpu":"6380.4%","memory":"893.4MiB","bandwidth":"1.46GB/s","input_bw":"","status_2xx":47420311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":7024560,"avg_latency":"9.35ms","p99_latency":"23.20ms","cpu":"6203.2%","memory":"1.7GiB","bandwidth":"1.25GB/s","input_bw":null,"status_2xx":35122800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":3795814,"avg_latency":"14.05ms","p99_latency":"36.20ms","cpu":"6085.2%","memory":"372MiB","bandwidth":"568.14MB/s","input_bw":null,"status_2xx":18979071,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":97989,"avg_latency":"626.26ms","p99_latency":"683.00ms","cpu":"308.7%","memory":"431MiB","bandwidth":"11.59MB/s","input_bw":null,"status_2xx":489948,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":374366,"avg_latency":"164.39ms","p99_latency":"494.70ms","cpu":"6333.9%","memory":"1.6GiB","bandwidth":"42.11MB/s","input_bw":null,"status_2xx":1871831,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":124318,"avg_latency":"18.26ms","p99_latency":"22.10ms","cpu":"2945.7%","memory":"2.5GiB","bandwidth":"18.37MB/s","input_bw":null,"status_2xx":621593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":981405,"avg_latency":"57.25ms","p99_latency":"820.60ms","cpu":"6689.6%","memory":"609MiB","bandwidth":"182.54MB/s","input_bw":null,"status_2xx":4907026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1467972,"avg_latency":"44.38ms","p99_latency":"80.30ms","cpu":"6581.3%","memory":"2.7GiB","bandwidth":"146.96MB/s","input_bw":null,"status_2xx":7339860,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":5014140,"avg_latency":"12.97ms","p99_latency":"166.90ms","cpu":"5958.8%","memory":"1.3GiB","bandwidth":"1.02GB/s","input_bw":null,"status_2xx":25070704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":4990677,"avg_latency":"13.12ms","p99_latency":"16.50ms","cpu":"6373.5%","memory":"1.0GiB","bandwidth":"566.22MB/s","input_bw":null,"status_2xx":24953389,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":991370,"avg_latency":"52.23ms","p99_latency":"112.40ms","cpu":"6581.2%","memory":"7.2GiB","bandwidth":"193.74MB/s","input_bw":null,"status_2xx":4956852,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":359847,"avg_latency":"178.29ms","p99_latency":"205.40ms","cpu":"6524.2%","memory":"4.7GiB","bandwidth":"46.31MB/s","input_bw":null,"status_2xx":1799237,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":6589782,"avg_latency":"7.88ms","p99_latency":"21.40ms","cpu":"5523.2%","memory":"361MiB","bandwidth":"1005.20MB/s","input_bw":null,"status_2xx":32948914,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":35926640,"avg_latency":"1.83ms","p99_latency":"7.40ms","cpu":"6462.1%","memory":"330MiB","bandwidth":"3.61GB/s","input_bw":null,"status_2xx":179633200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1671518,"avg_latency":"28.79ms","p99_latency":"49.80ms","cpu":"6608.7%","memory":"4.3GiB","bandwidth":"267.72MB/s","input_bw":null,"status_2xx":8357591,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1541772,"avg_latency":"42.47ms","p99_latency":"77.00ms","cpu":"6720.6%","memory":"799.0MiB","bandwidth":"242.54MB/s","input_bw":"","status_2xx":7708863,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":2681196,"avg_latency":"24.40ms","p99_latency":"30.80ms","cpu":"6479.3%","memory":"845MiB","bandwidth":"421.79MB/s","input_bw":null,"status_2xx":13405981,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":3250416,"avg_latency":"17.66ms","p99_latency":"76.30ms","cpu":"6338.4%","memory":"7.0GiB","bandwidth":"396.68MB/s","input_bw":null,"status_2xx":16252082,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":77697,"avg_latency":"28.52ms","p99_latency":"161.70ms","cpu":"3325.3%","memory":"3.2GiB","bandwidth":"11.41MB/s","input_bw":null,"status_2xx":388489,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":944151,"avg_latency":"52.25ms","p99_latency":"761.50ms","cpu":"6574.9%","memory":"3.2GiB","bandwidth":"175.59MB/s","input_bw":"","status_2xx":4720755,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":330989,"avg_latency":"191.69ms","p99_latency":"743.10ms","cpu":"3476.7%","memory":"805.9MiB","bandwidth":"35.92MB/s","input_bw":"","status_2xx":1654947,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":7335952,"avg_latency":"8.93ms","p99_latency":"11.80ms","cpu":"6548.7%","memory":"6.5GiB","bandwidth":"1.25GB/s","input_bw":null,"status_2xx":36679760,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":9442956,"avg_latency":"6.24ms","p99_latency":"14.90ms","cpu":"6126.1%","memory":"1.3GiB","bandwidth":"1.13GB/s","input_bw":null,"status_2xx":47214784,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":16952306,"avg_latency":"3.62ms","p99_latency":"12.40ms","cpu":"6376.9%","memory":"313MiB","bandwidth":"2.04GB/s","input_bw":null,"status_2xx":84761533,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":19131625,"avg_latency":"3.42ms","p99_latency":"9.68ms","cpu":"6242.5%","memory":"473MiB","bandwidth":"2.26GB/s","input_bw":null,"status_2xx":95658128,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":3236033,"avg_latency":"16.64ms","p99_latency":"43.80ms","cpu":"6150.8%","memory":"439MiB","bandwidth":"422.67MB/s","input_bw":null,"status_2xx":16180167,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":3542709,"avg_latency":"15.53ms","p99_latency":"39.60ms","cpu":"5930.5%","memory":"295MiB","bandwidth":"405.28MB/s","input_bw":null,"status_2xx":17713548,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":14135609,"avg_latency":"4.63ms","p99_latency":"8.86ms","cpu":"6374.1%","memory":"142.4MiB","bandwidth":"1.63GB/s","input_bw":"","status_2xx":70678048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":2511269,"avg_latency":"6.51ms","p99_latency":"9.45ms","cpu":"6323.6%","memory":"146MiB","bandwidth":"378.27MB/s","input_bw":null,"status_2xx":12556346,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":8852955,"avg_latency":"6.36ms","p99_latency":"30.50ms","cpu":"5886.4%","memory":"8.0GiB","bandwidth":"1.19GB/s","input_bw":"","status_2xx":44264777,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":10029440,"avg_latency":"6.48ms","p99_latency":"23.10ms","cpu":"5994.1%","memory":"7.6GiB","bandwidth":"1.12GB/s","input_bw":"","status_2xx":50147203,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":4787219,"avg_latency":"13.75ms","p99_latency":"36.00ms","cpu":"6402.6%","memory":"137MiB","bandwidth":"675.49MB/s","input_bw":null,"status_2xx":23936098,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":276543,"avg_latency":"187.81ms","p99_latency":"283.60ms","cpu":"6496.0%","memory":"1.6GiB","bandwidth":"32.48MB/s","input_bw":"","status_2xx":1382717,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":786408,"avg_latency":"40.07ms","p99_latency":"77.60ms","cpu":"6142.9%","memory":"143.8MiB","bandwidth":"92.96MB/s","input_bw":"","status_2xx":3932043,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":16218012,"avg_latency":"4.03ms","p99_latency":"5.31ms","cpu":"6408.6%","memory":"126.2MiB","bandwidth":"1.78GB/s","input_bw":"","status_2xx":81090064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":466686,"avg_latency":"117.55ms","p99_latency":"300.30ms","cpu":"3578.6%","memory":"1.9GiB","bandwidth":"70.29MB/s","input_bw":null,"status_2xx":2333431,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":53970163,"avg_latency":"1.21ms","p99_latency":"1.89ms","cpu":"6427.6%","memory":"316MiB","bandwidth":"3.32GB/s","input_bw":null,"status_2xx":269850816,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":36933660,"avg_latency":"1.77ms","p99_latency":"3.46ms","cpu":"6473.5%","memory":"176MiB","bandwidth":"4.02GB/s","input_bw":null,"status_2xx":184668304,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":584867,"avg_latency":"110.57ms","p99_latency":"138.90ms","cpu":"4725.5%","memory":"17.9GiB","bandwidth":"36.80MB/s","input_bw":null,"status_2xx":2924336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":654297,"avg_latency":"99.47ms","p99_latency":"146.90ms","cpu":"4849.5%","memory":"9.5GiB","bandwidth":"41.17MB/s","input_bw":null,"status_2xx":3271488,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":42807713,"avg_latency":"1.53ms","p99_latency":"2.54ms","cpu":"6449.1%","memory":"149MiB","bandwidth":"4.54GB/s","input_bw":null,"status_2xx":214038567,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":11705846,"avg_latency":"5.60ms","p99_latency":"7.60ms","cpu":"5727.8%","memory":"129MiB","bandwidth":"1.31GB/s","input_bw":null,"status_2xx":58529232,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":3688724,"avg_latency":"17.79ms","p99_latency":"24.40ms","cpu":"6441.5%","memory":"156MiB","bandwidth":"316.51MB/s","input_bw":null,"status_2xx":18443624,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":22803870,"avg_latency":"2.55ms","p99_latency":"3.20ms","cpu":"5269.6%","memory":"191.8MiB","bandwidth":"1.40GB/s","input_bw":"","status_2xx":114019353,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":54648012,"avg_latency":"1.20ms","p99_latency":"1.62ms","cpu":"6424.1%","memory":"493MiB","bandwidth":"3.36GB/s","input_bw":null,"status_2xx":273240064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":57140640,"avg_latency":"1.15ms","p99_latency":"1.54ms","cpu":"6410.5%","memory":"143MiB","bandwidth":"3.51GB/s","input_bw":null,"status_2xx":285703200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":4998403,"avg_latency":"13.09ms","p99_latency":"46.70ms","cpu":"6501.1%","memory":"168MiB","bandwidth":"819.65MB/s","input_bw":null,"status_2xx":24992016,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":2654617,"avg_latency":"24.70ms","p99_latency":"58.10ms","cpu":"6527.2%","memory":"3.2GiB","bandwidth":"480.76MB/s","input_bw":null,"status_2xx":13273086,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":3146339,"avg_latency":"20.80ms","p99_latency":"43.20ms","cpu":"6407.7%","memory":"4.4GiB","bandwidth":"425.93MB/s","input_bw":"","status_2xx":15731697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":632232,"avg_latency":"90.28ms","p99_latency":"175.10ms","cpu":"6576.3%","memory":"512MiB","bandwidth":"138.04MB/s","input_bw":null,"status_2xx":3161161,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":284705,"avg_latency":"224.80ms","p99_latency":"242.60ms","cpu":"6149.0%","memory":"3.9GiB","bandwidth":"54.29MB/s","input_bw":"","status_2xx":1423529,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pico","lang":"V","rps":4255760,"avg_latency":"15.43ms","p99_latency":"29.30ms","cpu":"6285.3%","memory":"453MiB","bandwidth":"312.39MB/s","input_bw":null,"status_2xx":21278802,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4171572,"avg_latency":"15.68ms","p99_latency":"26.60ms","cpu":"6426.0%","memory":"997MiB","bandwidth":"505.07MB/s","input_bw":null,"status_2xx":20857860,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":8126275,"avg_latency":"8.05ms","p99_latency":"16.60ms","cpu":"6130.1%","memory":"10.0GiB","bandwidth":"782.49MB/s","input_bw":"","status_2xx":40631376,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":800040,"avg_latency":"81.44ms","p99_latency":"147.50ms","cpu":"6594.3%","memory":"1.0GiB","bandwidth":"67.89MB/s","input_bw":null,"status_2xx":4000203,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":2054716,"avg_latency":"30.96ms","p99_latency":"94.70ms","cpu":"6595.0%","memory":"4.6GiB","bandwidth":"240.95MB/s","input_bw":null,"status_2xx":10273582,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":928352,"avg_latency":"68.57ms","p99_latency":"168.30ms","cpu":"6487.3%","memory":"4.5GiB","bandwidth":"128.33MB/s","input_bw":null,"status_2xx":4641763,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":307594,"avg_latency":"189.04ms","p99_latency":"401.40ms","cpu":"6443.5%","memory":"2.5GiB","bandwidth":"60.39MB/s","input_bw":null,"status_2xx":1537971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":55913552,"avg_latency":"1.17ms","p99_latency":"1.83ms","cpu":"6165.6%","memory":"4.2GiB","bandwidth":"4.37GB/s","input_bw":null,"status_2xx":279567760,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":1409539,"avg_latency":"2.99ms","p99_latency":"69.50ms","cpu":"6331.9%","memory":"225MiB","bandwidth":"189.46MB/s","input_bw":null,"status_2xx":7047698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":16183222,"avg_latency":"3.99ms","p99_latency":"15.90ms","cpu":"6371.7%","memory":"962MiB","bandwidth":"1.78GB/s","input_bw":null,"status_2xx":80916112,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":697544,"avg_latency":"79.34ms","p99_latency":"144.30ms","cpu":"6668.9%","memory":"2.0GiB","bandwidth":"59.19MB/s","input_bw":null,"status_2xx":3487723,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":55699580,"avg_latency":"1.17ms","p99_latency":"1.80ms","cpu":"6055.6%","memory":"117MiB","bandwidth":"4.46GB/s","input_bw":null,"status_2xx":278497904,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":40880271,"avg_latency":"1.60ms","p99_latency":"2.26ms","cpu":"6757.4%","memory":"1.2GiB","bandwidth":"4.45GB/s","input_bw":null,"status_2xx":204401357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":15140,"avg_latency":"1.66s","p99_latency":"3.68s","cpu":"840.1%","memory":"287MiB","bandwidth":"2.94MB/s","input_bw":null,"status_2xx":75700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":5899205,"avg_latency":"3.56ms","p99_latency":"1.62ms","cpu":"5752.0%","memory":"386MiB","bandwidth":"798.60MB/s","input_bw":null,"status_2xx":29496029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":67456,"avg_latency":"62.53ms","p99_latency":"201.50ms","cpu":"421.0%","memory":"601MiB","bandwidth":"9.13MB/s","input_bw":null,"status_2xx":337280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":427147,"avg_latency":"135.91ms","p99_latency":"293.60ms","cpu":"6519.5%","memory":"2.1GiB","bandwidth":"43.17MB/s","input_bw":null,"status_2xx":2135735,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":822590,"avg_latency":"79.19ms","p99_latency":"153.30ms","cpu":"6101.8%","memory":"475MiB","bandwidth":"103.52MB/s","input_bw":null,"status_2xx":4112954,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":81574,"avg_latency":"257.68ms","p99_latency":"1.96s","cpu":"1323.8%","memory":"159MiB","bandwidth":"9.64MB/s","input_bw":null,"status_2xx":407872,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":548229,"avg_latency":"48.92ms","p99_latency":"373.20ms","cpu":"2184.2%","memory":"2.3GiB","bandwidth":"60.20MB/s","input_bw":"","status_2xx":2741146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":24258825,"avg_latency":"2.70ms","p99_latency":"3.39ms","cpu":"6612.6%","memory":"1.0GiB","bandwidth":"3.03GB/s","input_bw":null,"status_2xx":121294128,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":2928585,"avg_latency":"22.33ms","p99_latency":"45.20ms","cpu":"6483.1%","memory":"215.0MiB","bandwidth":"432.76MB/s","input_bw":"","status_2xx":14642926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":224686,"avg_latency":"282.52ms","p99_latency":"429.40ms","cpu":"5885.3%","memory":"1.8GiB","bandwidth":"35.45MB/s","input_bw":null,"status_2xx":1123434,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":323418,"avg_latency":"198.49ms","p99_latency":"355.20ms","cpu":"6400.9%","memory":"586MiB","bandwidth":"46.86MB/s","input_bw":null,"status_2xx":1617092,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":54755795,"avg_latency":"1.20ms","p99_latency":"1.62ms","cpu":"6057.7%","memory":"164MiB","bandwidth":"3.36GB/s","input_bw":null,"status_2xx":273778976,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":48876057,"avg_latency":"1.34ms","p99_latency":"2.11ms","cpu":"6577.5%","memory":"177MiB","bandwidth":"3.00GB/s","input_bw":null,"status_2xx":244380286,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2756991,"avg_latency":"12.67ms","p99_latency":"100.90ms","cpu":"6464.1%","memory":"234MiB","bandwidth":"386.37MB/s","input_bw":null,"status_2xx":13784955,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":2818523,"avg_latency":"23.20ms","p99_latency":"29.90ms","cpu":"6467.6%","memory":"319MiB","bandwidth":"394.99MB/s","input_bw":null,"status_2xx":14092617,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2295056,"avg_latency":"28.56ms","p99_latency":"48.20ms","cpu":"5949.5%","memory":"245MiB","bandwidth":"144.42MB/s","input_bw":null,"status_2xx":11475283,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":46159084,"avg_latency":"189us","p99_latency":"731us","cpu":"6258.8%","memory":"451MiB","bandwidth":"3.87GB/s","input_bw":null,"status_2xx":230795424,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":4613548,"avg_latency":"14.21ms","p99_latency":"31.30ms","cpu":"6413.3%","memory":"7.9GiB","bandwidth":"844.50MB/s","input_bw":null,"status_2xx":23067744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":1324629,"avg_latency":"49.30ms","p99_latency":"66.00ms","cpu":"6703.8%","memory":"899MiB","bandwidth":"181.86MB/s","input_bw":null,"status_2xx":6623146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":799828,"avg_latency":"80.22ms","p99_latency":"91.30ms","cpu":"6376.6%","memory":"3.4GiB","bandwidth":"117.44MB/s","input_bw":null,"status_2xx":3999144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":39426457,"avg_latency":"1.66ms","p99_latency":"7.85ms","cpu":"6478.5%","memory":"166MiB","bandwidth":"3.93GB/s","input_bw":null,"status_2xx":197132288,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":43316035,"avg_latency":"1.51ms","p99_latency":"7.51ms","cpu":"6473.8%","memory":"1.1GiB","bandwidth":"4.32GB/s","input_bw":null,"status_2xx":216580176,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":126275,"avg_latency":"493.45ms","p99_latency":"755.40ms","cpu":"1033.9%","memory":"764MiB","bandwidth":"9.51MB/s","input_bw":null,"status_2xx":631376,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":3936670,"avg_latency":"16.56ms","p99_latency":"21.20ms","cpu":"6320.1%","memory":"221MiB","bandwidth":"337.77MB/s","input_bw":null,"status_2xx":19683354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":49860224,"avg_latency":"1.31ms","p99_latency":"2.14ms","cpu":"6407.1%","memory":"106MiB","bandwidth":"3.06GB/s","input_bw":null,"status_2xx":249301120,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":55979164,"avg_latency":"1.17ms","p99_latency":"1.79ms","cpu":"6454.4%","memory":"186MiB","bandwidth":"3.44GB/s","input_bw":null,"status_2xx":279895824,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"limited-conn-512":[{"fw":"actix","lang":"Rust","rps":1121546,"avg_latency":"447us","p99_latency":"4.06ms","cpu":"4775.9%","memory":"71MiB","bandwidth":"142.20MB/s","input_bw":"86.64MB/s","status_2xx":5607731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":515600,"avg_latency":"982us","p99_latency":"8.80ms","cpu":"3598.3%","memory":"5.3GiB","bandwidth":"77.17MB/s","input_bw":"39.83MB/s","status_2xx":2578004,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":455768,"avg_latency":"1.10ms","p99_latency":"11.70ms","cpu":"3427.8%","memory":"146MiB","bandwidth":"69.95MB/s","input_bw":"35.21MB/s","status_2xx":2278843,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":488293,"avg_latency":"1.02ms","p99_latency":"11.60ms","cpu":"3539.1%","memory":"842.5MiB","bandwidth":"79.60MB/s","input_bw":"37.72MB/s","status_2xx":2441469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1145776,"avg_latency":"435us","p99_latency":"3.76ms","cpu":"5562.6%","memory":"1.5GiB","bandwidth":"208.68MB/s","input_bw":"88.51MB/s","status_2xx":5728884,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":422945,"avg_latency":"1.16ms","p99_latency":"12.50ms","cpu":"4295.4%","memory":"194MiB","bandwidth":"63.31MB/s","input_bw":"32.67MB/s","status_2xx":2114729,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":13725,"avg_latency":"37.22ms","p99_latency":"42.30ms","cpu":"89.5%","memory":"149MiB","bandwidth":"1.62MB/s","input_bw":"1.06MB/s","status_2xx":68629,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":245461,"avg_latency":"2.08ms","p99_latency":"5.20ms","cpu":"6374.9%","memory":"1.6GiB","bandwidth":"27.61MB/s","input_bw":"18.96MB/s","status_2xx":1227305,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":152370,"avg_latency":"3.25ms","p99_latency":"3.75ms","cpu":"5655.5%","memory":"2.5GiB","bandwidth":"22.52MB/s","input_bw":"11.77MB/s","status_2xx":761854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":484376,"avg_latency":"990us","p99_latency":"4.00ms","cpu":"6177.3%","memory":"846MiB","bandwidth":"90.06MB/s","input_bw":"37.42MB/s","status_2xx":2421883,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1081262,"avg_latency":"462us","p99_latency":"2.55ms","cpu":"6553.8%","memory":"2.5GiB","bandwidth":"108.24MB/s","input_bw":"83.52MB/s","status_2xx":5406311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":384420,"avg_latency":"1.32ms","p99_latency":"14.70ms","cpu":"3072.3%","memory":"166MiB","bandwidth":"62.67MB/s","input_bw":"29.70MB/s","status_2xx":1922100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1279234,"avg_latency":"391us","p99_latency":"3.76ms","cpu":"5212.1%","memory":"1.1GiB","bandwidth":"161.02MB/s","input_bw":null,"status_2xx":6396171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":278163,"avg_latency":"1.83ms","p99_latency":"18.60ms","cpu":"3613.1%","memory":"5.7GiB","bandwidth":"54.36MB/s","input_bw":"21.49MB/s","status_2xx":1390815,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":284181,"avg_latency":"1.79ms","p99_latency":"3.92ms","cpu":"6508.9%","memory":"5.7GiB","bandwidth":"36.58MB/s","input_bw":"21.95MB/s","status_2xx":1420905,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":449724,"avg_latency":"1.10ms","p99_latency":"11.70ms","cpu":"3523.8%","memory":"147MiB","bandwidth":"68.60MB/s","input_bw":"34.74MB/s","status_2xx":2248620,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2156962,"avg_latency":"224us","p99_latency":"1.73ms","cpu":"5574.7%","memory":"555MiB","bandwidth":"222.10MB/s","input_bw":"166.62MB/s","status_2xx":10784810,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":298779,"avg_latency":"1.71ms","p99_latency":"17.60ms","cpu":"3287.2%","memory":"4.3GiB","bandwidth":"47.85MB/s","input_bw":"23.08MB/s","status_2xx":1493898,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":629673,"avg_latency":"803us","p99_latency":"2.71ms","cpu":"6866.3%","memory":"1006MiB","bandwidth":"99.05MB/s","input_bw":"48.64MB/s","status_2xx":3148365,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1044286,"avg_latency":"479us","p99_latency":"3.75ms","cpu":"6180.2%","memory":"406MiB","bandwidth":"164.28MB/s","input_bw":"80.67MB/s","status_2xx":5221434,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":596007,"avg_latency":"851us","p99_latency":"8.27ms","cpu":"3572.3%","memory":"3.2GiB","bandwidth":"72.73MB/s","input_bw":"46.04MB/s","status_2xx":2980038,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":113993,"avg_latency":"4.29ms","p99_latency":"5.28ms","cpu":"6042.0%","memory":"3.2GiB","bandwidth":"16.63MB/s","input_bw":null,"status_2xx":569968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":459714,"avg_latency":"1.07ms","p99_latency":"5.02ms","cpu":"5650.8%","memory":"3.2GiB","bandwidth":"85.47MB/s","input_bw":"35.51MB/s","status_2xx":2298571,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":150425,"avg_latency":"3.40ms","p99_latency":"17.10ms","cpu":"2900.4%","memory":"480.4MiB","bandwidth":"16.92MB/s","input_bw":"11.62MB/s","status_2xx":752126,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1033273,"avg_latency":"485us","p99_latency":"2.27ms","cpu":"6146.1%","memory":"7.5GiB","bandwidth":"180.28MB/s","input_bw":"79.82MB/s","status_2xx":5166368,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":51719,"avg_latency":"9.70ms","p99_latency":"209.70ms","cpu":"4952.6%","memory":"341MiB","bandwidth":"7.10MB/s","input_bw":"4.00MB/s","status_2xx":258598,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1114258,"avg_latency":"449us","p99_latency":"4.17ms","cpu":"5569.9%","memory":"244MiB","bandwidth":"137.05MB/s","input_bw":"86.07MB/s","status_2xx":5571293,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2168227,"avg_latency":"222us","p99_latency":"745us","cpu":"5733.2%","memory":"459MiB","bandwidth":"262.54MB/s","input_bw":"167.49MB/s","status_2xx":10841136,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":469631,"avg_latency":"1.08ms","p99_latency":"11.70ms","cpu":"3368.3%","memory":"215MiB","bandwidth":"61.34MB/s","input_bw":"36.28MB/s","status_2xx":2348156,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":439883,"avg_latency":"1.16ms","p99_latency":"12.10ms","cpu":"3515.6%","memory":"132MiB","bandwidth":"56.61MB/s","input_bw":"33.98MB/s","status_2xx":2199416,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":201821,"avg_latency":"2.53ms","p99_latency":"59.80ms","cpu":"2533.8%","memory":"77.3MiB","bandwidth":"23.86MB/s","input_bw":"15.59MB/s","status_2xx":1009107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":832217,"avg_latency":"599us","p99_latency":"2.46ms","cpu":"6059.9%","memory":"145MiB","bandwidth":"125.33MB/s","input_bw":"64.29MB/s","status_2xx":4161088,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":587778,"avg_latency":"862us","p99_latency":"7.93ms","cpu":"5147.1%","memory":"3.0GiB","bandwidth":"80.69MB/s","input_bw":"45.40MB/s","status_2xx":2938890,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":577823,"avg_latency":"878us","p99_latency":"7.89ms","cpu":"4862.2%","memory":"3.8GiB","bandwidth":"66.10MB/s","input_bw":"44.64MB/s","status_2xx":2889119,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":2090932,"avg_latency":"231us","p99_latency":"1.96ms","cpu":"6247.5%","memory":"65MiB","bandwidth":"295.04MB/s","input_bw":"161.52MB/s","status_2xx":10454660,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":941234,"avg_latency":"535us","p99_latency":"4.79ms","cpu":"5240.0%","memory":"1.5GiB","bandwidth":"108.58MB/s","input_bw":"72.71MB/s","status_2xx":4706171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":127675,"avg_latency":"2.42ms","p99_latency":"20.60ms","cpu":"2216.6%","memory":"42.5MiB","bandwidth":"15.09MB/s","input_bw":"9.86MB/s","status_2xx":638379,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":2021689,"avg_latency":"240us","p99_latency":"1.03ms","cpu":"5748.4%","memory":"80.5MiB","bandwidth":"227.40MB/s","input_bw":"156.17MB/s","status_2xx":10108447,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":279032,"avg_latency":"1.83ms","p99_latency":"3.05ms","cpu":"3306.0%","memory":"1.8GiB","bandwidth":"41.77MB/s","input_bw":null,"status_2xx":1395163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":2480795,"avg_latency":"191us","p99_latency":"810us","cpu":"5243.0%","memory":"310MiB","bandwidth":"156.04MB/s","input_bw":"191.64MB/s","status_2xx":12403975,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2571231,"avg_latency":"183us","p99_latency":"618us","cpu":"5348.3%","memory":"117MiB","bandwidth":"286.74MB/s","input_bw":"198.62MB/s","status_2xx":12856159,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":656997,"avg_latency":"771us","p99_latency":"4.71ms","cpu":"6284.7%","memory":"4.7GiB","bandwidth":"41.34MB/s","input_bw":"50.75MB/s","status_2xx":3284988,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":646754,"avg_latency":"783us","p99_latency":"4.89ms","cpu":"6255.2%","memory":"4.7GiB","bandwidth":"40.70MB/s","input_bw":"49.96MB/s","status_2xx":3233772,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":2569884,"avg_latency":"183us","p99_latency":"485us","cpu":"5375.3%","memory":"86MiB","bandwidth":"279.30MB/s","input_bw":"198.52MB/s","status_2xx":12849422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":1839624,"avg_latency":"265us","p99_latency":"1.17ms","cpu":"5366.9%","memory":"107MiB","bandwidth":"210.45MB/s","input_bw":"142.11MB/s","status_2xx":9198123,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2000001,"avg_latency":"243us","p99_latency":"1.34ms","cpu":"5879.2%","memory":"127MiB","bandwidth":"171.62MB/s","input_bw":"154.50MB/s","status_2xx":10000008,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":755586,"avg_latency":"670us","p99_latency":"6.48ms","cpu":"2033.2%","memory":"116.2MiB","bandwidth":"47.54MB/s","input_bw":"58.37MB/s","status_2xx":3777930,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":2477111,"avg_latency":"191us","p99_latency":"1.00ms","cpu":"5115.8%","memory":"480MiB","bandwidth":"155.85MB/s","input_bw":"191.35MB/s","status_2xx":12385559,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":2670310,"avg_latency":"175us","p99_latency":"413us","cpu":"5407.2%","memory":"96MiB","bandwidth":"168.01MB/s","input_bw":"206.28MB/s","status_2xx":13351554,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":716090,"avg_latency":"706us","p99_latency":"1.87ms","cpu":"4500.2%","memory":"81MiB","bandwidth":"117.43MB/s","input_bw":"55.32MB/s","status_2xx":3580454,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":671068,"avg_latency":"754us","p99_latency":"3.30ms","cpu":"6585.4%","memory":"3.4GiB","bandwidth":"121.52MB/s","input_bw":"51.84MB/s","status_2xx":3355343,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":724148,"avg_latency":"604us","p99_latency":"9.69ms","cpu":"3338.7%","memory":"4.4GiB","bandwidth":"98.03MB/s","input_bw":"55.94MB/s","status_2xx":3620740,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":400726,"avg_latency":"1.27ms","p99_latency":"11.40ms","cpu":"6274.7%","memory":"421MiB","bandwidth":"87.48MB/s","input_bw":"30.96MB/s","status_2xx":2003631,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":266984,"avg_latency":"1.91ms","p99_latency":"6.15ms","cpu":"6435.4%","memory":"3.8GiB","bandwidth":"50.91MB/s","input_bw":"20.62MB/s","status_2xx":1334923,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":213906,"avg_latency":"2.40ms","p99_latency":"8.69ms","cpu":"1697.4%","memory":"852MiB","bandwidth":"25.90MB/s","input_bw":"16.52MB/s","status_2xx":1069534,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":564915,"avg_latency":"898us","p99_latency":"8.88ms","cpu":"2948.1%","memory":"1.3GiB","bandwidth":"54.39MB/s","input_bw":"43.64MB/s","status_2xx":2824575,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":497281,"avg_latency":"1.02ms","p99_latency":"2.03ms","cpu":"6569.5%","memory":"1.3GiB","bandwidth":"42.20MB/s","input_bw":"38.41MB/s","status_2xx":2486409,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":60162,"avg_latency":"8.55ms","p99_latency":"71.00ms","cpu":"4844.6%","memory":"5.1GiB","bandwidth":"7.05MB/s","input_bw":"4.65MB/s","status_2xx":300814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":53484,"avg_latency":"9.52ms","p99_latency":"65.30ms","cpu":"4726.8%","memory":"5.0GiB","bandwidth":"8.16MB/s","input_bw":"4.13MB/s","status_2xx":267424,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":27385,"avg_latency":"18.68ms","p99_latency":"69.10ms","cpu":"4655.0%","memory":"6.3GiB","bandwidth":"5.77MB/s","input_bw":"2.12MB/s","status_2xx":136927,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":838837,"avg_latency":"602us","p99_latency":"5.42ms","cpu":"6169.5%","memory":"13.5GiB","bandwidth":"104.77MB/s","input_bw":"64.80MB/s","status_2xx":4194189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":1379191,"avg_latency":"358us","p99_latency":"3.26ms","cpu":"2564.2%","memory":"4.1GiB","bandwidth":"110.44MB/s","input_bw":"106.54MB/s","status_2xx":6895956,"status_3xx":0,"status_4xx":135,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":406237,"avg_latency":"1.25ms","p99_latency":"12.00ms","cpu":"3767.8%","memory":"232MiB","bandwidth":"54.61MB/s","input_bw":"31.38MB/s","status_2xx":2031185,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":284472,"avg_latency":"1.75ms","p99_latency":"14.00ms","cpu":"5854.5%","memory":"894MiB","bandwidth":"32.00MB/s","input_bw":"21.97MB/s","status_2xx":1422363,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":28599,"avg_latency":"17.91ms","p99_latency":"71.30ms","cpu":"3725.9%","memory":"5.7GiB","bandwidth":"2.43MB/s","input_bw":"2.21MB/s","status_2xx":142999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":2637357,"avg_latency":"179us","p99_latency":"533us","cpu":"5214.1%","memory":"79MiB","bandwidth":"216.24MB/s","input_bw":"203.73MB/s","status_2xx":13186786,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2443440,"avg_latency":"195us","p99_latency":"695us","cpu":"5996.1%","memory":"1.3GiB","bandwidth":"272.66MB/s","input_bw":"188.75MB/s","status_2xx":12217202,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":18651,"avg_latency":"27.50ms","p99_latency":"88.40ms","cpu":"1042.8%","memory":"250MiB","bandwidth":"3.75MB/s","input_bw":"1.44MB/s","status_2xx":93257,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":867477,"avg_latency":"581us","p99_latency":"5.95ms","cpu":"4143.5%","memory":"119MiB","bandwidth":"117.44MB/s","input_bw":"67.01MB/s","status_2xx":4337386,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":1934677,"avg_latency":"251us","p99_latency":"1.16ms","cpu":"5771.8%","memory":"547MiB","bandwidth":"261.93MB/s","input_bw":"149.45MB/s","status_2xx":9673387,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":37259,"avg_latency":"13.73ms","p99_latency":"49.50ms","cpu":"2830.5%","memory":"3.5GiB","bandwidth":"3.77MB/s","input_bw":"2.88MB/s","status_2xx":186296,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":524678,"avg_latency":"968us","p99_latency":"9.58ms","cpu":"4974.1%","memory":"152MiB","bandwidth":"66.02MB/s","input_bw":"40.53MB/s","status_2xx":2623393,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":88480,"avg_latency":"4.94ms","p99_latency":"15.50ms","cpu":"1585.7%","memory":"114MiB","bandwidth":"10.46MB/s","input_bw":"6.83MB/s","status_2xx":442400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":228052,"avg_latency":"2.02ms","p99_latency":"4.01ms","cpu":"1879.4%","memory":"1.4GiB","bandwidth":"25.00MB/s","input_bw":"17.62MB/s","status_2xx":1140264,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2306414,"avg_latency":"208us","p99_latency":"721us","cpu":"5783.2%","memory":"1.0GiB","bandwidth":"294.65MB/s","input_bw":"178.16MB/s","status_2xx":11532071,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1511351,"avg_latency":"327us","p99_latency":"3.59ms","cpu":"6059.2%","memory":"215.2MiB","bandwidth":"223.35MB/s","input_bw":"116.75MB/s","status_2xx":7556756,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":134923,"avg_latency":"3.79ms","p99_latency":"12.00ms","cpu":"4776.3%","memory":"672MiB","bandwidth":"21.47MB/s","input_bw":"10.42MB/s","status_2xx":674615,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":275542,"avg_latency":"1.85ms","p99_latency":"11.80ms","cpu":"6368.5%","memory":"432MiB","bandwidth":"39.93MB/s","input_bw":"21.28MB/s","status_2xx":1377714,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":2563668,"avg_latency":"185us","p99_latency":"638us","cpu":"5380.0%","memory":"106MiB","bandwidth":"161.29MB/s","input_bw":"198.04MB/s","status_2xx":12818344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":2219613,"avg_latency":"217us","p99_latency":"752us","cpu":"5728.2%","memory":"94MiB","bandwidth":"139.67MB/s","input_bw":"171.46MB/s","status_2xx":11098069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":502168,"avg_latency":"413us","p99_latency":"1.84ms","cpu":"2356.9%","memory":"216MiB","bandwidth":"70.38MB/s","input_bw":"38.79MB/s","status_2xx":2510842,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":525211,"avg_latency":"967us","p99_latency":"4.14ms","cpu":"5721.3%","memory":"263MiB","bandwidth":"73.62MB/s","input_bw":"40.57MB/s","status_2xx":2626056,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1610019,"avg_latency":"306us","p99_latency":"1.50ms","cpu":"6107.4%","memory":"157MiB","bandwidth":"101.31MB/s","input_bw":"124.37MB/s","status_2xx":8050095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1708478,"avg_latency":"289us","p99_latency":"4.52ms","cpu":"6541.8%","memory":"314MiB","bandwidth":"146.60MB/s","input_bw":"131.98MB/s","status_2xx":8542394,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1028273,"avg_latency":"488us","p99_latency":"2.19ms","cpu":"6162.3%","memory":"7.5GiB","bandwidth":"188.23MB/s","input_bw":"79.43MB/s","status_2xx":5141369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":828453,"avg_latency":"609us","p99_latency":"3.85ms","cpu":"6203.2%","memory":"253MiB","bandwidth":"113.74MB/s","input_bw":"64.00MB/s","status_2xx":4142265,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":570633,"avg_latency":"886us","p99_latency":"1.87ms","cpu":"6400.2%","memory":"4.9GiB","bandwidth":"83.23MB/s","input_bw":null,"status_2xx":2853166,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":994532,"avg_latency":"506us","p99_latency":"4.76ms","cpu":"3197.6%","memory":"67MiB","bandwidth":"101.46MB/s","input_bw":"76.83MB/s","status_2xx":4972660,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2541639,"avg_latency":"185us","p99_latency":"820us","cpu":"6072.5%","memory":"1.1GiB","bandwidth":"259.27MB/s","input_bw":"196.34MB/s","status_2xx":12708197,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":107424,"avg_latency":"4.73ms","p99_latency":"46.70ms","cpu":"1183.2%","memory":"585MiB","bandwidth":"8.09MB/s","input_bw":"8.30MB/s","status_2xx":537123,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":1967016,"avg_latency":"246us","p99_latency":"1.97ms","cpu":"5577.4%","memory":"193MiB","bandwidth":"166.89MB/s","input_bw":null,"status_2xx":9835082,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":2543420,"avg_latency":"185us","p99_latency":"474us","cpu":"5731.0%","memory":"70MiB","bandwidth":"160.03MB/s","input_bw":"196.47MB/s","status_2xx":12717103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2740199,"avg_latency":"170us","p99_latency":"403us","cpu":"5474.7%","memory":"150MiB","bandwidth":"172.36MB/s","input_bw":"211.67MB/s","status_2xx":13700995,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"limited-conn-4096":[{"fw":"actix","lang":"Rust","rps":1135157,"avg_latency":"1.17ms","p99_latency":"9.25ms","cpu":"4577.8%","memory":"72MiB","bandwidth":"143.94MB/s","input_bw":"87.69MB/s","status_2xx":5675787,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":504438,"avg_latency":"2.70ms","p99_latency":"21.90ms","cpu":"3305.9%","memory":"5.3GiB","bandwidth":"75.50MB/s","input_bw":"38.97MB/s","status_2xx":2522190,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":461367,"avg_latency":"1.44ms","p99_latency":"12.30ms","cpu":"3388.6%","memory":"153MiB","bandwidth":"70.81MB/s","input_bw":"35.64MB/s","status_2xx":2306838,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":477814,"avg_latency":"1.46ms","p99_latency":"12.50ms","cpu":"3302.8%","memory":"850.9MiB","bandwidth":"77.89MB/s","input_bw":"36.91MB/s","status_2xx":2389073,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1003689,"avg_latency":"4.07ms","p99_latency":"21.80ms","cpu":"5847.3%","memory":"1.8GiB","bandwidth":"182.78MB/s","input_bw":"77.53MB/s","status_2xx":5018449,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":432876,"avg_latency":"1.68ms","p99_latency":"14.20ms","cpu":"4507.0%","memory":"328MiB","bandwidth":"64.79MB/s","input_bw":"33.44MB/s","status_2xx":2164384,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":110125,"avg_latency":"37.08ms","p99_latency":"42.50ms","cpu":"691.4%","memory":"192MiB","bandwidth":"13.06MB/s","input_bw":"8.51MB/s","status_2xx":550625,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":246362,"avg_latency":"15.30ms","p99_latency":"34.50ms","cpu":"6235.2%","memory":"1.9GiB","bandwidth":"27.71MB/s","input_bw":"19.03MB/s","status_2xx":1231811,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":119299,"avg_latency":"15.14ms","p99_latency":"21.30ms","cpu":"4520.8%","memory":"2.5GiB","bandwidth":"17.63MB/s","input_bw":"9.22MB/s","status_2xx":596496,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":507745,"avg_latency":"7.94ms","p99_latency":"99.20ms","cpu":"6385.2%","memory":"1.3GiB","bandwidth":"94.40MB/s","input_bw":"39.22MB/s","status_2xx":2538725,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":1284184,"avg_latency":"3.17ms","p99_latency":"49.70ms","cpu":"6484.5%","memory":"2.5GiB","bandwidth":"128.56MB/s","input_bw":"99.20MB/s","status_2xx":6420920,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":370709,"avg_latency":"10.95ms","p99_latency":"117.90ms","cpu":"2727.1%","memory":"359MiB","bandwidth":"60.43MB/s","input_bw":"28.64MB/s","status_2xx":1853548,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1566288,"avg_latency":"2.60ms","p99_latency":"13.50ms","cpu":"5670.5%","memory":"1.5GiB","bandwidth":"197.10MB/s","input_bw":null,"status_2xx":7831442,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":281746,"avg_latency":"2.62ms","p99_latency":"19.30ms","cpu":"3504.7%","memory":"5.8GiB","bandwidth":"55.06MB/s","input_bw":"21.76MB/s","status_2xx":1408734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":286820,"avg_latency":"10.07ms","p99_latency":"75.80ms","cpu":"6496.5%","memory":"5.8GiB","bandwidth":"36.91MB/s","input_bw":"22.16MB/s","status_2xx":1434102,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":452008,"avg_latency":"1.62ms","p99_latency":"12.50ms","cpu":"3579.0%","memory":"149MiB","bandwidth":"68.95MB/s","input_bw":"34.92MB/s","status_2xx":2260042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2516707,"avg_latency":"1.56ms","p99_latency":"7.44ms","cpu":"5604.9%","memory":"941MiB","bandwidth":"259.01MB/s","input_bw":"194.41MB/s","status_2xx":12583539,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":291264,"avg_latency":"2.19ms","p99_latency":"18.80ms","cpu":"2951.1%","memory":"5.7GiB","bandwidth":"46.65MB/s","input_bw":"22.50MB/s","status_2xx":1456322,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":805973,"avg_latency":"5.06ms","p99_latency":"15.20ms","cpu":"6799.8%","memory":"2.5GiB","bandwidth":"126.79MB/s","input_bw":"62.26MB/s","status_2xx":4029867,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1163153,"avg_latency":"3.50ms","p99_latency":"55.90ms","cpu":"6450.8%","memory":"507MiB","bandwidth":"182.98MB/s","input_bw":"89.85MB/s","status_2xx":5815767,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":602123,"avg_latency":"2.11ms","p99_latency":"17.90ms","cpu":"3445.7%","memory":"3.1GiB","bandwidth":"73.48MB/s","input_bw":"46.51MB/s","status_2xx":3010618,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":107404,"avg_latency":"20.50ms","p99_latency":"28.30ms","cpu":"5688.8%","memory":"3.2GiB","bandwidth":"15.67MB/s","input_bw":null,"status_2xx":537023,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":498494,"avg_latency":"8.16ms","p99_latency":"83.60ms","cpu":"6358.9%","memory":"3.2GiB","bandwidth":"92.67MB/s","input_bw":"38.51MB/s","status_2xx":2492471,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":184591,"avg_latency":"22.06ms","p99_latency":"134.90ms","cpu":"3279.4%","memory":"695.3MiB","bandwidth":"20.58MB/s","input_bw":"14.26MB/s","status_2xx":922958,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1100364,"avg_latency":"3.71ms","p99_latency":"15.50ms","cpu":"6633.5%","memory":"7.6GiB","bandwidth":"191.99MB/s","input_bw":"85.00MB/s","status_2xx":5501821,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":50548,"avg_latency":"44.63ms","p99_latency":"931.80ms","cpu":"4929.6%","memory":"723MiB","bandwidth":"6.94MB/s","input_bw":"3.90MB/s","status_2xx":252744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1166913,"avg_latency":"2.20ms","p99_latency":"23.00ms","cpu":"5819.8%","memory":"433MiB","bandwidth":"143.49MB/s","input_bw":"90.14MB/s","status_2xx":5834569,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2589784,"avg_latency":"1.52ms","p99_latency":"5.16ms","cpu":"6027.0%","memory":"673MiB","bandwidth":"313.54MB/s","input_bw":"200.05MB/s","status_2xx":12948920,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":481713,"avg_latency":"1.41ms","p99_latency":"11.90ms","cpu":"3432.9%","memory":"222MiB","bandwidth":"62.91MB/s","input_bw":"37.21MB/s","status_2xx":2408566,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":450665,"avg_latency":"1.59ms","p99_latency":"12.70ms","cpu":"3646.8%","memory":"146MiB","bandwidth":"58.00MB/s","input_bw":"34.81MB/s","status_2xx":2253329,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":716630,"avg_latency":"5.71ms","p99_latency":"12.70ms","cpu":"4970.3%","memory":"321.5MiB","bandwidth":"84.73MB/s","input_bw":"55.36MB/s","status_2xx":3583151,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":578704,"avg_latency":"6.89ms","p99_latency":"55.30ms","cpu":"4308.3%","memory":"149MiB","bandwidth":"87.12MB/s","input_bw":"44.70MB/s","status_2xx":2893521,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":554770,"avg_latency":"2.30ms","p99_latency":"19.00ms","cpu":"4762.6%","memory":"3.2GiB","bandwidth":"76.16MB/s","input_bw":"42.85MB/s","status_2xx":2773854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":584873,"avg_latency":"6.98ms","p99_latency":"70.20ms","cpu":"4659.3%","memory":"3.0GiB","bandwidth":"66.91MB/s","input_bw":"45.18MB/s","status_2xx":2924365,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":2415587,"avg_latency":"1.68ms","p99_latency":"22.90ms","cpu":"6210.0%","memory":"90MiB","bandwidth":"340.79MB/s","input_bw":"186.60MB/s","status_2xx":12077937,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1116468,"avg_latency":"3.65ms","p99_latency":"15.80ms","cpu":"5859.3%","memory":"1.9GiB","bandwidth":"128.80MB/s","input_bw":"86.24MB/s","status_2xx":5582341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":126607,"avg_latency":"2.81ms","p99_latency":"20.70ms","cpu":"2140.3%","memory":"45.7MiB","bandwidth":"14.97MB/s","input_bw":"9.78MB/s","status_2xx":633036,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":2362875,"avg_latency":"1.70ms","p99_latency":"4.22ms","cpu":"6243.0%","memory":"189.2MiB","bandwidth":"265.78MB/s","input_bw":"182.53MB/s","status_2xx":11814375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":294276,"avg_latency":"10.41ms","p99_latency":"17.80ms","cpu":"3202.2%","memory":"1.9GiB","bandwidth":"44.05MB/s","input_bw":null,"status_2xx":1471382,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":2552917,"avg_latency":"1.48ms","p99_latency":"4.47ms","cpu":"5522.9%","memory":"470MiB","bandwidth":"160.62MB/s","input_bw":"197.21MB/s","status_2xx":12764585,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2853732,"avg_latency":"1.31ms","p99_latency":"2.01ms","cpu":"5596.0%","memory":"222MiB","bandwidth":"318.27MB/s","input_bw":"220.44MB/s","status_2xx":14268660,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":665691,"avg_latency":"6.12ms","p99_latency":"49.70ms","cpu":"6284.1%","memory":"4.4GiB","bandwidth":"41.89MB/s","input_bw":"51.42MB/s","status_2xx":3328457,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":655894,"avg_latency":"6.20ms","p99_latency":"54.10ms","cpu":"6025.3%","memory":"4.9GiB","bandwidth":"41.27MB/s","input_bw":"50.67MB/s","status_2xx":3279472,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"libreactorng","lang":"C","rps":2662214,"avg_latency":"1.40ms","p99_latency":"2.31ms","cpu":"5647.4%","memory":"165MiB","bandwidth":"289.32MB/s","input_bw":"205.65MB/s","status_2xx":13311072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2079850,"avg_latency":"1.95ms","p99_latency":"7.68ms","cpu":"5699.4%","memory":"140MiB","bandwidth":"237.86MB/s","input_bw":"160.66MB/s","status_2xx":10399253,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":2194435,"avg_latency":"1.85ms","p99_latency":"28.10ms","cpu":"6328.9%","memory":"136MiB","bandwidth":"188.29MB/s","input_bw":"169.51MB/s","status_2xx":10972178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"may-minihttp","lang":"Rust","rps":761340,"avg_latency":"1.54ms","p99_latency":"13.70ms","cpu":"2063.2%","memory":"116.8MiB","bandwidth":"47.90MB/s","input_bw":"58.81MB/s","status_2xx":3806704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":2514980,"avg_latency":"1.51ms","p99_latency":"4.43ms","cpu":"5198.2%","memory":"598MiB","bandwidth":"158.23MB/s","input_bw":"194.28MB/s","status_2xx":12574903,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":2687059,"avg_latency":"1.38ms","p99_latency":"1.89ms","cpu":"5751.1%","memory":"181MiB","bandwidth":"169.07MB/s","input_bw":"207.57MB/s","status_2xx":13435295,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":713952,"avg_latency":"5.73ms","p99_latency":"24.10ms","cpu":"5350.7%","memory":"258MiB","bandwidth":"117.08MB/s","input_bw":"55.15MB/s","status_2xx":3569763,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":953877,"avg_latency":"4.28ms","p99_latency":"20.60ms","cpu":"6504.6%","memory":"5.2GiB","bandwidth":"172.80MB/s","input_bw":"73.68MB/s","status_2xx":4769385,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":709765,"avg_latency":"5.58ms","p99_latency":"50.90ms","cpu":"2721.4%","memory":"4.4GiB","bandwidth":"96.09MB/s","input_bw":"54.83MB/s","status_2xx":3548825,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":400254,"avg_latency":"3.37ms","p99_latency":"27.30ms","cpu":"6223.4%","memory":"431MiB","bandwidth":"87.38MB/s","input_bw":"30.92MB/s","status_2xx":2001273,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":259403,"avg_latency":"15.74ms","p99_latency":"20.40ms","cpu":"6221.8%","memory":"3.9GiB","bandwidth":"49.45MB/s","input_bw":"20.04MB/s","status_2xx":1297019,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":325540,"avg_latency":"12.53ms","p99_latency":"32.90ms","cpu":"2456.0%","memory":"1.0GiB","bandwidth":"39.42MB/s","input_bw":"25.15MB/s","status_2xx":1627700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":574869,"avg_latency":"7.08ms","p99_latency":"73.00ms","cpu":"3030.2%","memory":"2.2GiB","bandwidth":"55.35MB/s","input_bw":"44.41MB/s","status_2xx":2874347,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-falcon","lang":"Ruby","rps":496292,"avg_latency":"8.19ms","p99_latency":"71.60ms","cpu":"6544.9%","memory":"1.3GiB","bandwidth":"42.11MB/s","input_bw":"38.34MB/s","status_2xx":2481460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rack-iodine","lang":"Ruby","rps":59205,"avg_latency":"66.55ms","p99_latency":"266.30ms","cpu":"4693.3%","memory":"5.2GiB","bandwidth":"6.94MB/s","input_bw":"4.57MB/s","status_2xx":296026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":51448,"avg_latency":"76.35ms","p99_latency":"331.20ms","cpu":"4637.2%","memory":"5.1GiB","bandwidth":"7.85MB/s","input_bw":"3.97MB/s","status_2xx":257241,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":27305,"avg_latency":"130.53ms","p99_latency":"280.40ms","cpu":"4643.2%","memory":"6.7GiB","bandwidth":"5.75MB/s","input_bw":"2.11MB/s","status_2xx":136527,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":833565,"avg_latency":"4.89ms","p99_latency":"51.40ms","cpu":"5983.6%","memory":"13.5GiB","bandwidth":"104.10MB/s","input_bw":"64.39MB/s","status_2xx":4167825,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero","lang":"C","rps":1565455,"avg_latency":"2.58ms","p99_latency":"25.90ms","cpu":"3181.1%","memory":"4.2GiB","bandwidth":"125.37MB/s","input_bw":"120.93MB/s","status_2xx":7827279,"status_3xx":0,"status_4xx":171,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":404495,"avg_latency":"3.00ms","p99_latency":"26.00ms","cpu":"3888.3%","memory":"216MiB","bandwidth":"54.37MB/s","input_bw":"31.25MB/s","status_2xx":2022475,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":320875,"avg_latency":"12.55ms","p99_latency":"75.50ms","cpu":"6081.3%","memory":"1.1GiB","bandwidth":"36.09MB/s","input_bw":"24.79MB/s","status_2xx":1604375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":28814,"avg_latency":"125.72ms","p99_latency":"305.00ms","cpu":"3432.2%","memory":"6.4GiB","bandwidth":"2.44MB/s","input_bw":"2.23MB/s","status_2xx":144074,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rust-epoll","lang":"Rust","rps":2710496,"avg_latency":"1.38ms","p99_latency":"2.14ms","cpu":"5553.2%","memory":"147MiB","bandwidth":"222.17MB/s","input_bw":"209.38MB/s","status_2xx":13552480,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2681484,"avg_latency":"1.40ms","p99_latency":"3.56ms","cpu":"6238.1%","memory":"1.3GiB","bandwidth":"299.07MB/s","input_bw":"207.14MB/s","status_2xx":13407423,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":19672,"avg_latency":"132.02ms","p99_latency":"407.30ms","cpu":"611.7%","memory":"404MiB","bandwidth":"3.96MB/s","input_bw":"1.52MB/s","status_2xx":98360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":892471,"avg_latency":"4.57ms","p99_latency":"46.20ms","cpu":"4323.5%","memory":"259MiB","bandwidth":"120.83MB/s","input_bw":"68.94MB/s","status_2xx":4462357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2156115,"avg_latency":"1.87ms","p99_latency":"9.86ms","cpu":"5968.8%","memory":"902MiB","bandwidth":"291.91MB/s","input_bw":"166.55MB/s","status_2xx":10780577,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":39840,"avg_latency":"90.64ms","p99_latency":"201.50ms","cpu":"2868.2%","memory":"4.3GiB","bandwidth":"4.03MB/s","input_bw":"3.08MB/s","status_2xx":199203,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":532833,"avg_latency":"7.62ms","p99_latency":"78.10ms","cpu":"5019.2%","memory":"161MiB","bandwidth":"67.05MB/s","input_bw":"41.16MB/s","status_2xx":2664168,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":101595,"avg_latency":"14.16ms","p99_latency":"62.50ms","cpu":"1712.7%","memory":"160MiB","bandwidth":"12.01MB/s","input_bw":"7.85MB/s","status_2xx":507975,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":208860,"avg_latency":"10.23ms","p99_latency":"18.20ms","cpu":"1746.0%","memory":"2.4GiB","bandwidth":"22.90MB/s","input_bw":"16.13MB/s","status_2xx":1044300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2630808,"avg_latency":"1.46ms","p99_latency":"3.26ms","cpu":"6285.8%","memory":"1.1GiB","bandwidth":"336.06MB/s","input_bw":"203.22MB/s","status_2xx":13154041,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1796637,"avg_latency":"2.26ms","p99_latency":"9.69ms","cpu":"6326.8%","memory":"255.7MiB","bandwidth":"265.51MB/s","input_bw":"138.79MB/s","status_2xx":8983188,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":147200,"avg_latency":"27.74ms","p99_latency":"49.30ms","cpu":"4876.8%","memory":"1.5GiB","bandwidth":"23.33MB/s","input_bw":"11.37MB/s","status_2xx":736003,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":281005,"avg_latency":"14.55ms","p99_latency":"63.50ms","cpu":"6609.0%","memory":"794MiB","bandwidth":"40.71MB/s","input_bw":"21.71MB/s","status_2xx":1405029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio","lang":"Rust","rps":2721455,"avg_latency":"1.38ms","p99_latency":"2.36ms","cpu":"5727.1%","memory":"426MiB","bandwidth":"171.22MB/s","input_bw":"210.23MB/s","status_2xx":13607276,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring","lang":"Rust","rps":2636459,"avg_latency":"1.51ms","p99_latency":"20.50ms","cpu":"6395.8%","memory":"187MiB","bandwidth":"165.88MB/s","input_bw":"203.66MB/s","status_2xx":13182298,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":483480,"avg_latency":"1.19ms","p99_latency":"2.25ms","cpu":"2341.3%","memory":"224MiB","bandwidth":"67.76MB/s","input_bw":"37.35MB/s","status_2xx":2417404,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":506854,"avg_latency":"8.07ms","p99_latency":"21.30ms","cpu":"6138.5%","memory":"373MiB","bandwidth":"71.04MB/s","input_bw":"39.15MB/s","status_2xx":2534274,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1798930,"avg_latency":"2.26ms","p99_latency":"33.70ms","cpu":"6213.4%","memory":"165MiB","bandwidth":"113.20MB/s","input_bw":"138.96MB/s","status_2xx":8994651,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1674965,"avg_latency":"2.43ms","p99_latency":"34.40ms","cpu":"6595.2%","memory":"472MiB","bandwidth":"143.72MB/s","input_bw":"129.39MB/s","status_2xx":8374829,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":1096024,"avg_latency":"3.73ms","p99_latency":"15.60ms","cpu":"6625.9%","memory":"7.6GiB","bandwidth":"200.64MB/s","input_bw":"84.67MB/s","status_2xx":5480124,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":872918,"avg_latency":"4.68ms","p99_latency":"13.10ms","cpu":"6390.8%","memory":"585MiB","bandwidth":"119.85MB/s","input_bw":"67.43MB/s","status_2xx":4364594,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":588030,"avg_latency":"5.18ms","p99_latency":"36.70ms","cpu":"6283.7%","memory":"5.0GiB","bandwidth":"85.78MB/s","input_bw":null,"status_2xx":2940154,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":990366,"avg_latency":"4.12ms","p99_latency":"41.30ms","cpu":"3027.6%","memory":"71MiB","bandwidth":"101.02MB/s","input_bw":"76.50MB/s","status_2xx":4951832,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2624809,"avg_latency":"1.42ms","p99_latency":"2.03ms","cpu":"6148.1%","memory":"1.4GiB","bandwidth":"267.73MB/s","input_bw":"202.76MB/s","status_2xx":13124047,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":107019,"avg_latency":"38.15ms","p99_latency":"121.20ms","cpu":"993.8%","memory":"904MiB","bandwidth":"8.06MB/s","input_bw":"8.27MB/s","status_2xx":535098,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":2215363,"avg_latency":"1.81ms","p99_latency":"21.40ms","cpu":"6454.9%","memory":"206MiB","bandwidth":"187.88MB/s","input_bw":null,"status_2xx":11076818,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":2606127,"avg_latency":"1.43ms","p99_latency":"2.04ms","cpu":"5920.9%","memory":"130MiB","bandwidth":"163.96MB/s","input_bw":"201.32MB/s","status_2xx":13030635,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2751069,"avg_latency":"1.35ms","p99_latency":"1.89ms","cpu":"5783.9%","memory":"237MiB","bandwidth":"173.09MB/s","input_bw":"212.51MB/s","status_2xx":13755345,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-4096":[{"fw":"actix","lang":"Rust","rps":1216437,"avg_latency":"2.55ms","p99_latency":"13.10ms","cpu":"6523.9%","memory":"297MiB","bandwidth":"4.13GB/s","input_bw":"58.00MB/s","status_2xx":6082185,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":538732,"avg_latency":"3.00ms","p99_latency":"47.20ms","cpu":"5038.7%","memory":"6.7GiB","bandwidth":"1.84GB/s","input_bw":"25.69MB/s","status_2xx":2693662,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":568890,"avg_latency":"4.65ms","p99_latency":"22.00ms","cpu":"5805.2%","memory":"561MiB","bandwidth":"1.96GB/s","input_bw":"27.13MB/s","status_2xx":2844454,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":603898,"avg_latency":"5.10ms","p99_latency":"19.00ms","cpu":"6107.6%","memory":"970.8MiB","bandwidth":"2.08GB/s","input_bw":"28.80MB/s","status_2xx":3019493,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":676306,"avg_latency":"5.72ms","p99_latency":"24.50ms","cpu":"6005.5%","memory":"2.0GiB","bandwidth":"2.35GB/s","input_bw":"32.25MB/s","status_2xx":3381534,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":439286,"avg_latency":"7.17ms","p99_latency":"28.80ms","cpu":"5860.1%","memory":"565MiB","bandwidth":"1.51GB/s","input_bw":"20.95MB/s","status_2xx":2196430,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":318976,"avg_latency":"12.47ms","p99_latency":"43.90ms","cpu":"4487.6%","memory":"222MiB","bandwidth":"1.13GB/s","input_bw":"15.21MB/s","status_2xx":1594883,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":182199,"avg_latency":"20.50ms","p99_latency":"45.40ms","cpu":"6190.5%","memory":"1.8GiB","bandwidth":"719.43MB/s","input_bw":"8.69MB/s","status_2xx":910995,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":105902,"avg_latency":"20.51ms","p99_latency":"106.10ms","cpu":"3864.3%","memory":"2.5GiB","bandwidth":"421.58MB/s","input_bw":"5.05MB/s","status_2xx":529511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-io","lang":"Dart","rps":232910,"avg_latency":"17.31ms","p99_latency":"50.40ms","cpu":"6614.0%","memory":"1.3GiB","bandwidth":"824.97MB/s","input_bw":"11.11MB/s","status_2xx":1164553,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dart-zig","lang":"Dart","rps":286722,"avg_latency":"13.70ms","p99_latency":"309.40ms","cpu":"6534.6%","memory":"3.4GiB","bandwidth":"988.03MB/s","input_bw":"13.67MB/s","status_2xx":1433614,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":442618,"avg_latency":"8.83ms","p99_latency":"225.80ms","cpu":"4353.8%","memory":"396MiB","bandwidth":"1.54GB/s","input_bw":"21.11MB/s","status_2xx":2213093,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":877405,"avg_latency":"4.35ms","p99_latency":"16.30ms","cpu":"5814.2%","memory":"1.5GiB","bandwidth":"2.99GB/s","input_bw":null,"status_2xx":4387026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":395361,"avg_latency":"1.97ms","p99_latency":"34.40ms","cpu":"5081.8%","memory":"7.1GiB","bandwidth":"1.37GB/s","input_bw":"18.85MB/s","status_2xx":1976808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":157204,"avg_latency":"23.62ms","p99_latency":"344.30ms","cpu":"6468.8%","memory":"4.8GiB","bandwidth":"556.14MB/s","input_bw":"7.50MB/s","status_2xx":786024,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":544549,"avg_latency":"5.67ms","p99_latency":"22.90ms","cpu":"5804.3%","memory":"511MiB","bandwidth":"1.87GB/s","input_bw":"25.97MB/s","status_2xx":2722748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2175338,"avg_latency":"1.16ms","p99_latency":"8.48ms","cpu":"6182.2%","memory":"748MiB","bandwidth":"7.36GB/s","input_bw":"103.73MB/s","status_2xx":10876692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":522201,"avg_latency":"1.42ms","p99_latency":"25.30ms","cpu":"4956.6%","memory":"4.6GiB","bandwidth":"1.80GB/s","input_bw":"24.90MB/s","status_2xx":2611006,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":631455,"avg_latency":"6.17ms","p99_latency":"14.90ms","cpu":"6794.1%","memory":"2.5GiB","bandwidth":"2.19GB/s","input_bw":"30.11MB/s","status_2xx":3157278,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":732898,"avg_latency":"5.22ms","p99_latency":"140.90ms","cpu":"6391.2%","memory":"842MiB","bandwidth":"2.54GB/s","input_bw":"34.95MB/s","status_2xx":3664490,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":451305,"avg_latency":"7.65ms","p99_latency":"36.20ms","cpu":"2853.7%","memory":"3.5GiB","bandwidth":"1.54GB/s","input_bw":"21.52MB/s","status_2xx":2256527,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":82137,"avg_latency":"26.28ms","p99_latency":"52.90ms","cpu":"6077.8%","memory":"3.2GiB","bandwidth":"290.42MB/s","input_bw":"3.92MB/s","status_2xx":410688,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":529153,"avg_latency":"7.66ms","p99_latency":"23.10ms","cpu":"6292.2%","memory":"3.4GiB","bandwidth":"1.82GB/s","input_bw":"25.23MB/s","status_2xx":2645766,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":188026,"avg_latency":"21.59ms","p99_latency":"209.60ms","cpu":"4122.4%","memory":"778.9MiB","bandwidth":"637.12MB/s","input_bw":"8.97MB/s","status_2xx":940134,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1112194,"avg_latency":"3.32ms","p99_latency":"10.10ms","cpu":"6441.4%","memory":"6.4GiB","bandwidth":"3.84GB/s","input_bw":"53.03MB/s","status_2xx":5560971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":661545,"avg_latency":"5.11ms","p99_latency":"20.10ms","cpu":"6264.3%","memory":"1.3GiB","bandwidth":"2.26GB/s","input_bw":"31.54MB/s","status_2xx":3307727,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":845702,"avg_latency":"4.30ms","p99_latency":"28.70ms","cpu":"6144.8%","memory":"648MiB","bandwidth":"2.90GB/s","input_bw":"40.33MB/s","status_2xx":4228512,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":1088181,"avg_latency":"3.31ms","p99_latency":"12.70ms","cpu":"6147.9%","memory":"720MiB","bandwidth":"3.73GB/s","input_bw":"51.89MB/s","status_2xx":5440907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":643879,"avg_latency":"4.35ms","p99_latency":"23.40ms","cpu":"5868.0%","memory":"608MiB","bandwidth":"2.21GB/s","input_bw":"30.70MB/s","status_2xx":3219399,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":589491,"avg_latency":"5.03ms","p99_latency":"23.80ms","cpu":"5855.0%","memory":"513MiB","bandwidth":"2.01GB/s","input_bw":"28.11MB/s","status_2xx":2947457,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":462413,"avg_latency":"8.52ms","p99_latency":"219.10ms","cpu":"4922.1%","memory":"325.4MiB","bandwidth":"1.57GB/s","input_bw":"22.05MB/s","status_2xx":2312065,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":134014,"avg_latency":"28.86ms","p99_latency":"585.30ms","cpu":"6207.4%","memory":"278MiB","bandwidth":"470.81MB/s","input_bw":"6.39MB/s","status_2xx":670074,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":181930,"avg_latency":"19.50ms","p99_latency":"42.10ms","cpu":"2474.6%","memory":"3.5GiB","bandwidth":"674.53MB/s","input_bw":"8.68MB/s","status_2xx":909651,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":757679,"avg_latency":"5.08ms","p99_latency":"14.20ms","cpu":"6278.5%","memory":"6.4GiB","bandwidth":"2.59GB/s","input_bw":"36.13MB/s","status_2xx":3788398,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":667967,"avg_latency":"5.80ms","p99_latency":"29.30ms","cpu":"6529.0%","memory":"214MiB","bandwidth":"2.28GB/s","input_bw":"31.85MB/s","status_2xx":3339839,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":786988,"avg_latency":"4.86ms","p99_latency":"16.10ms","cpu":"5874.2%","memory":"2.0GiB","bandwidth":"2.67GB/s","input_bw":"37.53MB/s","status_2xx":3934942,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":74874,"avg_latency":"9.81ms","p99_latency":"98.20ms","cpu":"7174.8%","memory":"65.0MiB","bandwidth":"260.76MB/s","input_bw":"3.57MB/s","status_2xx":374371,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":253641,"avg_latency":"12.90ms","p99_latency":"20.60ms","cpu":"3621.7%","memory":"1.9GiB","bandwidth":"891.95MB/s","input_bw":"12.09MB/s","status_2xx":1268208,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":1717044,"avg_latency":"1.72ms","p99_latency":"14.20ms","cpu":"5949.2%","memory":"770MiB","bandwidth":"5.75GB/s","input_bw":"81.88MB/s","status_2xx":8585222,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1886152,"avg_latency":"1.17ms","p99_latency":"7.06ms","cpu":"4667.7%","memory":"434MiB","bandwidth":"9.82GB/s","input_bw":"89.94MB/s","status_2xx":9430764,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":395250,"avg_latency":"10.11ms","p99_latency":"34.60ms","cpu":"4723.0%","memory":"9.9GiB","bandwidth":"1.32GB/s","input_bw":"18.85MB/s","status_2xx":1976253,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":657766,"avg_latency":"5.91ms","p99_latency":"29.70ms","cpu":"6362.7%","memory":"4.8GiB","bandwidth":"2.20GB/s","input_bw":"31.36MB/s","status_2xx":3288833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":65763,"avg_latency":"61.52ms","p99_latency":"176.00ms","cpu":"5626.0%","memory":"139MiB","bandwidth":"275.52MB/s","input_bw":"3.14MB/s","status_2xx":328817,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":1059267,"avg_latency":"3.49ms","p99_latency":"100.00ms","cpu":"6653.5%","memory":"144MiB","bandwidth":"3.57GB/s","input_bw":"50.51MB/s","status_2xx":5296336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima","lang":"C#","rps":2037998,"avg_latency":"1.29ms","p99_latency":"5.60ms","cpu":"6141.0%","memory":"791MiB","bandwidth":"6.82GB/s","input_bw":"97.18MB/s","status_2xx":10189991,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-sync","lang":"C#","rps":2368855,"avg_latency":"822us","p99_latency":"3.25ms","cpu":"6466.7%","memory":"231MiB","bandwidth":"7.93GB/s","input_bw":"112.96MB/s","status_2xx":11844279,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":891396,"avg_latency":"4.26ms","p99_latency":"18.80ms","cpu":"5883.7%","memory":"264MiB","bandwidth":"3.07GB/s","input_bw":"42.51MB/s","status_2xx":4456982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":331599,"avg_latency":"12.06ms","p99_latency":"49.50ms","cpu":"6500.5%","memory":"3.6GiB","bandwidth":"1.14GB/s","input_bw":"15.81MB/s","status_2xx":1657998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":994783,"avg_latency":"3.77ms","p99_latency":"44.10ms","cpu":"6437.0%","memory":"4.4GiB","bandwidth":"3.40GB/s","input_bw":"47.43MB/s","status_2xx":4973915,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":196508,"avg_latency":"13.97ms","p99_latency":"153.70ms","cpu":"6281.5%","memory":"1020MiB","bandwidth":"701.48MB/s","input_bw":"9.37MB/s","status_2xx":982543,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":221243,"avg_latency":"18.16ms","p99_latency":"22.90ms","cpu":"6412.7%","memory":"3.9GiB","bandwidth":"782.99MB/s","input_bw":"10.55MB/s","status_2xx":1106219,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pico","lang":"V","rps":2141867,"avg_latency":"1.25ms","p99_latency":"36.10ms","cpu":"6488.9%","memory":"3.3GiB","bandwidth":"7.19GB/s","input_bw":"102.13MB/s","status_2xx":10709338,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":723144,"avg_latency":"5.34ms","p99_latency":"12.90ms","cpu":"6635.4%","memory":"1.1GiB","bandwidth":"2.46GB/s","input_bw":"34.48MB/s","status_2xx":3615724,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":717328,"avg_latency":"5.41ms","p99_latency":"27.40ms","cpu":"6554.9%","memory":"10.3GiB","bandwidth":"2.43GB/s","input_bw":"34.20MB/s","status_2xx":3586641,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":388272,"avg_latency":"9.82ms","p99_latency":"45.40ms","cpu":"6509.1%","memory":"5.7GiB","bandwidth":"1.33GB/s","input_bw":"18.51MB/s","status_2xx":1941364,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":125696,"avg_latency":"29.15ms","p99_latency":"79.50ms","cpu":"6459.6%","memory":"4.2GiB","bandwidth":"449.09MB/s","input_bw":"5.99MB/s","status_2xx":628481,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":436681,"avg_latency":"9.19ms","p99_latency":"47.90ms","cpu":"5393.9%","memory":"13.7GiB","bandwidth":"1.50GB/s","input_bw":"20.82MB/s","status_2xx":2183405,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":206364,"avg_latency":"3.25ms","p99_latency":"95.70ms","cpu":"5528.3%","memory":"730MiB","bandwidth":"718.18MB/s","input_bw":"9.84MB/s","status_2xx":1031823,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":139934,"avg_latency":"27.83ms","p99_latency":"254.50ms","cpu":"2720.2%","memory":"1.1GiB","bandwidth":"491.24MB/s","input_bw":"6.67MB/s","status_2xx":699671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":249577,"avg_latency":"14.39ms","p99_latency":"43.10ms","cpu":"6396.1%","memory":"4.3GiB","bandwidth":"860.03MB/s","input_bw":"11.90MB/s","status_2xx":1247889,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1811202,"avg_latency":"1.68ms","p99_latency":"48.70ms","cpu":"6609.5%","memory":"1.3GiB","bandwidth":"6.15GB/s","input_bw":"86.36MB/s","status_2xx":9056014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":22976,"avg_latency":"139.68ms","p99_latency":"462.80ms","cpu":"650.3%","memory":"434MiB","bandwidth":"42.48MB/s","input_bw":"1.10MB/s","status_2xx":114884,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":826322,"avg_latency":"4.52ms","p99_latency":"113.50ms","cpu":"5789.5%","memory":"277MiB","bandwidth":"2.82GB/s","input_bw":"39.40MB/s","status_2xx":4131612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":977287,"avg_latency":"3.84ms","p99_latency":"17.00ms","cpu":"6310.6%","memory":"930MiB","bandwidth":"3.34GB/s","input_bw":"46.60MB/s","status_2xx":4886439,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":201560,"avg_latency":"18.17ms","p99_latency":"47.20ms","cpu":"6470.8%","memory":"4.6GiB","bandwidth":"698.54MB/s","input_bw":"9.61MB/s","status_2xx":1007804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":447725,"avg_latency":"8.79ms","p99_latency":"210.50ms","cpu":"5516.2%","memory":"231MiB","bandwidth":"1.52GB/s","input_bw":"21.35MB/s","status_2xx":2238628,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":79804,"avg_latency":"31.69ms","p99_latency":"97.50ms","cpu":"3496.7%","memory":"172MiB","bandwidth":"279.05MB/s","input_bw":"3.81MB/s","status_2xx":399021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":244820,"avg_latency":"7.76ms","p99_latency":"15.40ms","cpu":"2687.5%","memory":"2.0GiB","bandwidth":"852.00MB/s","input_bw":"11.67MB/s","status_2xx":1224103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1897044,"avg_latency":"1.60ms","p99_latency":"4.73ms","cpu":"6475.8%","memory":"1.1GiB","bandwidth":"6.47GB/s","input_bw":"90.46MB/s","status_2xx":9485223,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":946517,"avg_latency":"3.97ms","p99_latency":"16.40ms","cpu":"6427.0%","memory":"414.8MiB","bandwidth":"3.25GB/s","input_bw":"45.13MB/s","status_2xx":4732588,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":134310,"avg_latency":"30.28ms","p99_latency":"59.90ms","cpu":"5168.9%","memory":"1.8GiB","bandwidth":"463.25MB/s","input_bw":"6.40MB/s","status_2xx":671550,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":233995,"avg_latency":"17.22ms","p99_latency":"67.00ms","cpu":"6590.6%","memory":"590MiB","bandwidth":"816.60MB/s","input_bw":"11.16MB/s","status_2xx":1169977,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":536234,"avg_latency":"1.22ms","p99_latency":"3.63ms","cpu":"4748.6%","memory":"299MiB","bandwidth":"1.83GB/s","input_bw":"25.57MB/s","status_2xx":2681172,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":514016,"avg_latency":"7.73ms","p99_latency":"18.10ms","cpu":"6201.1%","memory":"386MiB","bandwidth":"1.76GB/s","input_bw":"24.51MB/s","status_2xx":2570080,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":983908,"avg_latency":"3.80ms","p99_latency":"9.61ms","cpu":"6485.4%","memory":"264MiB","bandwidth":"3.29GB/s","input_bw":"46.92MB/s","status_2xx":4919544,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1227325,"avg_latency":"2.96ms","p99_latency":"82.00ms","cpu":"6396.4%","memory":"720MiB","bandwidth":"4.13GB/s","input_bw":"58.52MB/s","status_2xx":6136626,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":911183,"avg_latency":"4.17ms","p99_latency":"12.90ms","cpu":"6575.3%","memory":"7.6GiB","bandwidth":"3.16GB/s","input_bw":"43.45MB/s","status_2xx":4555918,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":659597,"avg_latency":"5.84ms","p99_latency":"12.40ms","cpu":"6387.2%","memory":"559MiB","bandwidth":"2.28GB/s","input_bw":"31.45MB/s","status_2xx":3297988,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":465616,"avg_latency":"7.99ms","p99_latency":"115.70ms","cpu":"6317.1%","memory":"3.8GiB","bandwidth":"1.61GB/s","input_bw":null,"status_2xx":2328081,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2109538,"avg_latency":"1.39ms","p99_latency":"36.50ms","cpu":"6166.4%","memory":"160MiB","bandwidth":"7.14GB/s","input_bw":"100.59MB/s","status_2xx":10547693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2438927,"avg_latency":"844us","p99_latency":"6.78ms","cpu":"6564.4%","memory":"1.4GiB","bandwidth":"8.26GB/s","input_bw":"116.30MB/s","status_2xx":12194638,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":60374,"avg_latency":"67.20ms","p99_latency":"163.80ms","cpu":"1779.5%","memory":"861MiB","bandwidth":"206.36MB/s","input_bw":"2.88MB/s","status_2xx":301871,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":1039295,"avg_latency":"3.58ms","p99_latency":"70.40ms","cpu":"6684.7%","memory":"211MiB","bandwidth":"3.50GB/s","input_bw":null,"status_2xx":5196477,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zeemo","lang":"Zig","rps":2389288,"avg_latency":"686us","p99_latency":"2.94ms","cpu":"5854.7%","memory":"289MiB","bandwidth":"8.00GB/s","input_bw":"113.93MB/s","status_2xx":11946443,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2348626,"avg_latency":"614us","p99_latency":"2.75ms","cpu":"5365.1%","memory":"290MiB","bandwidth":"7.86GB/s","input_bw":"111.99MB/s","status_2xx":11743130,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-comp-512":[{"fw":"actix","lang":"Rust","rps":18906,"avg_latency":"27.10ms","p99_latency":"42.10ms","cpu":"406.5%","memory":"110MiB","bandwidth":"25.34MB/s","input_bw":"1.41MB/s","status_2xx":94533,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":225671,"avg_latency":"2.26ms","p99_latency":"30.60ms","cpu":"5759.3%","memory":"5.5GiB","bandwidth":"328.35MB/s","input_bw":"16.79MB/s","status_2xx":1128355,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":333327,"avg_latency":"1.51ms","p99_latency":"6.71ms","cpu":"5327.5%","memory":"244MiB","bandwidth":"642.31MB/s","input_bw":"24.80MB/s","status_2xx":1666635,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":339900,"avg_latency":"1.49ms","p99_latency":"5.63ms","cpu":"6099.4%","memory":"887MiB","bandwidth":"655.98MB/s","input_bw":"25.28MB/s","status_2xx":1699501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":362672,"avg_latency":"1.40ms","p99_latency":"8.12ms","cpu":"5670.1%","memory":"1.5GiB","bandwidth":"701.21MB/s","input_bw":"26.98MB/s","status_2xx":1813360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":281614,"avg_latency":"1.80ms","p99_latency":"7.06ms","cpu":"5103.8%","memory":"241MiB","bandwidth":"541.51MB/s","input_bw":"20.95MB/s","status_2xx":1408072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":34545,"avg_latency":"14.82ms","p99_latency":"42.00ms","cpu":"652.0%","memory":"197MiB","bandwidth":"53.35MB/s","input_bw":"2.57MB/s","status_2xx":172726,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":100773,"avg_latency":"5.08ms","p99_latency":"10.90ms","cpu":"6301.3%","memory":"1.6GiB","bandwidth":"132.64MB/s","input_bw":"7.50MB/s","status_2xx":503865,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":311262,"avg_latency":"1.64ms","p99_latency":"40.70ms","cpu":"4326.1%","memory":"270MiB","bandwidth":"591.57MB/s","input_bw":"23.15MB/s","status_2xx":1556314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":348593,"avg_latency":"1.46ms","p99_latency":"6.99ms","cpu":"5940.0%","memory":"1.7GiB","bandwidth":"467.72MB/s","input_bw":"25.93MB/s","status_2xx":1742965,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":74761,"avg_latency":"6.85ms","p99_latency":"34.60ms","cpu":"6445.9%","memory":"6.0GiB","bandwidth":"105.26MB/s","input_bw":"5.56MB/s","status_2xx":373806,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":93695,"avg_latency":"5.46ms","p99_latency":"12.20ms","cpu":"6450.8%","memory":"4.7GiB","bandwidth":"127.79MB/s","input_bw":"6.97MB/s","status_2xx":468476,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":325197,"avg_latency":"1.56ms","p99_latency":"6.81ms","cpu":"5322.0%","memory":"238MiB","bandwidth":"626.28MB/s","input_bw":"24.19MB/s","status_2xx":1625988,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2028583,"avg_latency":"141us","p99_latency":"1.09ms","cpu":"6050.6%","memory":"366MiB","bandwidth":"3.24GB/s","input_bw":"150.90MB/s","status_2xx":10142919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":61346,"avg_latency":"8.36ms","p99_latency":"44.40ms","cpu":"6439.8%","memory":"10.1GiB","bandwidth":"86.46MB/s","input_bw":"4.56MB/s","status_2xx":306734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":301733,"avg_latency":"1.69ms","p99_latency":"6.75ms","cpu":"6689.3%","memory":"818MiB","bandwidth":"483.25MB/s","input_bw":"22.44MB/s","status_2xx":1508668,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":357084,"avg_latency":"1.43ms","p99_latency":"5.13ms","cpu":"5839.3%","memory":"593MiB","bandwidth":"571.98MB/s","input_bw":"26.56MB/s","status_2xx":1785420,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":346093,"avg_latency":"1.47ms","p99_latency":"18.80ms","cpu":"5432.2%","memory":"5.2GiB","bandwidth":"568.14MB/s","input_bw":"25.74MB/s","status_2xx":1730466,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":68903,"avg_latency":"7.32ms","p99_latency":"7.72ms","cpu":"6481.7%","memory":"3.2GiB","bandwidth":"97.42MB/s","input_bw":"5.13MB/s","status_2xx":344516,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":533687,"avg_latency":"931us","p99_latency":"3.75ms","cpu":"6167.2%","memory":"3.2GiB","bandwidth":"833.99MB/s","input_bw":"39.70MB/s","status_2xx":2668435,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":119733,"avg_latency":"4.27ms","p99_latency":"15.30ms","cpu":"5148.9%","memory":"1.1GiB","bandwidth":"147.72MB/s","input_bw":"8.91MB/s","status_2xx":598669,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":426738,"avg_latency":"1.20ms","p99_latency":"8.61ms","cpu":"6052.0%","memory":"7.7GiB","bandwidth":"666.51MB/s","input_bw":"31.74MB/s","status_2xx":2133693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":371930,"avg_latency":"1.37ms","p99_latency":"10.80ms","cpu":"5707.5%","memory":"384MiB","bandwidth":"605.85MB/s","input_bw":"27.67MB/s","status_2xx":1859650,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":447876,"avg_latency":"1.14ms","p99_latency":"10.10ms","cpu":"5723.4%","memory":"316MiB","bandwidth":"768.60MB/s","input_bw":"33.32MB/s","status_2xx":2239384,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":546290,"avg_latency":"927us","p99_latency":"4.50ms","cpu":"5785.0%","memory":"611MiB","bandwidth":"936.49MB/s","input_bw":"40.64MB/s","status_2xx":2731453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":407870,"avg_latency":"1.23ms","p99_latency":"6.25ms","cpu":"5583.3%","memory":"312MiB","bandwidth":"696.42MB/s","input_bw":"30.34MB/s","status_2xx":2039354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":387505,"avg_latency":"1.31ms","p99_latency":"6.33ms","cpu":"5546.8%","memory":"320MiB","bandwidth":"627.97MB/s","input_bw":"28.83MB/s","status_2xx":1937527,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":34160,"avg_latency":"14.87ms","p99_latency":"164.10ms","cpu":"2572.6%","memory":"767MiB","bandwidth":"45.62MB/s","input_bw":"2.54MB/s","status_2xx":170803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":76929,"avg_latency":"6.66ms","p99_latency":"13.80ms","cpu":"6240.4%","memory":"294MiB","bandwidth":"118.13MB/s","input_bw":"5.72MB/s","status_2xx":384649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":17562,"avg_latency":"29.14ms","p99_latency":"42.20ms","cpu":"564.8%","memory":"1.2GiB","bandwidth":"24.21MB/s","input_bw":"1.31MB/s","status_2xx":87812,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":313384,"avg_latency":"1.62ms","p99_latency":"6.53ms","cpu":"6307.9%","memory":"6.6GiB","bandwidth":"424.43MB/s","input_bw":"23.31MB/s","status_2xx":1566922,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":259626,"avg_latency":"1.97ms","p99_latency":"11.70ms","cpu":"6325.5%","memory":"114MiB","bandwidth":"353.21MB/s","input_bw":"19.31MB/s","status_2xx":1298132,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":53128,"avg_latency":"9.34ms","p99_latency":"33.20ms","cpu":"6395.7%","memory":"5.8GiB","bandwidth":"72.44MB/s","input_bw":"3.95MB/s","status_2xx":265640,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":50062,"avg_latency":"9.38ms","p99_latency":"47.00ms","cpu":"6348.7%","memory":"89MiB","bandwidth":"83.07MB/s","input_bw":"3.72MB/s","status_2xx":250313,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":226181,"avg_latency":"2.26ms","p99_latency":"3.53ms","cpu":"5231.8%","memory":"1.9GiB","bandwidth":"364.77MB/s","input_bw":"16.82MB/s","status_2xx":1130907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":919548,"avg_latency":"529us","p99_latency":"3.47ms","cpu":"5921.6%","memory":"633MiB","bandwidth":"1.37GB/s","input_bw":"68.40MB/s","status_2xx":4597744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":182888,"avg_latency":"2.78ms","p99_latency":"16.50ms","cpu":"6268.6%","memory":"4.9GiB","bandwidth":"241.85MB/s","input_bw":"13.60MB/s","status_2xx":914441,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":203733,"avg_latency":"2.49ms","p99_latency":"9.63ms","cpu":"6273.9%","memory":"4.0GiB","bandwidth":"269.48MB/s","input_bw":"15.16MB/s","status_2xx":1018665,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":549662,"avg_latency":"925us","p99_latency":"3.64ms","cpu":"5976.4%","memory":"135MiB","bandwidth":"851.44MB/s","input_bw":"40.89MB/s","status_2xx":2748314,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":78928,"avg_latency":"6.49ms","p99_latency":"16.60ms","cpu":"5866.3%","memory":"78MiB","bandwidth":"139.03MB/s","input_bw":"5.87MB/s","status_2xx":394643,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":59879,"avg_latency":"8.55ms","p99_latency":"35.70ms","cpu":"6434.4%","memory":"3.3GiB","bandwidth":"105.63MB/s","input_bw":"4.45MB/s","status_2xx":299398,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":510837,"avg_latency":"990us","p99_latency":"6.27ms","cpu":"6505.2%","memory":"4.5GiB","bandwidth":"825.33MB/s","input_bw":"38.00MB/s","status_2xx":2554189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":113416,"avg_latency":"4.52ms","p99_latency":"15.80ms","cpu":"6303.8%","memory":"758MiB","bandwidth":"166.45MB/s","input_bw":"8.44MB/s","status_2xx":567084,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":190140,"avg_latency":"2.69ms","p99_latency":"7.43ms","cpu":"6514.3%","memory":"3.9GiB","bandwidth":"311.51MB/s","input_bw":"14.14MB/s","status_2xx":950701,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":424332,"avg_latency":"1.20ms","p99_latency":"6.22ms","cpu":"5768.3%","memory":"906MiB","bandwidth":"830.52MB/s","input_bw":"31.56MB/s","status_2xx":2121663,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":297811,"avg_latency":"1.72ms","p99_latency":"6.37ms","cpu":"6292.0%","memory":"6.7GiB","bandwidth":"469.82MB/s","input_bw":"22.15MB/s","status_2xx":1489058,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":189727,"avg_latency":"2.69ms","p99_latency":"10.10ms","cpu":"6391.5%","memory":"6.8GiB","bandwidth":"260.94MB/s","input_bw":"14.11MB/s","status_2xx":948637,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":83822,"avg_latency":"6.10ms","p99_latency":"23.10ms","cpu":"6425.5%","memory":"4.2GiB","bandwidth":"122.51MB/s","input_bw":"6.24MB/s","status_2xx":419114,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":18832,"avg_latency":"27.19ms","p99_latency":"42.10ms","cpu":"671.1%","memory":"801MiB","bandwidth":"26.43MB/s","input_bw":"1.40MB/s","status_2xx":94163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":104843,"avg_latency":"3.43ms","p99_latency":"58.10ms","cpu":"6107.3%","memory":"877MiB","bandwidth":"144.55MB/s","input_bw":"7.80MB/s","status_2xx":524216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":130040,"avg_latency":"3.93ms","p99_latency":"13.60ms","cpu":"6456.3%","memory":"3.5GiB","bandwidth":"173.69MB/s","input_bw":"9.67MB/s","status_2xx":650204,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":605170,"avg_latency":"833us","p99_latency":"2.61ms","cpu":"6105.9%","memory":"1.3GiB","bandwidth":"864.14MB/s","input_bw":"45.02MB/s","status_2xx":3025854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":17986,"avg_latency":"28.18ms","p99_latency":"169.90ms","cpu":"733.8%","memory":"429MiB","bandwidth":"30.60MB/s","input_bw":"1.34MB/s","status_2xx":89932,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":470220,"avg_latency":"1.08ms","p99_latency":"20.00ms","cpu":"5721.1%","memory":"193MiB","bandwidth":"883.42MB/s","input_bw":"34.98MB/s","status_2xx":2351102,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":538538,"avg_latency":"940us","p99_latency":"4.36ms","cpu":"5763.3%","memory":"724MiB","bandwidth":"1011.88MB/s","input_bw":"40.06MB/s","status_2xx":2692691,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":118140,"avg_latency":"4.33ms","p99_latency":"18.60ms","cpu":"6386.9%","memory":"4.6GiB","bandwidth":"159.72MB/s","input_bw":"8.79MB/s","status_2xx":590703,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":187631,"avg_latency":"2.73ms","p99_latency":"16.10ms","cpu":"5579.3%","memory":"289MiB","bandwidth":"247.88MB/s","input_bw":"13.96MB/s","status_2xx":938155,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":101416,"avg_latency":"4.64ms","p99_latency":"15.20ms","cpu":"5722.9%","memory":"192MiB","bandwidth":"171.46MB/s","input_bw":"7.54MB/s","status_2xx":507081,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":198537,"avg_latency":"2.36ms","p99_latency":"4.91ms","cpu":"4554.7%","memory":"1.7GiB","bandwidth":"273.10MB/s","input_bw":"14.77MB/s","status_2xx":992689,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":391723,"avg_latency":"1.30ms","p99_latency":"6.74ms","cpu":"5930.6%","memory":"1.0GiB","bandwidth":"527.72MB/s","input_bw":"29.14MB/s","status_2xx":1958616,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":508847,"avg_latency":"1.00ms","p99_latency":"7.62ms","cpu":"6383.2%","memory":"243MiB","bandwidth":"819.19MB/s","input_bw":"37.85MB/s","status_2xx":2544239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":91877,"avg_latency":"5.57ms","p99_latency":"19.10ms","cpu":"5521.3%","memory":"1.1GiB","bandwidth":"115.73MB/s","input_bw":"6.83MB/s","status_2xx":459388,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":162929,"avg_latency":"3.14ms","p99_latency":"18.90ms","cpu":"6480.3%","memory":"401MiB","bandwidth":"223.29MB/s","input_bw":"12.12MB/s","status_2xx":814645,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":118558,"avg_latency":"3.92ms","p99_latency":"9.04ms","cpu":"6124.8%","memory":"747MiB","bandwidth":"160.70MB/s","input_bw":"8.82MB/s","status_2xx":592790,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1474,"avg_latency":"335.37ms","p99_latency":"675.10ms","cpu":"6410.8%","memory":"3.7GiB","bandwidth":"1.63MB/s","input_bw":"112.28KB/s","status_2xx":7371,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":445036,"avg_latency":"1.14ms","p99_latency":"5.28ms","cpu":"5914.4%","memory":"175MiB","bandwidth":"687.81MB/s","input_bw":"33.10MB/s","status_2xx":2225181,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":389379,"avg_latency":"1.31ms","p99_latency":"7.13ms","cpu":"5972.8%","memory":"8.2GiB","bandwidth":"611.37MB/s","input_bw":"28.96MB/s","status_2xx":1946899,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":300206,"avg_latency":"1.70ms","p99_latency":"4.54ms","cpu":"6546.7%","memory":"257MiB","bandwidth":"407.77MB/s","input_bw":"22.33MB/s","status_2xx":1501031,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":271121,"avg_latency":"1.88ms","p99_latency":"4.30ms","cpu":"6378.1%","memory":"3.6GiB","bandwidth":"431.16MB/s","input_bw":"20.17MB/s","status_2xx":1355607,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2106914,"avg_latency":"124us","p99_latency":"1.06ms","cpu":"6261.3%","memory":"89MiB","bandwidth":"3.36GB/s","input_bw":"156.73MB/s","status_2xx":10534572,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2137942,"avg_latency":"116us","p99_latency":"687us","cpu":"6049.3%","memory":"1.1GiB","bandwidth":"3.41GB/s","input_bw":"159.03MB/s","status_2xx":10689713,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":79144,"avg_latency":"6.46ms","p99_latency":"49.90ms","cpu":"1738.5%","memory":"522MiB","bandwidth":"127.22MB/s","input_bw":"5.89MB/s","status_2xx":395723,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-comp-4096":[{"fw":"actix","lang":"Rust","rps":152609,"avg_latency":"24.94ms","p99_latency":"45.90ms","cpu":"3762.3%","memory":"309MiB","bandwidth":"205.94MB/s","input_bw":"11.35MB/s","status_2xx":763047,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":234675,"avg_latency":"12.69ms","p99_latency":"104.70ms","cpu":"5920.6%","memory":"6.3GiB","bandwidth":"341.48MB/s","input_bw":"17.46MB/s","status_2xx":1173375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":335330,"avg_latency":"9.61ms","p99_latency":"37.60ms","cpu":"5909.3%","memory":"581MiB","bandwidth":"646.21MB/s","input_bw":"24.94MB/s","status_2xx":1676653,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":284539,"avg_latency":"11.07ms","p99_latency":"80.60ms","cpu":"5659.6%","memory":"1000MiB","bandwidth":"549.25MB/s","input_bw":"21.17MB/s","status_2xx":1422696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":369339,"avg_latency":"11.05ms","p99_latency":"34.90ms","cpu":"6032.6%","memory":"2.0GiB","bandwidth":"714.05MB/s","input_bw":"27.47MB/s","status_2xx":1846699,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":282605,"avg_latency":"11.96ms","p99_latency":"38.20ms","cpu":"5805.5%","memory":"523MiB","bandwidth":"543.37MB/s","input_bw":"21.02MB/s","status_2xx":1413025,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":235623,"avg_latency":"17.30ms","p99_latency":"51.60ms","cpu":"4594.0%","memory":"245MiB","bandwidth":"370.00MB/s","input_bw":"17.53MB/s","status_2xx":1178117,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":99844,"avg_latency":"38.18ms","p99_latency":"91.60ms","cpu":"6155.3%","memory":"1.7GiB","bandwidth":"131.41MB/s","input_bw":"7.43MB/s","status_2xx":499222,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":300519,"avg_latency":"13.12ms","p99_latency":"345.60ms","cpu":"4095.4%","memory":"391MiB","bandwidth":"571.16MB/s","input_bw":"22.35MB/s","status_2xx":1502597,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":372779,"avg_latency":"10.95ms","p99_latency":"24.80ms","cpu":"6054.4%","memory":"1.6GiB","bandwidth":"500.20MB/s","input_bw":"27.73MB/s","status_2xx":1863895,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":52964,"avg_latency":"53.12ms","p99_latency":"198.30ms","cpu":"6467.8%","memory":"5.9GiB","bandwidth":"74.56MB/s","input_bw":"3.94MB/s","status_2xx":264820,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":93953,"avg_latency":"39.75ms","p99_latency":"575.70ms","cpu":"6445.4%","memory":"4.7GiB","bandwidth":"128.13MB/s","input_bw":"6.99MB/s","status_2xx":469768,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":325504,"avg_latency":"10.04ms","p99_latency":"35.10ms","cpu":"5911.6%","memory":"558MiB","bandwidth":"626.84MB/s","input_bw":"24.21MB/s","status_2xx":1627523,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2467521,"avg_latency":"1.34ms","p99_latency":"8.74ms","cpu":"6202.5%","memory":"772MiB","bandwidth":"3.94GB/s","input_bw":"183.55MB/s","status_2xx":12337608,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":49030,"avg_latency":"65.98ms","p99_latency":"200.40ms","cpu":"6466.2%","memory":"11.1GiB","bandwidth":"69.07MB/s","input_bw":"3.65MB/s","status_2xx":245152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":345045,"avg_latency":"11.82ms","p99_latency":"26.10ms","cpu":"6750.4%","memory":"2.0GiB","bandwidth":"552.62MB/s","input_bw":"25.67MB/s","status_2xx":1725226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":366864,"avg_latency":"10.92ms","p99_latency":"260.00ms","cpu":"6272.8%","memory":"787MiB","bandwidth":"587.59MB/s","input_bw":"27.29MB/s","status_2xx":1834321,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":365339,"avg_latency":"9.73ms","p99_latency":"71.40ms","cpu":"5178.8%","memory":"6.1GiB","bandwidth":"599.78MB/s","input_bw":"27.18MB/s","status_2xx":1826698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":66225,"avg_latency":"33.05ms","p99_latency":"37.30ms","cpu":"5437.4%","memory":"3.2GiB","bandwidth":"93.64MB/s","input_bw":"4.93MB/s","status_2xx":331125,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":530717,"avg_latency":"7.67ms","p99_latency":"27.90ms","cpu":"6472.9%","memory":"3.4GiB","bandwidth":"829.29MB/s","input_bw":"39.48MB/s","status_2xx":2653585,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":122239,"avg_latency":"33.38ms","p99_latency":"72.40ms","cpu":"5163.3%","memory":"1.9GiB","bandwidth":"150.18MB/s","input_bw":"9.09MB/s","status_2xx":611196,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":428453,"avg_latency":"9.54ms","p99_latency":"32.40ms","cpu":"6381.9%","memory":"9.1GiB","bandwidth":"669.13MB/s","input_bw":"31.87MB/s","status_2xx":2142269,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":391523,"avg_latency":"9.49ms","p99_latency":"20.10ms","cpu":"6312.1%","memory":"1.7GiB","bandwidth":"637.72MB/s","input_bw":"29.12MB/s","status_2xx":1957617,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":473717,"avg_latency":"8.23ms","p99_latency":"22.80ms","cpu":"6032.5%","memory":"588MiB","bandwidth":"812.93MB/s","input_bw":"35.24MB/s","status_2xx":2368586,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":564064,"avg_latency":"7.24ms","p99_latency":"24.40ms","cpu":"6134.2%","memory":"888MiB","bandwidth":"966.93MB/s","input_bw":"41.96MB/s","status_2xx":2820323,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":403124,"avg_latency":"8.54ms","p99_latency":"30.10ms","cpu":"5881.9%","memory":"606MiB","bandwidth":"688.39MB/s","input_bw":"29.99MB/s","status_2xx":2015621,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":376291,"avg_latency":"8.05ms","p99_latency":"29.20ms","cpu":"5879.5%","memory":"552MiB","bandwidth":"609.76MB/s","input_bw":"27.99MB/s","status_2xx":1881455,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":35018,"avg_latency":"95.80ms","p99_latency":"1.69s","cpu":"3313.1%","memory":"3.5GiB","bandwidth":"46.72MB/s","input_bw":"2.60MB/s","status_2xx":175090,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":75742,"avg_latency":"49.66ms","p99_latency":"1.04s","cpu":"6451.4%","memory":"293MiB","bandwidth":"116.31MB/s","input_bw":"5.63MB/s","status_2xx":378711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":117892,"avg_latency":"29.81ms","p99_latency":"45.90ms","cpu":"3522.9%","memory":"2.9GiB","bandwidth":"162.85MB/s","input_bw":"8.77MB/s","status_2xx":589463,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":301690,"avg_latency":"12.16ms","p99_latency":"22.70ms","cpu":"6102.2%","memory":"8.7GiB","bandwidth":"408.57MB/s","input_bw":"22.44MB/s","status_2xx":1508453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":256696,"avg_latency":"15.87ms","p99_latency":"73.60ms","cpu":"6557.8%","memory":"225MiB","bandwidth":"349.08MB/s","input_bw":"19.09MB/s","status_2xx":1283480,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":58576,"avg_latency":"68.69ms","p99_latency":"161.30ms","cpu":"6271.6%","memory":"9.4GiB","bandwidth":"79.94MB/s","input_bw":"4.36MB/s","status_2xx":292880,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":52015,"avg_latency":"13.77ms","p99_latency":"136.80ms","cpu":"6313.9%","memory":"87MiB","bandwidth":"86.35MB/s","input_bw":"3.87MB/s","status_2xx":260078,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":242307,"avg_latency":"13.16ms","p99_latency":"22.80ms","cpu":"4964.9%","memory":"1.9GiB","bandwidth":"390.76MB/s","input_bw":"18.02MB/s","status_2xx":1211538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":904823,"avg_latency":"4.48ms","p99_latency":"21.80ms","cpu":"6085.4%","memory":"1.5GiB","bandwidth":"1.35GB/s","input_bw":"67.31MB/s","status_2xx":4524118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":193020,"avg_latency":"21.17ms","p99_latency":"82.30ms","cpu":"6158.4%","memory":"5.2GiB","bandwidth":"255.09MB/s","input_bw":"14.36MB/s","status_2xx":965101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":217405,"avg_latency":"18.85ms","p99_latency":"42.30ms","cpu":"6244.1%","memory":"4.5GiB","bandwidth":"287.20MB/s","input_bw":"16.17MB/s","status_2xx":1087025,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":578639,"avg_latency":"6.98ms","p99_latency":"181.70ms","cpu":"6360.6%","memory":"149MiB","bandwidth":"896.27MB/s","input_bw":"43.04MB/s","status_2xx":2893198,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":407543,"avg_latency":"10.03ms","p99_latency":"36.70ms","cpu":"6041.0%","memory":"237MiB","bandwidth":"717.93MB/s","input_bw":"30.32MB/s","status_2xx":2037716,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":98861,"avg_latency":"41.28ms","p99_latency":"125.30ms","cpu":"6491.6%","memory":"4.8GiB","bandwidth":"174.43MB/s","input_bw":"7.35MB/s","status_2xx":494308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":526034,"avg_latency":"7.72ms","p99_latency":"133.30ms","cpu":"6680.1%","memory":"4.4GiB","bandwidth":"849.78MB/s","input_bw":"39.13MB/s","status_2xx":2630173,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":93061,"avg_latency":"36.51ms","p99_latency":"336.30ms","cpu":"6287.0%","memory":"1.8GiB","bandwidth":"136.38MB/s","input_bw":"6.92MB/s","status_2xx":465309,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":184789,"avg_latency":"22.02ms","p99_latency":"26.50ms","cpu":"6232.5%","memory":"3.9GiB","bandwidth":"303.23MB/s","input_bw":"13.75MB/s","status_2xx":925797,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":463958,"avg_latency":"8.81ms","p99_latency":"19.90ms","cpu":"6320.4%","memory":"1.1GiB","bandwidth":"908.17MB/s","input_bw":"34.51MB/s","status_2xx":2319791,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":294552,"avg_latency":"13.87ms","p99_latency":"35.60ms","cpu":"6436.7%","memory":"10.2GiB","bandwidth":"464.78MB/s","input_bw":"21.91MB/s","status_2xx":1472762,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":179420,"avg_latency":"21.71ms","p99_latency":"50.20ms","cpu":"6555.6%","memory":"5.5GiB","bandwidth":"246.69MB/s","input_bw":"13.35MB/s","status_2xx":897101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":83754,"avg_latency":"43.34ms","p99_latency":"104.40ms","cpu":"6434.7%","memory":"4.0GiB","bandwidth":"122.41MB/s","input_bw":"6.23MB/s","status_2xx":418773,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":139354,"avg_latency":"29.34ms","p99_latency":"56.90ms","cpu":"4677.6%","memory":"14.3GiB","bandwidth":"197.20MB/s","input_bw":"10.37MB/s","status_2xx":696771,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":93906,"avg_latency":"7.41ms","p99_latency":"158.50ms","cpu":"6097.4%","memory":"857MiB","bandwidth":"129.22MB/s","input_bw":"6.99MB/s","status_2xx":469530,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":141482,"avg_latency":"25.95ms","p99_latency":"52.90ms","cpu":"6418.5%","memory":"4.9GiB","bandwidth":"188.86MB/s","input_bw":"10.52MB/s","status_2xx":707413,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":659614,"avg_latency":"6.12ms","p99_latency":"161.40ms","cpu":"6508.4%","memory":"1.3GiB","bandwidth":"941.83MB/s","input_bw":"49.07MB/s","status_2xx":3298070,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":22031,"avg_latency":"148.41ms","p99_latency":"962.60ms","cpu":"817.4%","memory":"448MiB","bandwidth":"37.45MB/s","input_bw":"1.64MB/s","status_2xx":110157,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":481625,"avg_latency":"8.33ms","p99_latency":"205.70ms","cpu":"5726.1%","memory":"334MiB","bandwidth":"904.87MB/s","input_bw":"35.83MB/s","status_2xx":2408125,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":523073,"avg_latency":"7.81ms","p99_latency":"26.70ms","cpu":"6016.1%","memory":"1.0GiB","bandwidth":"982.83MB/s","input_bw":"38.91MB/s","status_2xx":2615369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":123912,"avg_latency":"30.05ms","p99_latency":"53.70ms","cpu":"6531.1%","memory":"4.4GiB","bandwidth":"167.50MB/s","input_bw":"9.22MB/s","status_2xx":619564,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":187464,"avg_latency":"21.04ms","p99_latency":"477.40ms","cpu":"5672.2%","memory":"344MiB","bandwidth":"247.76MB/s","input_bw":"13.94MB/s","status_2xx":937322,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":96976,"avg_latency":"25.27ms","p99_latency":"90.90ms","cpu":"5445.3%","memory":"205MiB","bandwidth":"163.96MB/s","input_bw":"7.21MB/s","status_2xx":484881,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":198628,"avg_latency":"12.22ms","p99_latency":"20.10ms","cpu":"4801.7%","memory":"2.4GiB","bandwidth":"273.26MB/s","input_bw":"14.78MB/s","status_2xx":993144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":427413,"avg_latency":"9.56ms","p99_latency":"26.30ms","cpu":"6399.4%","memory":"1.1GiB","bandwidth":"575.81MB/s","input_bw":"31.79MB/s","status_2xx":2137068,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":524209,"avg_latency":"7.77ms","p99_latency":"36.00ms","cpu":"6687.9%","memory":"261MiB","bandwidth":"843.89MB/s","input_bw":"38.99MB/s","status_2xx":2621048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":95685,"avg_latency":"42.61ms","p99_latency":"85.50ms","cpu":"5466.6%","memory":"1.9GiB","bandwidth":"117.44MB/s","input_bw":"7.12MB/s","status_2xx":478425,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":160065,"avg_latency":"25.54ms","p99_latency":"93.00ms","cpu":"6550.0%","memory":"755MiB","bandwidth":"219.43MB/s","input_bw":"11.91MB/s","status_2xx":800327,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":119814,"avg_latency":"7.30ms","p99_latency":"26.80ms","cpu":"6162.4%","memory":"773MiB","bandwidth":"162.43MB/s","input_bw":"8.91MB/s","status_2xx":599073,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1455,"avg_latency":"2.02s","p99_latency":"3.33s","cpu":"6062.7%","memory":"4.0GiB","bandwidth":"1.61MB/s","input_bw":"110.83KB/s","status_2xx":7275,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":458109,"avg_latency":"8.95ms","p99_latency":"20.20ms","cpu":"6227.8%","memory":"254MiB","bandwidth":"708.10MB/s","input_bw":"34.08MB/s","status_2xx":2290546,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":384617,"avg_latency":"10.63ms","p99_latency":"35.40ms","cpu":"6394.5%","memory":"8.7GiB","bandwidth":"603.95MB/s","input_bw":"28.61MB/s","status_2xx":1923087,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":298148,"avg_latency":"13.71ms","p99_latency":"28.90ms","cpu":"6523.9%","memory":"604MiB","bandwidth":"404.95MB/s","input_bw":"22.18MB/s","status_2xx":1490740,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":271388,"avg_latency":"13.58ms","p99_latency":"198.00ms","cpu":"6242.7%","memory":"3.6GiB","bandwidth":"431.66MB/s","input_bw":"20.19MB/s","status_2xx":1356940,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2323362,"avg_latency":"1.59ms","p99_latency":"38.30ms","cpu":"6218.4%","memory":"110MiB","bandwidth":"3.71GB/s","input_bw":"172.83MB/s","status_2xx":11616814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2869933,"avg_latency":"979us","p99_latency":"7.40ms","cpu":"6324.1%","memory":"1.5GiB","bandwidth":"4.58GB/s","input_bw":"213.48MB/s","status_2xx":14349666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":74734,"avg_latency":"54.50ms","p99_latency":"141.50ms","cpu":"3344.3%","memory":"837MiB","bandwidth":"120.11MB/s","input_bw":"5.56MB/s","status_2xx":373671,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-comp-16384":[{"fw":"actix","lang":"Rust","rps":248051,"avg_latency":"55.67ms","p99_latency":"202.00ms","cpu":"6028.5%","memory":"1.2GiB","bandwidth":"335.24MB/s","input_bw":"18.45MB/s","status_2xx":1240255,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":229920,"avg_latency":"21.54ms","p99_latency":"153.40ms","cpu":"6136.7%","memory":"7.0GiB","bandwidth":"334.51MB/s","input_bw":"17.10MB/s","status_2xx":1149603,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":335277,"avg_latency":"20.36ms","p99_latency":"61.70ms","cpu":"6094.4%","memory":"661MiB","bandwidth":"646.31MB/s","input_bw":"24.94MB/s","status_2xx":1676389,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":236441,"avg_latency":"16.84ms","p99_latency":"108.10ms","cpu":"5059.2%","memory":"1016MiB","bandwidth":"456.51MB/s","input_bw":"17.59MB/s","status_2xx":1182205,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":382233,"avg_latency":"42.56ms","p99_latency":"86.90ms","cpu":"6011.9%","memory":"2.8GiB","bandwidth":"739.09MB/s","input_bw":"28.43MB/s","status_2xx":1911169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":274658,"avg_latency":"25.14ms","p99_latency":"66.60ms","cpu":"5856.2%","memory":"668MiB","bandwidth":"528.16MB/s","input_bw":"20.43MB/s","status_2xx":1373293,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":281904,"avg_latency":"54.72ms","p99_latency":"679.70ms","cpu":"6321.5%","memory":"333MiB","bandwidth":"441.57MB/s","input_bw":"20.97MB/s","status_2xx":1409522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":98024,"avg_latency":"99.03ms","p99_latency":"328.00ms","cpu":"6078.0%","memory":"1.8GiB","bandwidth":"129.06MB/s","input_bw":"7.29MB/s","status_2xx":490120,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":309443,"avg_latency":"25.17ms","p99_latency":"663.00ms","cpu":"4088.9%","memory":"586MiB","bandwidth":"588.03MB/s","input_bw":"23.02MB/s","status_2xx":1547215,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":378203,"avg_latency":"42.71ms","p99_latency":"69.30ms","cpu":"6437.1%","memory":"2.0GiB","bandwidth":"507.53MB/s","input_bw":"28.13MB/s","status_2xx":1891018,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":53381,"avg_latency":"101.06ms","p99_latency":"1.38s","cpu":"6216.3%","memory":"6.7GiB","bandwidth":"75.15MB/s","input_bw":"3.97MB/s","status_2xx":266905,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":92206,"avg_latency":"117.01ms","p99_latency":"803.70ms","cpu":"6450.5%","memory":"4.9GiB","bandwidth":"125.76MB/s","input_bw":"6.86MB/s","status_2xx":461034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":323913,"avg_latency":"19.25ms","p99_latency":"58.60ms","cpu":"5838.4%","memory":"680MiB","bandwidth":"623.76MB/s","input_bw":"24.09MB/s","status_2xx":1619569,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":2369043,"avg_latency":"6.39ms","p99_latency":"23.50ms","cpu":"6000.7%","memory":"1.3GiB","bandwidth":"3.78GB/s","input_bw":"176.23MB/s","status_2xx":11845219,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":49716,"avg_latency":"99.87ms","p99_latency":"1.14s","cpu":"6483.2%","memory":"11.5GiB","bandwidth":"70.01MB/s","input_bw":"3.70MB/s","status_2xx":248581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":337933,"avg_latency":"47.89ms","p99_latency":"74.20ms","cpu":"6791.6%","memory":"5.6GiB","bandwidth":"541.24MB/s","input_bw":"25.14MB/s","status_2xx":1689666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":371108,"avg_latency":"39.74ms","p99_latency":"1.04s","cpu":"6295.9%","memory":"962MiB","bandwidth":"594.43MB/s","input_bw":"27.61MB/s","status_2xx":1855542,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":362427,"avg_latency":"27.05ms","p99_latency":"130.90ms","cpu":"5033.1%","memory":"5.9GiB","bandwidth":"595.05MB/s","input_bw":"26.96MB/s","status_2xx":1812138,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":55126,"avg_latency":"43.70ms","p99_latency":"642.60ms","cpu":"4112.9%","memory":"3.2GiB","bandwidth":"77.95MB/s","input_bw":"4.10MB/s","status_2xx":275631,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":511940,"avg_latency":"27.30ms","p99_latency":"403.90ms","cpu":"6750.9%","memory":"3.9GiB","bandwidth":"799.84MB/s","input_bw":"38.08MB/s","status_2xx":2559704,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":123063,"avg_latency":"129.25ms","p99_latency":"259.50ms","cpu":"5024.5%","memory":"3.8GiB","bandwidth":"149.42MB/s","input_bw":"9.15MB/s","status_2xx":615317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":438511,"avg_latency":"37.00ms","p99_latency":"89.30ms","cpu":"6331.1%","memory":"10.4GiB","bandwidth":"684.72MB/s","input_bw":"32.62MB/s","status_2xx":2192558,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":369560,"avg_latency":"26.46ms","p99_latency":"62.80ms","cpu":"6000.7%","memory":"2.6GiB","bandwidth":"602.00MB/s","input_bw":"27.49MB/s","status_2xx":1847803,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":461514,"avg_latency":"29.74ms","p99_latency":"72.00ms","cpu":"6037.0%","memory":"1.5GiB","bandwidth":"791.93MB/s","input_bw":"34.33MB/s","status_2xx":2307573,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":558661,"avg_latency":"29.13ms","p99_latency":"60.20ms","cpu":"6046.3%","memory":"1.2GiB","bandwidth":"957.65MB/s","input_bw":"41.56MB/s","status_2xx":2793308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":396232,"avg_latency":"15.91ms","p99_latency":"47.90ms","cpu":"5829.9%","memory":"755MiB","bandwidth":"676.63MB/s","input_bw":"29.47MB/s","status_2xx":1981161,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":375702,"avg_latency":"14.53ms","p99_latency":"45.20ms","cpu":"5841.8%","memory":"639MiB","bandwidth":"608.83MB/s","input_bw":"27.95MB/s","status_2xx":1878512,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":26108,"avg_latency":"241.27ms","p99_latency":"3.75s","cpu":"3817.6%","memory":"6.8GiB","bandwidth":"34.84MB/s","input_bw":"1.94MB/s","status_2xx":130541,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":73948,"avg_latency":"110.99ms","p99_latency":"3.66s","cpu":"6448.1%","memory":"293MiB","bandwidth":"113.53MB/s","input_bw":"5.50MB/s","status_2xx":369743,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":195228,"avg_latency":"42.42ms","p99_latency":"367.90ms","cpu":"5117.4%","memory":"5.3GiB","bandwidth":"269.99MB/s","input_bw":"14.52MB/s","status_2xx":976143,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":285928,"avg_latency":"35.03ms","p99_latency":"115.80ms","cpu":"5938.7%","memory":"12.6GiB","bandwidth":"387.32MB/s","input_bw":"21.27MB/s","status_2xx":1429641,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":251925,"avg_latency":"59.01ms","p99_latency":"1.32s","cpu":"6191.0%","memory":"243MiB","bandwidth":"342.70MB/s","input_bw":"18.74MB/s","status_2xx":1259627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":53692,"avg_latency":"293.86ms","p99_latency":"550.60ms","cpu":"6188.8%","memory":"12.8GiB","bandwidth":"73.42MB/s","input_bw":"3.99MB/s","status_2xx":268462,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":51013,"avg_latency":"15.29ms","p99_latency":"142.20ms","cpu":"6505.6%","memory":"88MiB","bandwidth":"84.78MB/s","input_bw":"3.79MB/s","status_2xx":255069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":241986,"avg_latency":"27.59ms","p99_latency":"47.10ms","cpu":"4760.3%","memory":"1.9GiB","bandwidth":"390.34MB/s","input_bw":"18.00MB/s","status_2xx":1209933,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":905381,"avg_latency":"17.88ms","p99_latency":"48.70ms","cpu":"6052.2%","memory":"5.0GiB","bandwidth":"1.35GB/s","input_bw":"67.35MB/s","status_2xx":4526907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":189511,"avg_latency":"84.68ms","p99_latency":"260.80ms","cpu":"6028.2%","memory":"11.2GiB","bandwidth":"252.50MB/s","input_bw":"14.10MB/s","status_2xx":947555,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":218199,"avg_latency":"74.08ms","p99_latency":"145.20ms","cpu":"6022.6%","memory":"11.4GiB","bandwidth":"288.28MB/s","input_bw":"16.23MB/s","status_2xx":1090998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":577858,"avg_latency":"26.43ms","p99_latency":"684.00ms","cpu":"6207.5%","memory":"178MiB","bandwidth":"895.07MB/s","input_bw":"42.98MB/s","status_2xx":2889292,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":384511,"avg_latency":"42.13ms","p99_latency":"149.30ms","cpu":"5992.7%","memory":"732MiB","bandwidth":"677.40MB/s","input_bw":"28.60MB/s","status_2xx":1922558,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":118351,"avg_latency":"135.75ms","p99_latency":"303.50ms","cpu":"6256.4%","memory":"6.4GiB","bandwidth":"208.94MB/s","input_bw":"8.80MB/s","status_2xx":591758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":522125,"avg_latency":"29.12ms","p99_latency":"759.30ms","cpu":"6360.2%","memory":"4.5GiB","bandwidth":"843.39MB/s","input_bw":"38.84MB/s","status_2xx":2610629,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":93569,"avg_latency":"38.15ms","p99_latency":"346.30ms","cpu":"6078.6%","memory":"1.7GiB","bandwidth":"137.15MB/s","input_bw":"6.96MB/s","status_2xx":467846,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":180355,"avg_latency":"89.21ms","p99_latency":"99.20ms","cpu":"6448.4%","memory":"4.1GiB","bandwidth":"295.53MB/s","input_bw":"13.42MB/s","status_2xx":901776,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":450589,"avg_latency":"36.03ms","p99_latency":"57.10ms","cpu":"6649.3%","memory":"1.7GiB","bandwidth":"881.87MB/s","input_bw":"33.52MB/s","status_2xx":2252947,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":294023,"avg_latency":"54.97ms","p99_latency":"124.00ms","cpu":"6415.1%","memory":"10.6GiB","bandwidth":"463.86MB/s","input_bw":"21.87MB/s","status_2xx":1470118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":160894,"avg_latency":"90.65ms","p99_latency":"279.90ms","cpu":"5894.7%","memory":"5.5GiB","bandwidth":"221.26MB/s","input_bw":"11.97MB/s","status_2xx":804470,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":84821,"avg_latency":"101.89ms","p99_latency":"563.80ms","cpu":"6475.6%","memory":"4.3GiB","bandwidth":"123.89MB/s","input_bw":"6.31MB/s","status_2xx":424107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":224270,"avg_latency":"62.04ms","p99_latency":"924.60ms","cpu":"6590.3%","memory":"15.7GiB","bandwidth":"316.74MB/s","input_bw":"16.68MB/s","status_2xx":1121350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":104116,"avg_latency":"7.55ms","p99_latency":"147.10ms","cpu":"6067.7%","memory":"886MiB","bandwidth":"143.46MB/s","input_bw":"7.74MB/s","status_2xx":520582,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":141281,"avg_latency":"62.84ms","p99_latency":"149.00ms","cpu":"6509.0%","memory":"5.3GiB","bandwidth":"188.62MB/s","input_bw":"10.51MB/s","status_2xx":706407,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":664500,"avg_latency":"23.30ms","p99_latency":"579.40ms","cpu":"6437.0%","memory":"1.3GiB","bandwidth":"948.80MB/s","input_bw":"49.43MB/s","status_2xx":3322500,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":16068,"avg_latency":"280.60ms","p99_latency":"2.08s","cpu":"1738.1%","memory":"487MiB","bandwidth":"27.32MB/s","input_bw":"1.20MB/s","status_2xx":80341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":476434,"avg_latency":"17.36ms","p99_latency":"425.60ms","cpu":"5899.0%","memory":"402MiB","bandwidth":"894.77MB/s","input_bw":"35.44MB/s","status_2xx":2382170,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":503250,"avg_latency":"32.34ms","p99_latency":"67.50ms","cpu":"6043.7%","memory":"1.5GiB","bandwidth":"945.62MB/s","input_bw":"37.44MB/s","status_2xx":2516253,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":121500,"avg_latency":"79.17ms","p99_latency":"298.80ms","cpu":"6219.4%","memory":"4.5GiB","bandwidth":"164.25MB/s","input_bw":"9.04MB/s","status_2xx":607504,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":183078,"avg_latency":"26.34ms","p99_latency":"564.80ms","cpu":"5667.3%","memory":"345MiB","bandwidth":"241.77MB/s","input_bw":"13.62MB/s","status_2xx":915394,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":92180,"avg_latency":"73.10ms","p99_latency":"422.00ms","cpu":"5402.6%","memory":"286MiB","bandwidth":"155.90MB/s","input_bw":"6.86MB/s","status_2xx":460902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":183986,"avg_latency":"32.00ms","p99_latency":"55.90ms","cpu":"4145.5%","memory":"2.6GiB","bandwidth":"253.11MB/s","input_bw":"13.69MB/s","status_2xx":919930,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":418470,"avg_latency":"38.86ms","p99_latency":"74.00ms","cpu":"6335.6%","memory":"1.2GiB","bandwidth":"563.69MB/s","input_bw":"31.13MB/s","status_2xx":2092354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":517669,"avg_latency":"31.25ms","p99_latency":"89.90ms","cpu":"6717.7%","memory":"415MiB","bandwidth":"833.51MB/s","input_bw":"38.51MB/s","status_2xx":2588347,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":94939,"avg_latency":"167.93ms","p99_latency":"333.90ms","cpu":"5424.5%","memory":"4.3GiB","bandwidth":"112.98MB/s","input_bw":"7.06MB/s","status_2xx":474698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":160059,"avg_latency":"100.39ms","p99_latency":"234.00ms","cpu":"6555.2%","memory":"943MiB","bandwidth":"219.35MB/s","input_bw":"11.91MB/s","status_2xx":800299,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":112729,"avg_latency":"10.42ms","p99_latency":"34.50ms","cpu":"6019.9%","memory":"755MiB","bandwidth":"152.90MB/s","input_bw":"8.39MB/s","status_2xx":563648,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1435,"avg_latency":"2.52s","p99_latency":"4.91s","cpu":"5911.4%","memory":"4.0GiB","bandwidth":"1.59MB/s","input_bw":"109.31KB/s","status_2xx":7178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":440487,"avg_latency":"36.93ms","p99_latency":"66.30ms","cpu":"6499.7%","memory":"487MiB","bandwidth":"680.78MB/s","input_bw":"32.77MB/s","status_2xx":2202439,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":400892,"avg_latency":"40.42ms","p99_latency":"94.40ms","cpu":"6262.6%","memory":"10.0GiB","bandwidth":"629.46MB/s","input_bw":"29.82MB/s","status_2xx":2004460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":298253,"avg_latency":"52.43ms","p99_latency":"201.20ms","cpu":"6525.1%","memory":"1.6GiB","bandwidth":"405.09MB/s","input_bw":"22.19MB/s","status_2xx":1491268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":263652,"avg_latency":"25.95ms","p99_latency":"207.60ms","cpu":"6050.8%","memory":"3.6GiB","bandwidth":"419.35MB/s","input_bw":"19.61MB/s","status_2xx":1318264,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2342652,"avg_latency":"6.63ms","p99_latency":"166.30ms","cpu":"6112.1%","memory":"118MiB","bandwidth":"3.74GB/s","input_bw":"174.26MB/s","status_2xx":11713263,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2764973,"avg_latency":"5.12ms","p99_latency":"17.20ms","cpu":"5908.4%","memory":"1.9GiB","bandwidth":"4.41GB/s","input_bw":"205.68MB/s","status_2xx":13824869,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":73280,"avg_latency":"214.53ms","p99_latency":"295.60ms","cpu":"1784.2%","memory":"1.4GiB","bandwidth":"117.79MB/s","input_bw":"5.45MB/s","status_2xx":366403,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-tls-4096":[{"fw":"actix","lang":"Rust","rps":1157219,"avg_latency":"3.56ms","p99_latency":"64.52ms","cpu":"6580.5%","memory":"229MiB","bandwidth":"3.93GB","input_bw":null,"status_2xx":5897923,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":595255,"avg_latency":"10.34ms","p99_latency":"10.34ms","cpu":"6386.2%","memory":"8.9GiB","bandwidth":"2.03GB","input_bw":null,"status_2xx":3036523,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":505617,"avg_latency":"8.32ms","p99_latency":"104.21ms","cpu":"6048.0%","memory":"805MiB","bandwidth":"1.74GB","input_bw":null,"status_2xx":2578063,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":738079,"avg_latency":"5.69ms","p99_latency":"64.53ms","cpu":"6106.9%","memory":"2.3GiB","bandwidth":"2.54GB","input_bw":null,"status_2xx":3764048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":168570,"avg_latency":"24.03ms","p99_latency":"198.22ms","cpu":"6208.0%","memory":"2.7GiB","bandwidth":"665.28MB","input_bw":null,"status_2xx":859409,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":7150,"avg_latency":"6.65ms","p99_latency":"6.65ms","cpu":"1873.0%","memory":"2.5GiB","bandwidth":"28.40MB","input_bw":null,"status_2xx":36462,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":135982,"avg_latency":"29.02ms","p99_latency":"141.69ms","cpu":"6176.2%","memory":"4.8GiB","bandwidth":"480.30MB","input_bw":null,"status_2xx":692249,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":483250,"avg_latency":"8.56ms","p99_latency":"112.29ms","cpu":"6036.3%","memory":"748MiB","bandwidth":"1.66GB","input_bw":null,"status_2xx":2464226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":554676,"avg_latency":"7.46ms","p99_latency":"7.46ms","cpu":"6770.0%","memory":"1.4GiB","bandwidth":"1.92GB","input_bw":null,"status_2xx":2827692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":598488,"avg_latency":"6.83ms","p99_latency":"6.83ms","cpu":"6448.7%","memory":"659MiB","bandwidth":"2.07GB","input_bw":null,"status_2xx":3051939,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":454763,"avg_latency":"10.36ms","p99_latency":null,"cpu":"3297.8%","memory":"5.8GiB","bandwidth":"1.56GB","input_bw":null,"status_2xx":2318162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":6834,"avg_latency":"6.57ms","p99_latency":"6.57ms","cpu":"2183.7%","memory":"3.3GiB","bandwidth":"24.11MB","input_bw":null,"status_2xx":34855,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":232457,"avg_latency":"17.70ms","p99_latency":null,"cpu":"6218.0%","memory":"3.8GiB","bandwidth":"817.43MB","input_bw":"","status_2xx":1185645,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":1046604,"avg_latency":"3.89ms","p99_latency":"48.53ms","cpu":"6583.8%","memory":"6.6GiB","bandwidth":"3.62GB","input_bw":null,"status_2xx":5337756,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":561019,"avg_latency":"7.23ms","p99_latency":null,"cpu":"6216.9%","memory":"1.7GiB","bandwidth":"1.92GB","input_bw":null,"status_2xx":2861075,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":687643,"avg_latency":"5.95ms","p99_latency":"65.78ms","cpu":"6178.3%","memory":"1.1GiB","bandwidth":"2.36GB","input_bw":null,"status_2xx":3506742,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":849743,"avg_latency":"5.71ms","p99_latency":"115.08ms","cpu":"6370.2%","memory":"1.1GiB","bandwidth":"2.91GB","input_bw":null,"status_2xx":4332009,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":551934,"avg_latency":"7.65ms","p99_latency":"116.02ms","cpu":"5945.1%","memory":"921MiB","bandwidth":"1.89GB","input_bw":null,"status_2xx":2815161,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":513804,"avg_latency":"9.35ms","p99_latency":null,"cpu":"6103.7%","memory":"814MiB","bandwidth":"1.75GB","input_bw":null,"status_2xx":2620775,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":249863,"avg_latency":"18.63ms","p99_latency":"18.63ms","cpu":"4659.8%","memory":"4.1GiB","bandwidth":"0.86GB","input_bw":"","status_2xx":1274615,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":618043,"avg_latency":"6.69ms","p99_latency":null,"cpu":"6211.7%","memory":"8.3GiB","bandwidth":"2.11GB","input_bw":"","status_2xx":3150737,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":1788316,"avg_latency":"2.33ms","p99_latency":"68.06ms","cpu":"6180.8%","memory":"1.2GiB","bandwidth":"5.98GB","input_bw":null,"status_2xx":9122911,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1675850,"avg_latency":"2.84ms","p99_latency":"218.57ms","cpu":"6106.0%","memory":"391MiB","bandwidth":"8.73GB","input_bw":null,"status_2xx":8545821,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":391978,"avg_latency":"11.92ms","p99_latency":"11.92ms","cpu":"4946.9%","memory":"9.3GiB","bandwidth":"1.31GB","input_bw":null,"status_2xx":1999246,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":607943,"avg_latency":"8.03ms","p99_latency":"266.87ms","cpu":"6059.8%","memory":"6.0GiB","bandwidth":"2.03GB","input_bw":null,"status_2xx":3101041,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":65424,"avg_latency":"65.18ms","p99_latency":null,"cpu":"5731.8%","memory":"182MiB","bandwidth":"273.62MB","input_bw":null,"status_2xx":333407,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":942048,"avg_latency":"4.51ms","p99_latency":"64.56ms","cpu":"5595.1%","memory":"246MiB","bandwidth":"3.24GB","input_bw":null,"status_2xx":4804691,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":331826,"avg_latency":"12.35ms","p99_latency":"72.71ms","cpu":"6684.0%","memory":"4.1GiB","bandwidth":"1.14GB","input_bw":null,"status_2xx":1690511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":804422,"avg_latency":"5.09ms","p99_latency":"5.09ms","cpu":"6602.5%","memory":"4.5GiB","bandwidth":"2.75GB","input_bw":"","status_2xx":4103422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":780948,"avg_latency":"5.24ms","p99_latency":"5.24ms","cpu":"6562.1%","memory":"1.2GiB","bandwidth":"2.66GB","input_bw":null,"status_2xx":3983423,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":116223,"avg_latency":"34.54ms","p99_latency":"112.55ms","cpu":"6430.9%","memory":"5.3GiB","bandwidth":"415.26MB","input_bw":null,"status_2xx":592627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":445438,"avg_latency":"13.94ms","p99_latency":"81.81ms","cpu":"6421.3%","memory":"13.9GiB","bandwidth":"1.52GB","input_bw":null,"status_2xx":2268562,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":52212,"avg_latency":"1.84ms","p99_latency":"1.84ms","cpu":"3126.7%","memory":"484MiB","bandwidth":"181.84MB","input_bw":null,"status_2xx":266311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":220720,"avg_latency":"18.42ms","p99_latency":"145.61ms","cpu":"6587.9%","memory":"5.8GiB","bandwidth":"760.88MB","input_bw":null,"status_2xx":1125640,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1826163,"avg_latency":"1.30ms","p99_latency":"48.07ms","cpu":"5916.6%","memory":"1.3GiB","bandwidth":"6.20GB","input_bw":null,"status_2xx":9313046,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":14116,"avg_latency":"199.89ms","p99_latency":null,"cpu":"1190.1%","memory":"548MiB","bandwidth":"26.09MB","input_bw":null,"status_2xx":71994,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":670630,"avg_latency":"6.15ms","p99_latency":"63.93ms","cpu":"6218.1%","memory":"1.1GiB","bandwidth":"2.29GB","input_bw":null,"status_2xx":3420152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":702815,"avg_latency":"5.52ms","p99_latency":"36.99ms","cpu":"6100.2%","memory":"802MiB","bandwidth":"2.40GB","input_bw":null,"status_2xx":3585126,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":185424,"avg_latency":"21.95ms","p99_latency":"21.95ms","cpu":"6576.4%","memory":"6.0GiB","bandwidth":"642.18MB","input_bw":null,"status_2xx":944919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":188030,"avg_latency":"20.64ms","p99_latency":null,"cpu":"2659.2%","memory":"3.2GiB","bandwidth":"651.02MB","input_bw":null,"status_2xx":958731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1522080,"avg_latency":"2.64ms","p99_latency":null,"cpu":"6523.0%","memory":"1.3GiB","bandwidth":"5.19GB","input_bw":null,"status_2xx":7763935,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":776894,"avg_latency":"5.37ms","p99_latency":null,"cpu":"6497.1%","memory":"355MiB","bandwidth":"2.66GB","input_bw":null,"status_2xx":3962375,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":43624,"avg_latency":"176.21ms","p99_latency":"176.21ms","cpu":"6473.4%","memory":"904MiB","bandwidth":"152.33MB","input_bw":null,"status_2xx":222556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":612426,"avg_latency":"5.83ms","p99_latency":"33.35ms","cpu":"6322.8%","memory":"414MiB","bandwidth":"2.09GB","input_bw":null,"status_2xx":3123536,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":581968,"avg_latency":"7.00ms","p99_latency":"7.00ms","cpu":"6481.0%","memory":"477MiB","bandwidth":"1.99GB","input_bw":null,"status_2xx":2968138,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":782380,"avg_latency":"5.35ms","p99_latency":null,"cpu":"6236.9%","memory":"627MiB","bandwidth":"2.62GB","input_bw":null,"status_2xx":3990867,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":554073,"avg_latency":"7.63ms","p99_latency":"109.65ms","cpu":"6557.0%","memory":"739MiB","bandwidth":"1.92GB","input_bw":null,"status_2xx":2825972,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":336946,"avg_latency":"11.76ms","p99_latency":"11.76ms","cpu":"6177.3%","memory":"3.5GiB","bandwidth":"1.16GB","input_bw":null,"status_2xx":1717216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1500479,"avg_latency":"20.32ms","p99_latency":"1.03s","cpu":"6155.2%","memory":"450MiB","bandwidth":"5.08GB","input_bw":null,"status_2xx":7650901,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1503981,"avg_latency":"19.27ms","p99_latency":"983.47ms","cpu":"6128.1%","memory":"1.4GiB","bandwidth":"5.09GB","input_bw":null,"status_2xx":7670328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":734683,"avg_latency":"5.54ms","p99_latency":"5.54ms","cpu":"6308.3%","memory":"419MiB","bandwidth":"2.48GB","input_bw":null,"status_2xx":3747492,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"upload-32":[{"fw":"actix","lang":"Rust","rps":3100,"avg_latency":"10.28ms","p99_latency":"33.10ms","cpu":"2010.8%","memory":"159MiB","bandwidth":"418.32KB/s","input_bw":"24.59GB/s","status_2xx":15503,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":659,"avg_latency":"48.46ms","p99_latency":"173.80ms","cpu":"2843.8%","memory":"23.5GiB","bandwidth":"104.42KB/s","input_bw":"5.23GB/s","status_2xx":3296,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1298,"avg_latency":"24.78ms","p99_latency":"80.30ms","cpu":"6083.9%","memory":"165MiB","bandwidth":"210.70KB/s","input_bw":"10.30GB/s","status_2xx":6492,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1293,"avg_latency":"24.73ms","p99_latency":"66.10ms","cpu":"5584.2%","memory":"120.8MiB","bandwidth":"191.00KB/s","input_bw":"10.26GB/s","status_2xx":6468,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1958,"avg_latency":"16.30ms","p99_latency":"88.00ms","cpu":"2024.2%","memory":"8.4GiB","bandwidth":"375.19KB/s","input_bw":"15.53GB/s","status_2xx":9792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1318,"avg_latency":"24.39ms","p99_latency":"71.20ms","cpu":"6031.8%","memory":"160MiB","bandwidth":"208.86KB/s","input_bw":"10.45GB/s","status_2xx":6593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":828,"avg_latency":"38.56ms","p99_latency":"70.90ms","cpu":"384.3%","memory":"2.1GiB","bandwidth":"104.50KB/s","input_bw":"6.57GB/s","status_2xx":4140,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":1036,"avg_latency":"30.67ms","p99_latency":"174.00ms","cpu":"2568.3%","memory":"2.9GiB","bandwidth":"124.75KB/s","input_bw":"8.22GB/s","status_2xx":5184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":874,"avg_latency":"35.05ms","p99_latency":"103.50ms","cpu":"3312.9%","memory":"3.9GiB","bandwidth":"136.84KB/s","input_bw":"6.93GB/s","status_2xx":4374,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1608,"avg_latency":"19.87ms","p99_latency":"89.60ms","cpu":"3901.0%","memory":"319MiB","bandwidth":"239.02KB/s","input_bw":"12.75GB/s","status_2xx":8042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1502,"avg_latency":"21.25ms","p99_latency":"128.50ms","cpu":"3839.6%","memory":"2.6GiB","bandwidth":"182.19KB/s","input_bw":null,"status_2xx":7511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":2027,"avg_latency":"15.74ms","p99_latency":"58.30ms","cpu":"3573.0%","memory":"5.9GiB","bandwidth":"416.11KB/s","input_bw":"16.08GB/s","status_2xx":10139,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":2125,"avg_latency":"14.99ms","p99_latency":"65.90ms","cpu":"2532.7%","memory":"4.6GiB","bandwidth":"290.99KB/s","input_bw":"16.86GB/s","status_2xx":10628,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1309,"avg_latency":"24.59ms","p99_latency":"75.60ms","cpu":"6082.4%","memory":"156MiB","bandwidth":"211.29KB/s","input_bw":"10.38GB/s","status_2xx":6549,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":1534,"avg_latency":"20.86ms","p99_latency":"130.50ms","cpu":"1659.9%","memory":"6.5GiB","bandwidth":"169.63KB/s","input_bw":"12.17GB/s","status_2xx":7673,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1853,"avg_latency":"17.25ms","p99_latency":"60.90ms","cpu":"5443.6%","memory":"6.6GiB","bandwidth":"313.44KB/s","input_bw":"14.70GB/s","status_2xx":9267,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1901,"avg_latency":"16.77ms","p99_latency":"158.60ms","cpu":"6431.9%","memory":"2.3GiB","bandwidth":"315.92KB/s","input_bw":"15.08GB/s","status_2xx":9506,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1902,"avg_latency":"16.77ms","p99_latency":"160.10ms","cpu":"1848.1%","memory":"2.1GiB","bandwidth":"316.17KB/s","input_bw":"15.09GB/s","status_2xx":9514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1896,"avg_latency":"16.84ms","p99_latency":"50.20ms","cpu":"4220.6%","memory":"5.6GiB","bandwidth":"246.66KB/s","input_bw":"15.04GB/s","status_2xx":9482,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":1254,"avg_latency":"25.13ms","p99_latency":"68.30ms","cpu":"3388.6%","memory":"3.3GiB","bandwidth":"195.00KB/s","input_bw":"9.95GB/s","status_2xx":6271,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":1239,"avg_latency":"25.74ms","p99_latency":"144.70ms","cpu":"3182.6%","memory":"3.2GiB","bandwidth":"242.36KB/s","input_bw":"9.83GB/s","status_2xx":6199,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":610,"avg_latency":"52.59ms","p99_latency":"155.60ms","cpu":"1977.7%","memory":"3.5GiB","bandwidth":"73.37KB/s","input_bw":"4.84GB/s","status_2xx":3050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2041,"avg_latency":"15.64ms","p99_latency":"91.70ms","cpu":"3071.1%","memory":"6.8GiB","bandwidth":"375.00KB/s","input_bw":"16.19GB/s","status_2xx":10205,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":1436,"avg_latency":"22.21ms","p99_latency":"61.50ms","cpu":"3950.4%","memory":"229MiB","bandwidth":"209.27KB/s","input_bw":"11.39GB/s","status_2xx":7182,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2602,"avg_latency":"12.27ms","p99_latency":"35.70ms","cpu":"2503.5%","memory":"197MiB","bandwidth":"340.97KB/s","input_bw":"20.64GB/s","status_2xx":13010,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2135,"avg_latency":"14.95ms","p99_latency":"77.90ms","cpu":"1982.8%","memory":"751MiB","bandwidth":"275.65KB/s","input_bw":"16.93GB/s","status_2xx":10676,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1325,"avg_latency":"24.22ms","p99_latency":"69.90ms","cpu":"5966.1%","memory":"226MiB","bandwidth":"184.05KB/s","input_bw":"10.51GB/s","status_2xx":6627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1267,"avg_latency":"25.24ms","p99_latency":"68.80ms","cpu":"6045.7%","memory":"158MiB","bandwidth":"173.54KB/s","input_bw":"10.05GB/s","status_2xx":6338,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":2023,"avg_latency":"15.78ms","p99_latency":"72.40ms","cpu":"2914.6%","memory":"21.8GiB","bandwidth":"255.31KB/s","input_bw":"16.05GB/s","status_2xx":10119,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":956,"avg_latency":"33.42ms","p99_latency":"159.20ms","cpu":"2722.2%","memory":"30.8GiB","bandwidth":"152.42KB/s","input_bw":"7.58GB/s","status_2xx":4782,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2029,"avg_latency":"15.75ms","p99_latency":"44.10ms","cpu":"3062.6%","memory":"3.8GiB","bandwidth":"295.60KB/s","input_bw":"16.09GB/s","status_2xx":10145,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2024,"avg_latency":"15.78ms","p99_latency":"44.20ms","cpu":"3089.6%","memory":"5.4GiB","bandwidth":"247.48KB/s","input_bw":"16.05GB/s","status_2xx":10121,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":1815,"avg_latency":"17.60ms","p99_latency":"112.30ms","cpu":"2332.1%","memory":"4.9GiB","bandwidth":"271.40KB/s","input_bw":"14.40GB/s","status_2xx":9075,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1550,"avg_latency":"20.55ms","p99_latency":"128.50ms","cpu":"3505.8%","memory":"2.7GiB","bandwidth":"190.97KB/s","input_bw":"12.29GB/s","status_2xx":7752,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":3000,"avg_latency":"10.60ms","p99_latency":"36.50ms","cpu":"2519.9%","memory":"89.7MiB","bandwidth":"378.90KB/s","input_bw":"23.80GB/s","status_2xx":15034,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":128,"avg_latency":"238.95ms","p99_latency":"1.04s","cpu":"989.2%","memory":"2.3GiB","bandwidth":"20.53KB/s","input_bw":"1.02GB/s","status_2xx":644,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":2420,"avg_latency":"13.17ms","p99_latency":"61.60ms","cpu":"1946.6%","memory":"447MiB","bandwidth":"168.33KB/s","input_bw":"19.19GB/s","status_2xx":12100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":3028,"avg_latency":"10.53ms","p99_latency":"40.40ms","cpu":"1811.1%","memory":"102MiB","bandwidth":"361.30KB/s","input_bw":"24.02GB/s","status_2xx":15142,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":1529,"avg_latency":"20.84ms","p99_latency":"110.60ms","cpu":"3240.4%","memory":"1.4GiB","bandwidth":"128.81KB/s","input_bw":"12.13GB/s","status_2xx":7649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":1637,"avg_latency":"19.48ms","p99_latency":"95.00ms","cpu":"3133.0%","memory":"1.4GiB","bandwidth":"137.90KB/s","input_bw":"12.98GB/s","status_2xx":8189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":920,"avg_latency":"34.65ms","p99_latency":"277.90ms","cpu":"1698.5%","memory":"4.0GiB","bandwidth":"112.54KB/s","input_bw":"7.30GB/s","status_2xx":4602,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":590,"avg_latency":"53.52ms","p99_latency":"339.80ms","cpu":"2167.4%","memory":"694MiB","bandwidth":"54.92KB/s","input_bw":"4.68GB/s","status_2xx":2952,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1404,"avg_latency":"22.76ms","p99_latency":"81.10ms","cpu":"2924.9%","memory":"1.6GiB","bandwidth":"242.95KB/s","input_bw":"11.14GB/s","status_2xx":7022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1112,"avg_latency":"28.75ms","p99_latency":"89.50ms","cpu":"3398.3%","memory":"21.6GiB","bandwidth":"211.93KB/s","input_bw":"8.82GB/s","status_2xx":5560,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":2141,"avg_latency":"14.92ms","p99_latency":"41.40ms","cpu":"2057.8%","memory":"362MiB","bandwidth":"525.15KB/s","input_bw":"16.98GB/s","status_2xx":10706,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1041,"avg_latency":"30.74ms","p99_latency":"93.70ms","cpu":"3428.3%","memory":"7.0GiB","bandwidth":"208.58KB/s","input_bw":"8.26GB/s","status_2xx":5207,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":2766,"avg_latency":"11.54ms","p99_latency":"32.00ms","cpu":"1295.4%","memory":"1.8GiB","bandwidth":"357.04KB/s","input_bw":"21.94GB/s","status_2xx":13831,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1289,"avg_latency":"24.85ms","p99_latency":"85.90ms","cpu":"3980.5%","memory":"6.7GiB","bandwidth":"133.73KB/s","input_bw":"10.22GB/s","status_2xx":6446,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":599,"avg_latency":"53.12ms","p99_latency":"187.80ms","cpu":"1588.6%","memory":"7.6GiB","bandwidth":"96.68KB/s","input_bw":"4.75GB/s","status_2xx":2996,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":923,"avg_latency":"34.53ms","p99_latency":"126.60ms","cpu":"3060.2%","memory":"11.3GiB","bandwidth":"203.91KB/s","input_bw":"7.32GB/s","status_2xx":4616,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":2671,"avg_latency":"11.95ms","p99_latency":"34.10ms","cpu":"2443.5%","memory":"392MiB","bandwidth":"355.26KB/s","input_bw":"21.19GB/s","status_2xx":13359,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2828,"avg_latency":"11.27ms","p99_latency":"31.70ms","cpu":"2011.2%","memory":"354MiB","bandwidth":"403.73KB/s","input_bw":"22.43GB/s","status_2xx":14141,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":438,"avg_latency":"72.08ms","p99_latency":"441.80ms","cpu":"466.5%","memory":"4.8GiB","bandwidth":"52.78KB/s","input_bw":"3.47GB/s","status_2xx":2193,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":949,"avg_latency":"33.62ms","p99_latency":"130.70ms","cpu":"3010.2%","memory":"8.9GiB","bandwidth":"86.44KB/s","input_bw":"7.53GB/s","status_2xx":4747,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2728,"avg_latency":"2.25ms","p99_latency":"9.74ms","cpu":"1964.5%","memory":"1.1GiB","bandwidth":"325.61KB/s","input_bw":"21.64GB/s","status_2xx":13643,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":403,"avg_latency":"79.69ms","p99_latency":"312.20ms","cpu":"2958.5%","memory":"6.9GiB","bandwidth":"85.19KB/s","input_bw":"3.20GB/s","status_2xx":2018,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1878,"avg_latency":"17.14ms","p99_latency":"75.10ms","cpu":"3077.3%","memory":"2.1GiB","bandwidth":"269.91KB/s","input_bw":"14.90GB/s","status_2xx":9390,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":0,"avg_latency":"0us","p99_latency":"0us","cpu":"2384.4%","memory":"468MiB","bandwidth":"0B/s","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":949,"avg_latency":"33.63ms","p99_latency":"133.90ms","cpu":"3134.5%","memory":"8.6GiB","bandwidth":"103.15KB/s","input_bw":"7.53GB/s","status_2xx":4749,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":695,"avg_latency":"46.02ms","p99_latency":"240.20ms","cpu":"2192.6%","memory":"7.7GiB","bandwidth":"93.12KB/s","input_bw":"5.51GB/s","status_2xx":3475,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":1107,"avg_latency":"28.83ms","p99_latency":"83.10ms","cpu":"2869.1%","memory":"1.1GiB","bandwidth":"139.75KB/s","input_bw":"8.78GB/s","status_2xx":5539,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":2674,"avg_latency":"11.93ms","p99_latency":"36.30ms","cpu":"2264.2%","memory":"1.0GiB","bandwidth":"313.93KB/s","input_bw":"21.21GB/s","status_2xx":13373,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2119,"avg_latency":"15.07ms","p99_latency":"82.50ms","cpu":"1930.0%","memory":"2.5GiB","bandwidth":"288.07KB/s","input_bw":"16.81GB/s","status_2xx":10596,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":279,"avg_latency":"112.67ms","p99_latency":"848.30ms","cpu":"2304.1%","memory":"660.3MiB","bandwidth":"43.66KB/s","input_bw":"2.21GB/s","status_2xx":1395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":629,"avg_latency":"50.90ms","p99_latency":"150.70ms","cpu":"1962.1%","memory":"18.6GiB","bandwidth":"105.75KB/s","input_bw":"4.99GB/s","status_2xx":3146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":2107,"avg_latency":"15.16ms","p99_latency":"70.90ms","cpu":"2234.8%","memory":"8.1GiB","bandwidth":"323.52KB/s","input_bw":"16.71GB/s","status_2xx":10538,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2647,"avg_latency":"12.06ms","p99_latency":"36.90ms","cpu":"2016.3%","memory":"109MiB","bandwidth":"393.50KB/s","input_bw":"21.00GB/s","status_2xx":13239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":3009,"avg_latency":"10.60ms","p99_latency":"47.30ms","cpu":"1538.0%","memory":"249MiB","bandwidth":"447.21KB/s","input_bw":"23.87GB/s","status_2xx":15049,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":2583,"avg_latency":"12.36ms","p99_latency":"57.20ms","cpu":"1855.3%","memory":"302MiB","bandwidth":"179.65KB/s","input_bw":"20.49GB/s","status_2xx":12916,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":3152,"avg_latency":"10.10ms","p99_latency":"27.70ms","cpu":"1662.5%","memory":"187MiB","bandwidth":"293.41KB/s","input_bw":"25.00GB/s","status_2xx":15796,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":2033,"avg_latency":"15.71ms","p99_latency":"96.80ms","cpu":"2973.5%","memory":"6.7GiB","bandwidth":"391.39KB/s","input_bw":"16.13GB/s","status_2xx":10165,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":701,"avg_latency":"45.43ms","p99_latency":"126.00ms","cpu":"3272.2%","memory":"1.1GiB","bandwidth":"102.26KB/s","input_bw":"5.56GB/s","status_2xx":3509,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":1668,"avg_latency":"19.11ms","p99_latency":"84.00ms","cpu":"2698.9%","memory":"3.2GiB","bandwidth":"259.42KB/s","input_bw":"13.23GB/s","status_2xx":8344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":2960,"avg_latency":"10.77ms","p99_latency":"35.10ms","cpu":"2046.4%","memory":"134MiB","bandwidth":"324.59KB/s","input_bw":"23.48GB/s","status_2xx":14833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":2673,"avg_latency":"11.93ms","p99_latency":"45.40ms","cpu":"1917.1%","memory":"1.3GiB","bandwidth":"292.93KB/s","input_bw":"21.20GB/s","status_2xx":13369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":16,"avg_latency":"857.75ms","p99_latency":"1.78s","cpu":"1525.2%","memory":"1.6GiB","bandwidth":"1.34KB/s","input_bw":"129.95MB/s","status_2xx":82,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":596,"avg_latency":"53.45ms","p99_latency":"306.60ms","cpu":"2071.9%","memory":"792MiB","bandwidth":"55.47KB/s","input_bw":"4.73GB/s","status_2xx":2982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":8185,"avg_latency":"3.88ms","p99_latency":"10.90ms","cpu":"1065.4%","memory":"124MiB","bandwidth":"569.93KB/s","input_bw":"64.92GB/s","status_2xx":41007,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"upload-256":[{"fw":"actix","lang":"Rust","rps":3062,"avg_latency":"77.31ms","p99_latency":"289.60ms","cpu":"3231.4%","memory":"308MiB","bandwidth":"413.18KB/s","input_bw":"24.29GB/s","status_2xx":15403,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":597,"avg_latency":"379.69ms","p99_latency":"2.37s","cpu":"5571.7%","memory":"31.5GiB","bandwidth":"94.72KB/s","input_bw":"4.74GB/s","status_2xx":2989,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1541,"avg_latency":"161.46ms","p99_latency":"767.40ms","cpu":"6428.0%","memory":"334MiB","bandwidth":"250.23KB/s","input_bw":"12.22GB/s","status_2xx":7708,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":1534,"avg_latency":"162.36ms","p99_latency":"801.90ms","cpu":"6221.6%","memory":"278.2MiB","bandwidth":"226.52KB/s","input_bw":"12.17GB/s","status_2xx":7671,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":1610,"avg_latency":"151.75ms","p99_latency":"924.90ms","cpu":"5289.9%","memory":"8.6GiB","bandwidth":"308.53KB/s","input_bw":"12.77GB/s","status_2xx":8051,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1547,"avg_latency":"161.23ms","p99_latency":"792.20ms","cpu":"6405.0%","memory":"345MiB","bandwidth":"245.08KB/s","input_bw":"12.27GB/s","status_2xx":7737,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":920,"avg_latency":"256.85ms","p99_latency":"1.55s","cpu":"4857.4%","memory":"4.2GiB","bandwidth":"115.38KB/s","input_bw":"7.30GB/s","status_2xx":4600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":646,"avg_latency":"365.94ms","p99_latency":"1.36s","cpu":"6235.8%","memory":"9.1GiB","bandwidth":"77.90KB/s","input_bw":"5.12GB/s","status_2xx":3244,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":933,"avg_latency":"264.64ms","p99_latency":"462.90ms","cpu":"5808.2%","memory":"4.1GiB","bandwidth":"146.07KB/s","input_bw":"7.40GB/s","status_2xx":4666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":2333,"avg_latency":"107.95ms","p99_latency":"546.30ms","cpu":"5745.6%","memory":"508MiB","bandwidth":"346.69KB/s","input_bw":"18.50GB/s","status_2xx":11666,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":1570,"avg_latency":"156.00ms","p99_latency":"1.21s","cpu":"8177.7%","memory":"3.0GiB","bandwidth":"190.72KB/s","input_bw":null,"status_2xx":7866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":2104,"avg_latency":"119.43ms","p99_latency":"636.00ms","cpu":"6252.1%","memory":"6.0GiB","bandwidth":"431.89KB/s","input_bw":"16.69GB/s","status_2xx":10522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":1536,"avg_latency":"161.36ms","p99_latency":"811.10ms","cpu":"6271.6%","memory":"4.8GiB","bandwidth":"210.38KB/s","input_bw":"12.18GB/s","status_2xx":7682,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1529,"avg_latency":"163.31ms","p99_latency":"779.20ms","cpu":"6296.6%","memory":"359MiB","bandwidth":"246.75KB/s","input_bw":"12.13GB/s","status_2xx":7647,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":862,"avg_latency":"154.52ms","p99_latency":"2.56s","cpu":"1059.6%","memory":"7.8GiB","bandwidth":"95.56KB/s","input_bw":"6.84GB/s","status_2xx":4323,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":1902,"avg_latency":"131.23ms","p99_latency":"647.40ms","cpu":"6337.1%","memory":"6.7GiB","bandwidth":"321.84KB/s","input_bw":"15.09GB/s","status_2xx":9514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1608,"avg_latency":"144.80ms","p99_latency":"1.16s","cpu":"6486.7%","memory":"5.0GiB","bandwidth":"267.61KB/s","input_bw":"12.75GB/s","status_2xx":8057,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1473,"avg_latency":"159.95ms","p99_latency":"1.39s","cpu":"4955.4%","memory":"4.4GiB","bandwidth":"244.88KB/s","input_bw":"11.68GB/s","status_2xx":7369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":1993,"avg_latency":"128.54ms","p99_latency":"310.60ms","cpu":"6154.5%","memory":"15.3GiB","bandwidth":"259.15KB/s","input_bw":"15.81GB/s","status_2xx":9967,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":1415,"avg_latency":"179.25ms","p99_latency":"297.30ms","cpu":"6232.8%","memory":"3.3GiB","bandwidth":"220.00KB/s","input_bw":"11.22GB/s","status_2xx":7076,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":1231,"avg_latency":"196.55ms","p99_latency":"874.20ms","cpu":"5811.4%","memory":"7.6GiB","bandwidth":"241.05KB/s","input_bw":"9.76GB/s","status_2xx":6221,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":735,"avg_latency":"156.20ms","p99_latency":"905.40ms","cpu":"2531.8%","memory":"4.1GiB","bandwidth":"82.81KB/s","input_bw":"5.83GB/s","status_2xx":7712,"status_3xx":0,"status_4xx":19,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2137,"avg_latency":"116.17ms","p99_latency":"917.40ms","cpu":"6038.0%","memory":"7.1GiB","bandwidth":"393.24KB/s","input_bw":"16.95GB/s","status_2xx":10711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":1491,"avg_latency":"158.28ms","p99_latency":"1.79s","cpu":"6331.5%","memory":"552MiB","bandwidth":"217.39KB/s","input_bw":"11.83GB/s","status_2xx":7459,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2933,"avg_latency":"80.89ms","p99_latency":"326.20ms","cpu":"3854.2%","memory":"235MiB","bandwidth":"384.33KB/s","input_bw":"23.26GB/s","status_2xx":14758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2230,"avg_latency":"102.65ms","p99_latency":"478.80ms","cpu":"5656.3%","memory":"822MiB","bandwidth":"287.72KB/s","input_bw":"17.69GB/s","status_2xx":11152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1552,"avg_latency":"160.99ms","p99_latency":"756.80ms","cpu":"6406.4%","memory":"390MiB","bandwidth":"215.62KB/s","input_bw":"12.31GB/s","status_2xx":7764,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1534,"avg_latency":"162.21ms","p99_latency":"822.10ms","cpu":"6390.3%","memory":"322MiB","bandwidth":"210.15KB/s","input_bw":"12.17GB/s","status_2xx":7673,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":2155,"avg_latency":"114.26ms","p99_latency":"484.30ms","cpu":"6344.5%","memory":"48.9GiB","bandwidth":"272.11KB/s","input_bw":"17.09GB/s","status_2xx":10866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":768,"avg_latency":"310.95ms","p99_latency":"1.69s","cpu":"6065.2%","memory":"45.2GiB","bandwidth":"122.52KB/s","input_bw":"6.09GB/s","status_2xx":3843,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2292,"avg_latency":"109.71ms","p99_latency":"375.90ms","cpu":"6111.5%","memory":"5.8GiB","bandwidth":"334.39KB/s","input_bw":"18.18GB/s","status_2xx":11485,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2292,"avg_latency":"110.50ms","p99_latency":"386.00ms","cpu":"6142.0%","memory":"5.9GiB","bandwidth":"280.57KB/s","input_bw":"18.18GB/s","status_2xx":11486,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":1720,"avg_latency":"144.55ms","p99_latency":"904.40ms","cpu":"6302.2%","memory":"8.2GiB","bandwidth":"257.35KB/s","input_bw":"13.64GB/s","status_2xx":8602,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":1617,"avg_latency":"151.80ms","p99_latency":"1.15s","cpu":"7987.0%","memory":"3.2GiB","bandwidth":"199.59KB/s","input_bw":"12.83GB/s","status_2xx":8103,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":3156,"avg_latency":"74.74ms","p99_latency":"256.50ms","cpu":"3914.8%","memory":"183.8MiB","bandwidth":"398.42KB/s","input_bw":"25.03GB/s","status_2xx":15908,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":161,"avg_latency":"949.70ms","p99_latency":"4.58s","cpu":"923.6%","memory":"3.9GiB","bandwidth":"25.65KB/s","input_bw":"1.28GB/s","status_2xx":806,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":3179,"avg_latency":"64.39ms","p99_latency":"290.50ms","cpu":"5707.0%","memory":"501MiB","bandwidth":"220.17KB/s","input_bw":"25.22GB/s","status_2xx":15930,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2992,"avg_latency":"77.61ms","p99_latency":"225.50ms","cpu":"3377.7%","memory":"126MiB","bandwidth":"357.31KB/s","input_bw":"23.73GB/s","status_2xx":15052,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":1833,"avg_latency":"134.47ms","p99_latency":"714.00ms","cpu":"4740.0%","memory":"1.5GiB","bandwidth":"154.46KB/s","input_bw":"14.54GB/s","status_2xx":9169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":1861,"avg_latency":"133.49ms","p99_latency":"580.30ms","cpu":"4606.5%","memory":"1.5GiB","bandwidth":"156.82KB/s","input_bw":"14.76GB/s","status_2xx":9306,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":1003,"avg_latency":"227.40ms","p99_latency":"2.02s","cpu":"3350.3%","memory":"6.6GiB","bandwidth":"122.64KB/s","input_bw":"7.96GB/s","status_2xx":5015,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":463,"avg_latency":"484.63ms","p99_latency":"2.14s","cpu":"5995.6%","memory":"2.4GiB","bandwidth":"43.16KB/s","input_bw":"3.67GB/s","status_2xx":2317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1471,"avg_latency":"167.77ms","p99_latency":"1.03s","cpu":"4773.8%","memory":"4.8GiB","bandwidth":"254.57KB/s","input_bw":"11.67GB/s","status_2xx":7358,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1093,"avg_latency":"225.81ms","p99_latency":"980.80ms","cpu":"6492.3%","memory":"29.7GiB","bandwidth":"208.40KB/s","input_bw":"8.67GB/s","status_2xx":5469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":2807,"avg_latency":"85.98ms","p99_latency":"345.70ms","cpu":"5599.6%","memory":"766MiB","bandwidth":"689.51KB/s","input_bw":"22.26GB/s","status_2xx":14095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":869,"avg_latency":"282.75ms","p99_latency":"1.02s","cpu":"10244.2%","memory":"10.7GiB","bandwidth":"174.24KB/s","input_bw":"6.89GB/s","status_2xx":4357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":2541,"avg_latency":"100.27ms","p99_latency":"141.70ms","cpu":"1379.6%","memory":"2.4GiB","bandwidth":"328.05KB/s","input_bw":"20.15GB/s","status_2xx":12707,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1791,"avg_latency":"138.28ms","p99_latency":"742.90ms","cpu":"6567.2%","memory":"10.4GiB","bandwidth":"186.06KB/s","input_bw":"14.21GB/s","status_2xx":8974,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":856,"avg_latency":"281.78ms","p99_latency":"1.09s","cpu":"6339.7%","memory":"10.9GiB","bandwidth":"138.15KB/s","input_bw":"6.79GB/s","status_2xx":4280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":892,"avg_latency":"271.99ms","p99_latency":"1.45s","cpu":"6350.3%","memory":"8.3GiB","bandwidth":"197.04KB/s","input_bw":"7.08GB/s","status_2xx":4460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":2894,"avg_latency":"81.50ms","p99_latency":"324.30ms","cpu":"4590.8%","memory":"384MiB","bandwidth":"385.20KB/s","input_bw":"22.95GB/s","status_2xx":14561,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2923,"avg_latency":"47.58ms","p99_latency":"188.60ms","cpu":"4537.5%","memory":"523MiB","bandwidth":"417.28KB/s","input_bw":"23.18GB/s","status_2xx":14677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":807,"avg_latency":"291.55ms","p99_latency":"1.77s","cpu":"5265.1%","memory":"14.4GiB","bandwidth":"97.16KB/s","input_bw":"6.40GB/s","status_2xx":4038,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":900,"avg_latency":"268.71ms","p99_latency":"1.56s","cpu":"6366.2%","memory":"8.1GiB","bandwidth":"81.97KB/s","input_bw":"7.14GB/s","status_2xx":4501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":2666,"avg_latency":"28.19ms","p99_latency":"116.80ms","cpu":"5446.5%","memory":"1.2GiB","bandwidth":"318.69KB/s","input_bw":"21.15GB/s","status_2xx":13361,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":479,"avg_latency":"487.97ms","p99_latency":"2.34s","cpu":"3713.2%","memory":"9.3GiB","bandwidth":"101.21KB/s","input_bw":"3.80GB/s","status_2xx":2397,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1989,"avg_latency":"126.46ms","p99_latency":"788.10ms","cpu":"5648.0%","memory":"5.8GiB","bandwidth":"285.89KB/s","input_bw":"15.78GB/s","status_2xx":9946,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":0,"avg_latency":"0us","p99_latency":"0us","cpu":"5411.2%","memory":"496MiB","bandwidth":"0B/s","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":921,"avg_latency":"262.84ms","p99_latency":"1.39s","cpu":"6288.4%","memory":"8.3GiB","bandwidth":"100.03KB/s","input_bw":"7.31GB/s","status_2xx":4606,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":824,"avg_latency":"295.37ms","p99_latency":"1.10s","cpu":"3573.0%","memory":"30.6GiB","bandwidth":"110.53KB/s","input_bw":"6.54GB/s","status_2xx":4124,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":1185,"avg_latency":"208.46ms","p99_latency":"1.14s","cpu":"5203.3%","memory":"1.7GiB","bandwidth":"149.53KB/s","input_bw":"9.40GB/s","status_2xx":5926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":2924,"avg_latency":"81.05ms","p99_latency":"336.50ms","cpu":"3737.2%","memory":"1.1GiB","bandwidth":"343.44KB/s","input_bw":"23.19GB/s","status_2xx":14741,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":2204,"avg_latency":"112.56ms","p99_latency":"727.00ms","cpu":"5325.6%","memory":"2.6GiB","bandwidth":"299.66KB/s","input_bw":"17.48GB/s","status_2xx":11020,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":343,"avg_latency":"591.10ms","p99_latency":"3.23s","cpu":"7531.6%","memory":"1.7GiB","bandwidth":"53.73KB/s","input_bw":"2.72GB/s","status_2xx":1717,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":1616,"avg_latency":"72.02ms","p99_latency":"785.00ms","cpu":"1324.5%","memory":"15.1GiB","bandwidth":"193.06KB/s","input_bw":"12.82GB/s","status_2xx":16881,"status_3xx":0,"status_4xx":31,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":2271,"avg_latency":"110.40ms","p99_latency":"621.10ms","cpu":"6489.1%","memory":"13.8GiB","bandwidth":"348.56KB/s","input_bw":"18.01GB/s","status_2xx":11359,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":3053,"avg_latency":"77.77ms","p99_latency":"299.30ms","cpu":"3081.2%","memory":"204MiB","bandwidth":"454.01KB/s","input_bw":"24.22GB/s","status_2xx":15357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":3069,"avg_latency":"77.15ms","p99_latency":"284.10ms","cpu":"2993.0%","memory":"275MiB","bandwidth":"456.67KB/s","input_bw":"24.34GB/s","status_2xx":15469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3022,"avg_latency":"80.13ms","p99_latency":"336.60ms","cpu":"3622.3%","memory":"520MiB","bandwidth":"210.33KB/s","input_bw":"23.97GB/s","status_2xx":15173,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":3053,"avg_latency":"77.28ms","p99_latency":"251.20ms","cpu":"3797.3%","memory":"279MiB","bandwidth":"283.98KB/s","input_bw":"24.22GB/s","status_2xx":15331,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":2143,"avg_latency":"114.72ms","p99_latency":"884.40ms","cpu":"6202.8%","memory":"7.2GiB","bandwidth":"412.56KB/s","input_bw":"17.00GB/s","status_2xx":10716,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":634,"avg_latency":"373.51ms","p99_latency":"1.08s","cpu":"6595.3%","memory":"3.6GiB","bandwidth":"92.58KB/s","input_bw":"5.03GB/s","status_2xx":3179,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":1174,"avg_latency":"208.56ms","p99_latency":"1.04s","cpu":"6289.7%","memory":"3.4GiB","bandwidth":"182.59KB/s","input_bw":"9.31GB/s","status_2xx":5872,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":3009,"avg_latency":"77.93ms","p99_latency":"266.20ms","cpu":"3666.7%","memory":"292MiB","bandwidth":"329.98KB/s","input_bw":"23.87GB/s","status_2xx":15140,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":3043,"avg_latency":"77.86ms","p99_latency":"293.50ms","cpu":"3463.3%","memory":"1.4GiB","bandwidth":"333.47KB/s","input_bw":"24.14GB/s","status_2xx":15277,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":5,"avg_latency":"4.07s","p99_latency":"4.76s","cpu":"1424.8%","memory":"2.3GiB","bandwidth":"415B/s","input_bw":"40.61MB/s","status_2xx":25,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":470,"avg_latency":"475.90ms","p99_latency":"2.13s","cpu":"5819.0%","memory":"2.5GiB","bandwidth":"43.83KB/s","input_bw":"3.73GB/s","status_2xx":2353,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":6661,"avg_latency":"38.12ms","p99_latency":"45.10ms","cpu":"943.2%","memory":"130MiB","bandwidth":"463.46KB/s","input_bw":"52.83GB/s","status_2xx":33441,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-1024":[{"fw":"actix","lang":"Rust","rps":56896,"avg_latency":"21.84ms","p99_latency":"568.85ms","cpu":"6221.9%","memory":"4.7GiB","bandwidth":"0.88GB","input_bw":null,"status_2xx":290176,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":23151,"avg_latency":"46.37ms","p99_latency":"46.37ms","cpu":"6521.7%","memory":"7.5GiB","bandwidth":"413.48MB","input_bw":null,"status_2xx":118056,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":354825,"avg_latency":"3.01ms","p99_latency":"26.00ms","cpu":"5200.5%","memory":"262MiB","bandwidth":"5.48GB","input_bw":null,"status_2xx":1809686,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":621194,"avg_latency":"1.67ms","p99_latency":"1.67ms","cpu":"6227.7%","memory":"924.3MiB","bandwidth":"9.50GB","input_bw":"","status_2xx":3167736,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":332365,"avg_latency":"4.88ms","p99_latency":"129.65ms","cpu":"6159.1%","memory":"1.7GiB","bandwidth":"5.14GB","input_bw":null,"status_2xx":1694947,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":115594,"avg_latency":"9.02ms","p99_latency":"61.19ms","cpu":"6032.9%","memory":"367MiB","bandwidth":"3.10GB","input_bw":null,"status_2xx":586997,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":470717,"avg_latency":"10.90ms","p99_latency":"44.79ms","cpu":"2821.1%","memory":"173MiB","bandwidth":"7.19GB","input_bw":null,"status_2xx":2400612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":194411,"avg_latency":"5.26ms","p99_latency":"39.76ms","cpu":"6353.7%","memory":"1.4GiB","bandwidth":"2.97GB","input_bw":null,"status_2xx":991352,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":81758,"avg_latency":"11.16ms","p99_latency":"11.16ms","cpu":"4116.5%","memory":"2.5GiB","bandwidth":"4.86GB","input_bw":null,"status_2xx":416994,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":433103,"avg_latency":"2.68ms","p99_latency":"91.41ms","cpu":"5648.7%","memory":"502MiB","bandwidth":"6.68GB","input_bw":null,"status_2xx":2208599,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":554634,"avg_latency":"2.18ms","p99_latency":null,"cpu":"5806.4%","memory":"2.2GiB","bandwidth":"32.94GB","input_bw":null,"status_2xx":2828532,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":23513,"avg_latency":"45.58ms","p99_latency":"314.40ms","cpu":"6726.6%","memory":"5.3GiB","bandwidth":"433.53MB","input_bw":null,"status_2xx":119758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":22055,"avg_latency":"45.97ms","p99_latency":"160.67ms","cpu":"6702.8%","memory":"5.3GiB","bandwidth":"397.42MB","input_bw":null,"status_2xx":112102,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":351371,"avg_latency":"3.02ms","p99_latency":"20.84ms","cpu":"5067.6%","memory":"250MiB","bandwidth":"5.43GB","input_bw":null,"status_2xx":1792027,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":872977,"avg_latency":"1.81ms","p99_latency":"105.70ms","cpu":"6472.8%","memory":"243MiB","bandwidth":"51.79GB","input_bw":null,"status_2xx":4452101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":23532,"avg_latency":"46.17ms","p99_latency":"311.27ms","cpu":"6564.1%","memory":"7.2GiB","bandwidth":"434.08MB","input_bw":null,"status_2xx":119641,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":924086,"avg_latency":"1.13ms","p99_latency":"1.13ms","cpu":"6786.1%","memory":"1.2GiB","bandwidth":"14.15GB","input_bw":null,"status_2xx":4712736,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1334655,"avg_latency":"731.39us","p99_latency":"731.39us","cpu":"6464.2%","memory":"417MiB","bandwidth":"20.44GB","input_bw":null,"status_2xx":6807064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":366300,"avg_latency":"5.60ms","p99_latency":null,"cpu":"4001.1%","memory":"7.5GiB","bandwidth":"5.60GB","input_bw":null,"status_2xx":1867901,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":51088,"avg_latency":"18.08ms","p99_latency":"18.08ms","cpu":"4291.0%","memory":"3.2GiB","bandwidth":"3.04GB","input_bw":null,"status_2xx":260504,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":509807,"avg_latency":"2.02ms","p99_latency":null,"cpu":"6484.6%","memory":"3.1GiB","bandwidth":"7.82GB","input_bw":"","status_2xx":2599848,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":120684,"avg_latency":"14.52ms","p99_latency":"14.52ms","cpu":"3627.0%","memory":"563.3MiB","bandwidth":"1.83GB","input_bw":"","status_2xx":615494,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":536370,"avg_latency":"2.01ms","p99_latency":"24.01ms","cpu":"6506.6%","memory":"7.3GiB","bandwidth":"8.23GB","input_bw":null,"status_2xx":2735556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":249259,"avg_latency":"10.33ms","p99_latency":null,"cpu":"5646.9%","memory":"574MiB","bandwidth":"4.46GB","input_bw":null,"status_2xx":1271024,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":898180,"avg_latency":"1.80ms","p99_latency":"50.15ms","cpu":"5784.6%","memory":"242MiB","bandwidth":"13.74GB","input_bw":null,"status_2xx":4580824,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":826851,"avg_latency":"1.43ms","p99_latency":"26.06ms","cpu":"6126.0%","memory":"419MiB","bandwidth":"12.66GB","input_bw":null,"status_2xx":4216808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":527545,"avg_latency":"1.98ms","p99_latency":"19.17ms","cpu":"5703.3%","memory":"355MiB","bandwidth":"8.07GB","input_bw":null,"status_2xx":2689956,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":242975,"avg_latency":"6.13ms","p99_latency":null,"cpu":"5855.8%","memory":"270MiB","bandwidth":"4.35GB","input_bw":null,"status_2xx":1239235,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":653856,"avg_latency":"2.08ms","p99_latency":"2.08ms","cpu":"5648.7%","memory":"99.4MiB","bandwidth":"38.83GB","input_bw":"","status_2xx":3335078,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":856022,"avg_latency":"1.13ms","p99_latency":"1.13ms","cpu":"6491.6%","memory":"101MiB","bandwidth":"50.91GB","input_bw":null,"status_2xx":4366047,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":27717,"avg_latency":"36.98ms","p99_latency":"36.98ms","cpu":"6285.1%","memory":"2.2GiB","bandwidth":"490.64MB","input_bw":"","status_2xx":140935,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":343964,"avg_latency":"8.57ms","p99_latency":null,"cpu":"5833.2%","memory":"5.0GiB","bandwidth":"5.27GB","input_bw":"","status_2xx":1748247,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":216124,"avg_latency":"5.38ms","p99_latency":"57.51ms","cpu":"3515.8%","memory":"362MiB","bandwidth":"12.85GB","input_bw":null,"status_2xx":1102262,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":545190,"avg_latency":"2.19ms","p99_latency":"2.19ms","cpu":"5793.4%","memory":"1.7GiB","bandwidth":"32.35GB","input_bw":"","status_2xx":2780310,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":389096,"avg_latency":"4.43ms","p99_latency":"4.43ms","cpu":"6331.0%","memory":"67.4MiB","bandwidth":"5.95GB","input_bw":"","status_2xx":1984225,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":82965,"avg_latency":"12.20ms","p99_latency":null,"cpu":"886.7%","memory":"1.8GiB","bandwidth":"4.93GB","input_bw":null,"status_2xx":423154,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":921910,"avg_latency":"1.06ms","p99_latency":"7.28ms","cpu":"6532.4%","memory":"327MiB","bandwidth":"14.06GB","input_bw":null,"status_2xx":4702021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1771673,"avg_latency":"493.72us","p99_latency":"4.96ms","cpu":"4033.8%","memory":"111MiB","bandwidth":"27.04GB","input_bw":null,"status_2xx":9035418,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":284595,"avg_latency":"4.06ms","p99_latency":"4.06ms","cpu":"6115.3%","memory":"4.3GiB","bandwidth":"4.34GB","input_bw":null,"status_2xx":1451280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":271389,"avg_latency":"4.95ms","p99_latency":"144.40ms","cpu":"6159.7%","memory":"3.6GiB","bandwidth":"4.14GB","input_bw":null,"status_2xx":1383854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":288784,"avg_latency":"3.56ms","p99_latency":"90.19ms","cpu":"6505.1%","memory":"193MiB","bandwidth":"17.14GB","input_bw":null,"status_2xx":1472875,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":495331,"avg_latency":"2.07ms","p99_latency":"9.30ms","cpu":"6587.3%","memory":"237MiB","bandwidth":"12.02GB","input_bw":null,"status_2xx":2526225,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":342219,"avg_latency":"3.16ms","p99_latency":"42.26ms","cpu":"6619.0%","memory":"3.7GiB","bandwidth":"5.88GB","input_bw":null,"status_2xx":1745286,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":1032152,"avg_latency":"1.47ms","p99_latency":"1.47ms","cpu":"6515.2%","memory":"4.4GiB","bandwidth":"17.66GB","input_bw":"","status_2xx":5263792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":26886,"avg_latency":"38.92ms","p99_latency":"331.03ms","cpu":"1180.2%","memory":"406MiB","bandwidth":"422.92MB","input_bw":null,"status_2xx":136564,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1055305,"avg_latency":"1.47ms","p99_latency":"1.47ms","cpu":"6503.2%","memory":"3.7GiB","bandwidth":"18.06GB","input_bw":"","status_2xx":5381594,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":266139,"avg_latency":"3.92ms","p99_latency":"3.92ms","cpu":"6548.0%","memory":"2.3GiB","bandwidth":"15.80GB","input_bw":null,"status_2xx":1357395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":828338,"avg_latency":"1.24ms","p99_latency":"1.24ms","cpu":"6512.0%","memory":"8.3GiB","bandwidth":"12.62GB","input_bw":"","status_2xx":4224711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":992019,"avg_latency":"1.48ms","p99_latency":"1.48ms","cpu":"6678.0%","memory":"3.5GiB","bandwidth":"17.03GB","input_bw":null,"status_2xx":5033906,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":123740,"avg_latency":"8.42ms","p99_latency":"74.85ms","cpu":"6506.0%","memory":"9.0GiB","bandwidth":"1.90GB","input_bw":null,"status_2xx":631079,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":224733,"avg_latency":"7.07ms","p99_latency":"204.21ms","cpu":"6451.6%","memory":"4.8GiB","bandwidth":"13.34GB","input_bw":null,"status_2xx":1146062,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":16184,"avg_latency":"25.77ms","p99_latency":"25.77ms","cpu":"1091.1%","memory":"172MiB","bandwidth":"283.57MB","input_bw":null,"status_2xx":82420,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":206900,"avg_latency":"5.62ms","p99_latency":"5.62ms","cpu":"6443.9%","memory":"1.3GiB","bandwidth":"12.30GB","input_bw":null,"status_2xx":1055338,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":141669,"avg_latency":"7.61ms","p99_latency":"73.92ms","cpu":"6539.8%","memory":"5.6GiB","bandwidth":"2.17GB","input_bw":null,"status_2xx":722507,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1360501,"avg_latency":"703.64us","p99_latency":"14.79ms","cpu":"6454.6%","memory":"2.4GiB","bandwidth":"20.81GB","input_bw":null,"status_2xx":6938130,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":362212,"avg_latency":"2.93ms","p99_latency":null,"cpu":"5210.7%","memory":"249MiB","bandwidth":"5.59GB","input_bw":null,"status_2xx":1846979,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":71621,"avg_latency":"17.24ms","p99_latency":"166.97ms","cpu":"4767.5%","memory":"928MiB","bandwidth":"1.64GB","input_bw":null,"status_2xx":365204,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":276756,"avg_latency":"3.86ms","p99_latency":"33.12ms","cpu":"5749.8%","memory":"805MiB","bandwidth":"5.30GB","input_bw":null,"status_2xx":1411454,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":23486,"avg_latency":"43.83ms","p99_latency":"43.83ms","cpu":"6528.3%","memory":"6.6GiB","bandwidth":"418.66MB","input_bw":null,"status_2xx":119767,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":42398,"avg_latency":"24.48ms","p99_latency":"163.30ms","cpu":"6156.3%","memory":"491MiB","bandwidth":"777.07MB","input_bw":null,"status_2xx":215386,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":34930,"avg_latency":"28.29ms","p99_latency":null,"cpu":"1161.0%","memory":"707MiB","bandwidth":"548.60MB","input_bw":null,"status_2xx":177630,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":33205,"avg_latency":"32.66ms","p99_latency":"32.66ms","cpu":"7387.3%","memory":"1.1GiB","bandwidth":"699.83MB","input_bw":"","status_2xx":168926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1421524,"avg_latency":"446.67us","p99_latency":null,"cpu":"5636.1%","memory":"1.1GiB","bandwidth":"21.77GB","input_bw":null,"status_2xx":7250022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1124608,"avg_latency":"1.43ms","p99_latency":null,"cpu":"6557.2%","memory":"230.3MiB","bandwidth":"17.23GB","input_bw":"","status_2xx":5734777,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":129756,"avg_latency":"12.48ms","p99_latency":"12.48ms","cpu":"4397.5%","memory":"1.2GiB","bandwidth":"1.71GB","input_bw":null,"status_2xx":659348,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":592848,"avg_latency":"8.84ms","p99_latency":"8.84ms","cpu":"3309.0%","memory":"282MiB","bandwidth":"9.08GB","input_bw":null,"status_2xx":3023368,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":20564,"avg_latency":"46.03ms","p99_latency":"589.10ms","cpu":"2784.4%","memory":"492MiB","bandwidth":"324.96MB","input_bw":null,"status_2xx":104510,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1397,"avg_latency":"677.29ms","p99_latency":"677.29ms","cpu":"6406.8%","memory":"4.0GiB","bandwidth":"21.79MB","input_bw":null,"status_2xx":7122,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":610098,"avg_latency":"8.50ms","p99_latency":null,"cpu":"3161.7%","memory":"175MiB","bandwidth":"9.34GB","input_bw":null,"status_2xx":3111339,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1123368,"avg_latency":"25.78ms","p99_latency":null,"cpu":"6447.9%","memory":"221MiB","bandwidth":"17.14GB","input_bw":null,"status_2xx":5728879,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":413111,"avg_latency":"2.71ms","p99_latency":"35.69ms","cpu":"6474.6%","memory":"8.6GiB","bandwidth":"6.34GB","input_bw":null,"status_2xx":2106905,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":162732,"avg_latency":"6.31ms","p99_latency":"24.09ms","cpu":"6596.2%","memory":"445MiB","bandwidth":"9.67GB","input_bw":null,"status_2xx":829911,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":641456,"avg_latency":"1.59ms","p99_latency":"1.59ms","cpu":"6568.0%","memory":"3.2GiB","bandwidth":"9.82GB","input_bw":null,"status_2xx":3271197,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1795117,"avg_latency":"343.79us","p99_latency":"4.53ms","cpu":"5754.1%","memory":"99MiB","bandwidth":"27.56GB","input_bw":null,"status_2xx":9155547,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1454140,"avg_latency":"417.93us","p99_latency":"3.73ms","cpu":"5460.2%","memory":"1.0GiB","bandwidth":"22.33GB","input_bw":null,"status_2xx":7415960,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":111277,"avg_latency":"12.21ms","p99_latency":"128.77ms","cpu":"1675.5%","memory":"564MiB","bandwidth":"6.60GB","input_bw":null,"status_2xx":567593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":292011,"avg_latency":"3.52ms","p99_latency":"3.52ms","cpu":"6548.4%","memory":"246MiB","bandwidth":"17.34GB","input_bw":null,"status_2xx":1489360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2025521,"avg_latency":"300.92us","p99_latency":"3.21ms","cpu":"5488.4%","memory":"140MiB","bandwidth":"30.86GB","input_bw":null,"status_2xx":10331115,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-4096":[{"fw":"actix","lang":"Rust","rps":41434,"avg_latency":"109.48ms","p99_latency":"1.04s","cpu":"6020.3%","memory":"6.3GiB","bandwidth":"655.13MB","input_bw":null,"status_2xx":212083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":22341,"avg_latency":"163.90ms","p99_latency":"163.90ms","cpu":"6464.6%","memory":"7.3GiB","bandwidth":"402.15MB","input_bw":null,"status_2xx":114050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":349970,"avg_latency":"11.71ms","p99_latency":"449.49ms","cpu":"5889.0%","memory":"482MiB","bandwidth":"5.41GB","input_bw":null,"status_2xx":1785060,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":566785,"avg_latency":"8.47ms","p99_latency":"8.47ms","cpu":"6146.2%","memory":"966.3MiB","bandwidth":"8.67GB","input_bw":"","status_2xx":2890788,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":270051,"avg_latency":"17.56ms","p99_latency":"193.73ms","cpu":"6025.9%","memory":"2.5GiB","bandwidth":"4.17GB","input_bw":null,"status_2xx":1377386,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":114149,"avg_latency":"34.31ms","p99_latency":"494.13ms","cpu":"6173.7%","memory":"821MiB","bandwidth":"3.06GB","input_bw":null,"status_2xx":581993,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":900205,"avg_latency":"9.49ms","p99_latency":"66.03ms","cpu":"6617.6%","memory":"234MiB","bandwidth":"13.76GB","input_bw":null,"status_2xx":4590609,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":186861,"avg_latency":"21.62ms","p99_latency":"69.87ms","cpu":"6251.0%","memory":"1.5GiB","bandwidth":"2.86GB","input_bw":null,"status_2xx":945130,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":69895,"avg_latency":"43.79ms","p99_latency":"43.79ms","cpu":"3559.2%","memory":"2.5GiB","bandwidth":"4.16GB","input_bw":null,"status_2xx":356487,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":420415,"avg_latency":"15.32ms","p99_latency":"564.46ms","cpu":"6111.9%","memory":"1.3GiB","bandwidth":"6.49GB","input_bw":null,"status_2xx":2143746,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":567171,"avg_latency":"7.27ms","p99_latency":null,"cpu":"5885.7%","memory":"2.2GiB","bandwidth":"33.69GB","input_bw":null,"status_2xx":2892540,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":25046,"avg_latency":"154.51ms","p99_latency":"1.99s","cpu":"6621.8%","memory":"16.1GiB","bandwidth":"459.31MB","input_bw":null,"status_2xx":128302,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":20911,"avg_latency":"187.91ms","p99_latency":"472.21ms","cpu":"6765.1%","memory":"6.8GiB","bandwidth":"375.36MB","input_bw":null,"status_2xx":106844,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":360665,"avg_latency":"11.45ms","p99_latency":"456.74ms","cpu":"5947.3%","memory":"484MiB","bandwidth":"5.57GB","input_bw":null,"status_2xx":1839508,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":941099,"avg_latency":"5.01ms","p99_latency":"148.10ms","cpu":"6217.2%","memory":"440MiB","bandwidth":"55.83GB","input_bw":null,"status_2xx":4800784,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":24261,"avg_latency":"143.41ms","p99_latency":"969.39ms","cpu":"6546.4%","memory":"17.9GiB","bandwidth":"445.32MB","input_bw":null,"status_2xx":123745,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":1001163,"avg_latency":"4.09ms","p99_latency":"4.09ms","cpu":"6717.4%","memory":"1.4GiB","bandwidth":"15.33GB","input_bw":null,"status_2xx":5105951,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1309758,"avg_latency":"3.09ms","p99_latency":"3.09ms","cpu":"6254.3%","memory":"857MiB","bandwidth":"20.05GB","input_bw":null,"status_2xx":6678719,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":352737,"avg_latency":"13.19ms","p99_latency":null,"cpu":"3938.0%","memory":"7.7GiB","bandwidth":"5.39GB","input_bw":null,"status_2xx":1798748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":48966,"avg_latency":"59.43ms","p99_latency":"59.43ms","cpu":"4173.6%","memory":"3.2GiB","bandwidth":"2.92GB","input_bw":null,"status_2xx":249487,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":488635,"avg_latency":"8.44ms","p99_latency":null,"cpu":"6440.3%","memory":"3.2GiB","bandwidth":"7.49GB","input_bw":"","status_2xx":2492271,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":172802,"avg_latency":"51.15ms","p99_latency":"51.15ms","cpu":"4465.6%","memory":"920.9MiB","bandwidth":"2.23GB","input_bw":"","status_2xx":881344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":579762,"avg_latency":"7.12ms","p99_latency":"48.26ms","cpu":"6506.1%","memory":"7.4GiB","bandwidth":"8.89GB","input_bw":null,"status_2xx":2956429,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":247996,"avg_latency":"15.88ms","p99_latency":null,"cpu":"5844.5%","memory":"1.3GiB","bandwidth":"4.44GB","input_bw":null,"status_2xx":1264678,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":786889,"avg_latency":"6.20ms","p99_latency":"279.00ms","cpu":"6181.2%","memory":"515MiB","bandwidth":"12.03GB","input_bw":null,"status_2xx":4014095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":823625,"avg_latency":"5.58ms","p99_latency":"66.55ms","cpu":"6015.2%","memory":"584MiB","bandwidth":"12.61GB","input_bw":null,"status_2xx":4201173,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":488415,"avg_latency":"10.46ms","p99_latency":"838.28ms","cpu":"6185.4%","memory":"625MiB","bandwidth":"7.47GB","input_bw":null,"status_2xx":2490778,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":231233,"avg_latency":"19.64ms","p99_latency":null,"cpu":"5918.9%","memory":"497MiB","bandwidth":"4.12GB","input_bw":null,"status_2xx":1179264,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":624024,"avg_latency":"7.24ms","p99_latency":"7.24ms","cpu":"5528.4%","memory":"221.7MiB","bandwidth":"37.06GB","input_bw":"","status_2xx":3181937,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":676117,"avg_latency":"0.92ms","p99_latency":"0.92ms","cpu":"4647.6%","memory":"119MiB","bandwidth":"40.21GB","input_bw":null,"status_2xx":3448270,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":28371,"avg_latency":"139.91ms","p99_latency":"139.91ms","cpu":"6272.1%","memory":"2.0GiB","bandwidth":"502.22MB","input_bw":"","status_2xx":144692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":326387,"avg_latency":"34.84ms","p99_latency":null,"cpu":"5696.8%","memory":"5.8GiB","bandwidth":"5.00GB","input_bw":"","status_2xx":1664695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":128032,"avg_latency":"32.89ms","p99_latency":"334.69ms","cpu":"1353.1%","memory":"728MiB","bandwidth":"7.62GB","input_bw":null,"status_2xx":652960,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":560278,"avg_latency":"7.34ms","p99_latency":"7.34ms","cpu":"5954.8%","memory":"1.8GiB","bandwidth":"33.25GB","input_bw":"","status_2xx":2857582,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":384200,"avg_latency":"41.80ms","p99_latency":"41.80ms","cpu":"6345.0%","memory":"158.9MiB","bandwidth":"5.87GB","input_bw":"","status_2xx":1959498,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":82391,"avg_latency":"45.37ms","p99_latency":null,"cpu":"886.5%","memory":"1.9GiB","bandwidth":"4.91GB","input_bw":null,"status_2xx":420189,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":881545,"avg_latency":"4.60ms","p99_latency":"21.24ms","cpu":"6269.5%","memory":"638MiB","bandwidth":"13.44GB","input_bw":null,"status_2xx":4496064,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":2105862,"avg_latency":"1.26ms","p99_latency":"9.60ms","cpu":"5346.0%","memory":"193MiB","bandwidth":"32.14GB","input_bw":null,"status_2xx":10740186,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":282154,"avg_latency":"14.74ms","p99_latency":"14.74ms","cpu":"5987.3%","memory":"4.4GiB","bandwidth":"4.31GB","input_bw":null,"status_2xx":1439503,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":277642,"avg_latency":"14.98ms","p99_latency":"126.75ms","cpu":"6080.7%","memory":"4.6GiB","bandwidth":"4.24GB","input_bw":null,"status_2xx":1415923,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":287265,"avg_latency":"16.74ms","p99_latency":"641.41ms","cpu":"6548.7%","memory":"233MiB","bandwidth":"17.06GB","input_bw":null,"status_2xx":1465287,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":484937,"avg_latency":"8.87ms","p99_latency":"44.81ms","cpu":"6592.2%","memory":"805MiB","bandwidth":"11.77GB","input_bw":null,"status_2xx":2473268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":372179,"avg_latency":"11.34ms","p99_latency":"149.64ms","cpu":"6564.3%","memory":"7.3GiB","bandwidth":"6.40GB","input_bw":null,"status_2xx":1898107,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":1020527,"avg_latency":"4.05ms","p99_latency":"4.05ms","cpu":"6468.9%","memory":"4.4GiB","bandwidth":"17.47GB","input_bw":"","status_2xx":5204695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":25840,"avg_latency":"180.24ms","p99_latency":"2.00s","cpu":"1210.0%","memory":"574MiB","bandwidth":"407.20MB","input_bw":null,"status_2xx":131787,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1055272,"avg_latency":"3.90ms","p99_latency":"3.90ms","cpu":"6413.5%","memory":"3.7GiB","bandwidth":"18.06GB","input_bw":"","status_2xx":5382111,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":230488,"avg_latency":"19.18ms","p99_latency":"19.18ms","cpu":"6528.3%","memory":"4.8GiB","bandwidth":"13.69GB","input_bw":null,"status_2xx":1175846,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":804331,"avg_latency":"5.48ms","p99_latency":"5.48ms","cpu":"6459.9%","memory":"10.2GiB","bandwidth":"12.25GB","input_bw":"","status_2xx":4102298,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":959138,"avg_latency":"4.17ms","p99_latency":"4.17ms","cpu":"6379.1%","memory":"3.5GiB","bandwidth":"16.46GB","input_bw":null,"status_2xx":4892591,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":123740,"avg_latency":"31.44ms","p99_latency":"245.21ms","cpu":"6472.2%","memory":"9.0GiB","bandwidth":"1.90GB","input_bw":null,"status_2xx":631655,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":238259,"avg_latency":"129.02ms","p99_latency":"1.68s","cpu":"6369.6%","memory":"4.9GiB","bandwidth":"14.14GB","input_bw":null,"status_2xx":1214917,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":22293,"avg_latency":"29.73ms","p99_latency":"29.73ms","cpu":"1454.8%","memory":"188MiB","bandwidth":"392.25MB","input_bw":null,"status_2xx":113710,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":181074,"avg_latency":"23.69ms","p99_latency":"23.69ms","cpu":"6394.6%","memory":"1.8GiB","bandwidth":"10.77GB","input_bw":null,"status_2xx":917867,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":139115,"avg_latency":"28.39ms","p99_latency":"245.00ms","cpu":"6523.0%","memory":"5.8GiB","bandwidth":"2.13GB","input_bw":null,"status_2xx":710937,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1294519,"avg_latency":"3.04ms","p99_latency":"14.38ms","cpu":"6415.6%","memory":"2.5GiB","bandwidth":"19.80GB","input_bw":null,"status_2xx":6601436,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":359664,"avg_latency":"11.23ms","p99_latency":null,"cpu":"5710.9%","memory":"472MiB","bandwidth":"5.55GB","input_bw":null,"status_2xx":1834714,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":72402,"avg_latency":"76.21ms","p99_latency":"1.09s","cpu":"5010.3%","memory":"1.4GiB","bandwidth":"1.65GB","input_bw":null,"status_2xx":369276,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":274175,"avg_latency":"14.92ms","p99_latency":"54.88ms","cpu":"5755.2%","memory":"1.4GiB","bandwidth":"5.25GB","input_bw":null,"status_2xx":1398329,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":23295,"avg_latency":"163.65ms","p99_latency":"163.65ms","cpu":"6419.6%","memory":"7.0GiB","bandwidth":"415.51MB","input_bw":null,"status_2xx":118915,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":41538,"avg_latency":"106.19ms","p99_latency":"769.20ms","cpu":"5986.2%","memory":"788MiB","bandwidth":"761.55MB","input_bw":null,"status_2xx":211862,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":33833,"avg_latency":"107.79ms","p99_latency":null,"cpu":"1120.5%","memory":"1.2GiB","bandwidth":"531.34MB","input_bw":null,"status_2xx":172561,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":32801,"avg_latency":"111.60ms","p99_latency":"111.60ms","cpu":"7049.3%","memory":"1.5GiB","bandwidth":"691.03MB","input_bw":"","status_2xx":168163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1333484,"avg_latency":"1.79ms","p99_latency":null,"cpu":"6184.8%","memory":"1.3GiB","bandwidth":"20.42GB","input_bw":null,"status_2xx":6799015,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1111770,"avg_latency":"3.81ms","p99_latency":null,"cpu":"6413.5%","memory":"267.3MiB","bandwidth":"17.04GB","input_bw":"","status_2xx":5669453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":134054,"avg_latency":"41.64ms","p99_latency":"41.64ms","cpu":"5242.6%","memory":"2.2GiB","bandwidth":"766.81MB","input_bw":null,"status_2xx":683678,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":605765,"avg_latency":"36.34ms","p99_latency":"36.34ms","cpu":"3400.4%","memory":"365MiB","bandwidth":"9.25GB","input_bw":null,"status_2xx":3089335,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":23750,"avg_latency":"122.65ms","p99_latency":"2.00s","cpu":"3809.4%","memory":"453MiB","bandwidth":"375.08MB","input_bw":null,"status_2xx":121147,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1393,"avg_latency":"965.03ms","p99_latency":"965.03ms","cpu":"6372.8%","memory":"3.9GiB","bandwidth":"21.78MB","input_bw":null,"status_2xx":7109,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":624750,"avg_latency":"35.36ms","p99_latency":null,"cpu":"3262.3%","memory":"252MiB","bandwidth":"9.54GB","input_bw":null,"status_2xx":3186165,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1130947,"avg_latency":"68.91ms","p99_latency":null,"cpu":"6226.6%","memory":"335MiB","bandwidth":"17.25GB","input_bw":null,"status_2xx":5767207,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":436252,"avg_latency":"9.59ms","p99_latency":"60.83ms","cpu":"6516.9%","memory":"8.3GiB","bandwidth":"6.69GB","input_bw":null,"status_2xx":2224866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":187129,"avg_latency":"21.95ms","p99_latency":"92.67ms","cpu":"6577.4%","memory":"946MiB","bandwidth":"11.12GB","input_bw":null,"status_2xx":954396,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":612909,"avg_latency":"6.58ms","p99_latency":"6.58ms","cpu":"6305.3%","memory":"3.3GiB","bandwidth":"9.38GB","input_bw":null,"status_2xx":3109065,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1784103,"avg_latency":"1.26ms","p99_latency":"7.29ms","cpu":"5421.0%","memory":"222MiB","bandwidth":"27.40GB","input_bw":null,"status_2xx":9100293,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1360862,"avg_latency":"1.56ms","p99_latency":"7.12ms","cpu":"5529.9%","memory":"1.1GiB","bandwidth":"20.90GB","input_bw":null,"status_2xx":6941109,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":110740,"avg_latency":"38.14ms","p99_latency":"138.07ms","cpu":"1648.2%","memory":"799MiB","bandwidth":"6.57GB","input_bw":null,"status_2xx":564659,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":287254,"avg_latency":"16.02ms","p99_latency":"16.02ms","cpu":"6327.2%","memory":"279MiB","bandwidth":"17.05GB","input_bw":null,"status_2xx":1465028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":2036680,"avg_latency":"1.05ms","p99_latency":"7.16ms","cpu":"5503.2%","memory":"195MiB","bandwidth":"31.03GB","input_bw":null,"status_2xx":10386093,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-6800":[{"fw":"actix","lang":"Rust","rps":45482,"avg_latency":"153.08ms","p99_latency":"1.10s","cpu":"5767.2%","memory":"9.8GiB","bandwidth":"718.53MB","input_bw":null,"status_2xx":232636,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":22164,"avg_latency":"276.35ms","p99_latency":"276.35ms","cpu":"6399.2%","memory":"9.3GiB","bandwidth":"401.67MB","input_bw":null,"status_2xx":113194,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":340804,"avg_latency":"20.80ms","p99_latency":"881.70ms","cpu":"6064.4%","memory":"560MiB","bandwidth":"5.27GB","input_bw":null,"status_2xx":1738312,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":587722,"avg_latency":"12.04ms","p99_latency":"12.04ms","cpu":"6250.8%","memory":"2.3GiB","bandwidth":"8.99GB","input_bw":"","status_2xx":2997518,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":243869,"avg_latency":"29.24ms","p99_latency":"213.29ms","cpu":"5761.7%","memory":"3.3GiB","bandwidth":"3.77GB","input_bw":null,"status_2xx":1243722,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":114304,"avg_latency":"56.93ms","p99_latency":"988.14ms","cpu":"6144.6%","memory":"1.0GiB","bandwidth":"3.06GB","input_bw":null,"status_2xx":583043,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":864930,"avg_latency":"10.68ms","p99_latency":"189.13ms","cpu":"6410.0%","memory":"269MiB","bandwidth":"13.22GB","input_bw":null,"status_2xx":4411149,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":185518,"avg_latency":"36.06ms","p99_latency":"117.08ms","cpu":"6493.3%","memory":"1.6GiB","bandwidth":"2.84GB","input_bw":null,"status_2xx":937131,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":63822,"avg_latency":"52.34ms","p99_latency":"52.34ms","cpu":"3396.8%","memory":"2.5GiB","bandwidth":"3.80GB","input_bw":null,"status_2xx":325573,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":405643,"avg_latency":"32.49ms","p99_latency":"927.80ms","cpu":"6083.0%","memory":"2.0GiB","bandwidth":"6.26GB","input_bw":null,"status_2xx":2069026,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":574100,"avg_latency":"11.78ms","p99_latency":null,"cpu":"5874.9%","memory":"1.3GiB","bandwidth":"34.10GB","input_bw":null,"status_2xx":2928604,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":24991,"avg_latency":"210.86ms","p99_latency":"2.00s","cpu":"6578.2%","memory":"17.9GiB","bandwidth":"456.17MB","input_bw":null,"status_2xx":128168,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":20315,"avg_latency":"311.88ms","p99_latency":"771.69ms","cpu":"6712.9%","memory":"7.9GiB","bandwidth":"363.17MB","input_bw":null,"status_2xx":104961,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":356363,"avg_latency":"19.11ms","p99_latency":"478.83ms","cpu":"6022.2%","memory":"592MiB","bandwidth":"5.51GB","input_bw":null,"status_2xx":1817380,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":945532,"avg_latency":"7.41ms","p99_latency":"117.71ms","cpu":"6250.6%","memory":"532MiB","bandwidth":"56.09GB","input_bw":null,"status_2xx":4823119,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":23295,"avg_latency":"226.74ms","p99_latency":"1.74s","cpu":"6558.7%","memory":"19.2GiB","bandwidth":"425.39MB","input_bw":null,"status_2xx":119369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":978255,"avg_latency":"6.94ms","p99_latency":"6.94ms","cpu":"6695.0%","memory":"1.4GiB","bandwidth":"14.98GB","input_bw":null,"status_2xx":4989460,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":1290910,"avg_latency":"5.77ms","p99_latency":"5.77ms","cpu":"6276.4%","memory":"1.2GiB","bandwidth":"19.77GB","input_bw":null,"status_2xx":6584788,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":352388,"avg_latency":"19.90ms","p99_latency":null,"cpu":"3990.6%","memory":"8.2GiB","bandwidth":"5.39GB","input_bw":null,"status_2xx":1797165,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":45548,"avg_latency":"63.80ms","p99_latency":"63.80ms","cpu":"3784.8%","memory":"3.2GiB","bandwidth":"2.71GB","input_bw":null,"status_2xx":232307,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":476494,"avg_latency":"14.66ms","p99_latency":null,"cpu":"6397.7%","memory":"3.2GiB","bandwidth":"7.31GB","input_bw":"","status_2xx":2430677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":194135,"avg_latency":"66.16ms","p99_latency":"66.16ms","cpu":"5027.5%","memory":"1.1GiB","bandwidth":"2.35GB","input_bw":"","status_2xx":990150,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":558317,"avg_latency":"12.26ms","p99_latency":"83.82ms","cpu":"6511.6%","memory":"8.2GiB","bandwidth":"8.56GB","input_bw":null,"status_2xx":2848118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":230726,"avg_latency":"28.19ms","p99_latency":null,"cpu":"5828.0%","memory":"1.7GiB","bandwidth":"4.13GB","input_bw":null,"status_2xx":1176809,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":819509,"avg_latency":"10.29ms","p99_latency":"434.42ms","cpu":"6189.9%","memory":"881MiB","bandwidth":"12.53GB","input_bw":null,"status_2xx":4179104,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":737522,"avg_latency":"9.56ms","p99_latency":"73.52ms","cpu":"6086.2%","memory":"756MiB","bandwidth":"11.29GB","input_bw":null,"status_2xx":3762077,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":512690,"avg_latency":"13.73ms","p99_latency":"472.31ms","cpu":"6157.7%","memory":"813MiB","bandwidth":"7.84GB","input_bw":null,"status_2xx":2615529,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":226395,"avg_latency":"31.56ms","p99_latency":null,"cpu":"5947.2%","memory":"592MiB","bandwidth":"4.03GB","input_bw":null,"status_2xx":1154649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":622001,"avg_latency":"11.32ms","p99_latency":"11.32ms","cpu":"5732.3%","memory":"337.1MiB","bandwidth":"36.94GB","input_bw":"","status_2xx":3173749,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":425621,"avg_latency":"1.30ms","p99_latency":"1.30ms","cpu":"2384.5%","memory":"121MiB","bandwidth":"25.31GB","input_bw":null,"status_2xx":2171078,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":27378,"avg_latency":"219.57ms","p99_latency":"219.57ms","cpu":"6208.8%","memory":"2.2GiB","bandwidth":"484.49MB","input_bw":"","status_2xx":139637,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":298263,"avg_latency":"60.18ms","p99_latency":null,"cpu":"5476.1%","memory":"6.7GiB","bandwidth":"4.57GB","input_bw":"","status_2xx":1520926,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":96389,"avg_latency":"73.14ms","p99_latency":"1.02s","cpu":"1023.8%","memory":"1021MiB","bandwidth":"5.74GB","input_bw":null,"status_2xx":491612,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":568499,"avg_latency":"11.88ms","p99_latency":"11.88ms","cpu":"6134.6%","memory":"1.8GiB","bandwidth":"33.74GB","input_bw":"","status_2xx":2899919,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":363837,"avg_latency":"40.39ms","p99_latency":"40.39ms","cpu":"6581.6%","memory":"163.9MiB","bandwidth":"5.56GB","input_bw":"","status_2xx":1856340,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":81263,"avg_latency":"74.38ms","p99_latency":null,"cpu":"873.9%","memory":"1.9GiB","bandwidth":"4.84GB","input_bw":null,"status_2xx":414470,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":850362,"avg_latency":"7.96ms","p99_latency":"52.19ms","cpu":"6183.2%","memory":"873MiB","bandwidth":"12.97GB","input_bw":null,"status_2xx":4336758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":1880392,"avg_latency":"2.71ms","p99_latency":"19.25ms","cpu":"4200.7%","memory":"281MiB","bandwidth":"28.70GB","input_bw":null,"status_2xx":9591021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":273800,"avg_latency":"24.78ms","p99_latency":"24.78ms","cpu":"6022.8%","memory":"5.1GiB","bandwidth":"4.18GB","input_bw":null,"status_2xx":1396854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":275803,"avg_latency":"25.03ms","p99_latency":"195.41ms","cpu":"6078.2%","memory":"5.1GiB","bandwidth":"4.21GB","input_bw":null,"status_2xx":1406783,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":281790,"avg_latency":"48.74ms","p99_latency":"1.99s","cpu":"6213.6%","memory":"268MiB","bandwidth":"16.73GB","input_bw":null,"status_2xx":1437224,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":489599,"avg_latency":"15.07ms","p99_latency":"102.36ms","cpu":"6476.6%","memory":"1.3GiB","bandwidth":"11.88GB","input_bw":null,"status_2xx":2497572,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":356167,"avg_latency":"19.52ms","p99_latency":"187.93ms","cpu":"6497.5%","memory":"10.2GiB","bandwidth":"6.12GB","input_bw":null,"status_2xx":1816644,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":1020313,"avg_latency":"6.89ms","p99_latency":"6.89ms","cpu":"6379.1%","memory":"4.4GiB","bandwidth":"17.46GB","input_bw":"","status_2xx":5204463,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":25539,"avg_latency":"211.21ms","p99_latency":"2.00s","cpu":"1206.4%","memory":"615MiB","bandwidth":"403.23MB","input_bw":null,"status_2xx":130245,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":1052371,"avg_latency":"6.55ms","p99_latency":"6.55ms","cpu":"6305.7%","memory":"3.7GiB","bandwidth":"18.01GB","input_bw":"","status_2xx":5366091,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":227337,"avg_latency":"38.69ms","p99_latency":"38.69ms","cpu":"6633.5%","memory":"6.2GiB","bandwidth":"13.50GB","input_bw":null,"status_2xx":1159350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":776101,"avg_latency":"8.76ms","p99_latency":"8.76ms","cpu":"6346.1%","memory":"10.3GiB","bandwidth":"11.82GB","input_bw":"","status_2xx":3958435,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":928646,"avg_latency":"6.96ms","p99_latency":"6.96ms","cpu":"6356.4%","memory":"3.6GiB","bandwidth":"15.94GB","input_bw":null,"status_2xx":4737369,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rails","lang":"Ruby","rps":119221,"avg_latency":"54.41ms","p99_latency":"584.59ms","cpu":"6499.9%","memory":"9.2GiB","bandwidth":"1.83GB","input_bw":null,"status_2xx":608405,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":220929,"avg_latency":"146.88ms","p99_latency":"2.00s","cpu":"6528.4%","memory":"4.9GiB","bandwidth":"13.11GB","input_bw":null,"status_2xx":1126818,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":16257,"avg_latency":"33.10ms","p99_latency":"33.10ms","cpu":"1118.0%","memory":"168MiB","bandwidth":"286.60MB","input_bw":null,"status_2xx":82917,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"robyn","lang":"Python","rps":178754,"avg_latency":"39.60ms","p99_latency":"39.60ms","cpu":"6295.8%","memory":"2.1GiB","bandwidth":"10.63GB","input_bw":null,"status_2xx":914048,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":138957,"avg_latency":"47.00ms","p99_latency":"551.80ms","cpu":"6547.6%","memory":"5.9GiB","bandwidth":"2.13GB","input_bw":null,"status_2xx":708723,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1216867,"avg_latency":"5.42ms","p99_latency":"49.48ms","cpu":"6294.9%","memory":"2.6GiB","bandwidth":"18.62GB","input_bw":null,"status_2xx":6209012,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":351745,"avg_latency":"19.03ms","p99_latency":null,"cpu":"5980.5%","memory":"619MiB","bandwidth":"5.43GB","input_bw":null,"status_2xx":1793887,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":73459,"avg_latency":"145.77ms","p99_latency":"2.00s","cpu":"5083.2%","memory":"1.6GiB","bandwidth":"1.68GB","input_bw":null,"status_2xx":374731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":270496,"avg_latency":"24.99ms","p99_latency":"69.84ms","cpu":"5935.5%","memory":"1.8GiB","bandwidth":"5.18GB","input_bw":null,"status_2xx":1379684,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":23215,"avg_latency":"255.93ms","p99_latency":"255.93ms","cpu":"6388.4%","memory":"7.1GiB","bandwidth":"413.75MB","input_bw":null,"status_2xx":118479,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":41420,"avg_latency":"158.12ms","p99_latency":"898.24ms","cpu":"6055.4%","memory":"1.0GiB","bandwidth":"759.27MB","input_bw":null,"status_2xx":211279,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":32538,"avg_latency":"169.07ms","p99_latency":null,"cpu":"1096.2%","memory":"1.2GiB","bandwidth":"510.31MB","input_bw":null,"status_2xx":165963,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":32678,"avg_latency":"156.16ms","p99_latency":"156.16ms","cpu":"6936.3%","memory":"1.4GiB","bandwidth":"688.56MB","input_bw":"","status_2xx":166992,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1196817,"avg_latency":"4.95ms","p99_latency":null,"cpu":"6388.0%","memory":"1.4GiB","bandwidth":"18.33GB","input_bw":null,"status_2xx":6104368,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1112711,"avg_latency":"6.16ms","p99_latency":null,"cpu":"6350.8%","memory":"303.2MiB","bandwidth":"17.05GB","input_bw":"","status_2xx":5674997,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":133200,"avg_latency":"50.98ms","p99_latency":"50.98ms","cpu":"4762.8%","memory":"3.0GiB","bandwidth":"1.95GB","input_bw":null,"status_2xx":679379,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-tas","lang":"PHP","rps":592858,"avg_latency":"62.38ms","p99_latency":"62.38ms","cpu":"3232.5%","memory":"429MiB","bandwidth":"9.02GB","input_bw":null,"status_2xx":3023543,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":19884,"avg_latency":"135.99ms","p99_latency":"2.00s","cpu":"1855.6%","memory":"637MiB","bandwidth":"314.02MB","input_bw":null,"status_2xx":101416,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1394,"avg_latency":"978.70ms","p99_latency":"978.70ms","cpu":"6288.9%","memory":"4.0GiB","bandwidth":"21.64MB","input_bw":null,"status_2xx":7115,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":610348,"avg_latency":"59.62ms","p99_latency":null,"cpu":"3199.6%","memory":"306MiB","bandwidth":"9.29GB","input_bw":null,"status_2xx":3113445,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":1123290,"avg_latency":"31.44ms","p99_latency":null,"cpu":"6319.4%","memory":"647MiB","bandwidth":"17.14GB","input_bw":null,"status_2xx":5728593,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":425555,"avg_latency":"16.10ms","p99_latency":"72.40ms","cpu":"6486.5%","memory":"8.4GiB","bandwidth":"6.53GB","input_bw":null,"status_2xx":2170505,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":195167,"avg_latency":"35.31ms","p99_latency":"194.66ms","cpu":"6558.7%","memory":"1.3GiB","bandwidth":"11.59GB","input_bw":null,"status_2xx":995496,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":570140,"avg_latency":"11.68ms","p99_latency":"11.68ms","cpu":"6253.2%","memory":"3.4GiB","bandwidth":"8.72GB","input_bw":null,"status_2xx":2904702,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":1743717,"avg_latency":"2.15ms","p99_latency":"61.21ms","cpu":"5209.6%","memory":"312MiB","bandwidth":"26.78GB","input_bw":null,"status_2xx":8879014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":1237066,"avg_latency":"2.84ms","p99_latency":"26.19ms","cpu":"5670.7%","memory":"1.3GiB","bandwidth":"19.00GB","input_bw":null,"status_2xx":6309610,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":109583,"avg_latency":"61.33ms","p99_latency":"196.62ms","cpu":"1659.1%","memory":"958MiB","bandwidth":"6.50GB","input_bw":null,"status_2xx":558891,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":285448,"avg_latency":"46.60ms","p99_latency":"46.60ms","cpu":"6220.7%","memory":"301MiB","bandwidth":"16.95GB","input_bw":null,"status_2xx":1456341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":1986456,"avg_latency":"1.75ms","p99_latency":"5.18ms","cpu":"5269.1%","memory":"241MiB","bandwidth":"30.26GB","input_bw":null,"status_2xx":10111205,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"async-db-1024":[{"fw":"actix","lang":"Rust","rps":149386,"avg_latency":"6.48ms","p99_latency":"11.00ms","cpu":"4015.0%","memory":"125MiB","bandwidth":"571.83MB/s","input_bw":"9.97MB/s","status_2xx":1493863,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":108570,"avg_latency":"9.02ms","p99_latency":"14.60ms","cpu":"4714.4%","memory":"6.1GiB","bandwidth":"418.37MB/s","input_bw":"7.25MB/s","status_2xx":1085702,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":163310,"avg_latency":"5.66ms","p99_latency":"18.60ms","cpu":"3625.6%","memory":"414MiB","bandwidth":"632.51MB/s","input_bw":"10.90MB/s","status_2xx":1633105,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":225491,"avg_latency":"4.01ms","p99_latency":"10.80ms","cpu":"3723.7%","memory":"891.6MiB","bandwidth":"874.22MB/s","input_bw":"15.05MB/s","status_2xx":2254915,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":291828,"avg_latency":"2.84ms","p99_latency":"14.70ms","cpu":"4825.3%","memory":"1.6GiB","bandwidth":"1.11GB/s","input_bw":"19.48MB/s","status_2xx":2918289,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":154237,"avg_latency":"6.01ms","p99_latency":"21.20ms","cpu":"4039.1%","memory":"419MiB","bandwidth":"596.91MB/s","input_bw":"10.30MB/s","status_2xx":1542370,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bjoern","lang":"Python","rps":61401,"avg_latency":"16.23ms","p99_latency":"56.90ms","cpu":"4296.4%","memory":"438MiB","bandwidth":"236.95MB/s","input_bw":"4.10MB/s","status_2xx":614018,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bottle","lang":"Python","rps":54308,"avg_latency":"18.74ms","p99_latency":"20.10ms","cpu":"5090.0%","memory":"2.6GiB","bandwidth":"234.67MB/s","input_bw":"3.63MB/s","status_2xx":543084,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":166636,"avg_latency":"5.61ms","p99_latency":"13.70ms","cpu":"3534.5%","memory":"542MiB","bandwidth":"654.18MB/s","input_bw":"11.12MB/s","status_2xx":1666362,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"elysia","lang":"TS","rps":234748,"avg_latency":"3.80ms","p99_latency":"20.40ms","cpu":"5000.3%","memory":"4.8GiB","bandwidth":"902.60MB/s","input_bw":null,"status_2xx":2347481,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"express","lang":"JS","rps":169687,"avg_latency":"5.48ms","p99_latency":"83.20ms","cpu":"6203.3%","memory":"7.3GiB","bandwidth":"663.88MB/s","input_bw":"11.33MB/s","status_2xx":1696875,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastapi","lang":"Python","rps":76351,"avg_latency":"12.08ms","p99_latency":"267.60ms","cpu":"6248.4%","memory":"4.8GiB","bandwidth":"287.35MB/s","input_bw":"5.10MB/s","status_2xx":763515,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":164289,"avg_latency":"5.55ms","p99_latency":"19.40ms","cpu":"3668.9%","memory":"399MiB","bandwidth":"636.15MB/s","input_bw":"10.97MB/s","status_2xx":1642894,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":6428,"avg_latency":"157.61ms","p99_latency":"562.60ms","cpu":"5571.6%","memory":"3.3GiB","bandwidth":"25.24MB/s","input_bw":"439.41KB/s","status_2xx":64284,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastify","lang":"JS","rps":179169,"avg_latency":"5.07ms","p99_latency":"16.10ms","cpu":"6489.5%","memory":"4.6GiB","bandwidth":"697.41MB/s","input_bw":"11.96MB/s","status_2xx":1791697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-asgi","lang":"Python","rps":146479,"avg_latency":"6.51ms","p99_latency":"59.60ms","cpu":"6728.8%","memory":"1.7GiB","bandwidth":"565.24MB/s","input_bw":"9.78MB/s","status_2xx":1464792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastpysgi-wsgi","lang":"Python","rps":70380,"avg_latency":"14.08ms","p99_latency":"82.70ms","cpu":"4360.0%","memory":"886MiB","bandwidth":"271.66MB/s","input_bw":"4.70MB/s","status_2xx":703800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":211839,"avg_latency":"4.30ms","p99_latency":"7.40ms","cpu":"4568.6%","memory":"5.8GiB","bandwidth":"817.21MB/s","input_bw":"14.14MB/s","status_2xx":2118391,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"flask","lang":"Python","rps":42384,"avg_latency":"23.88ms","p99_latency":"25.70ms","cpu":"5346.6%","memory":"3.3GiB","bandwidth":"163.19MB/s","input_bw":"2.83MB/s","status_2xx":423842,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fletch","lang":"Dart","rps":52972,"avg_latency":"19.31ms","p99_latency":"72.80ms","cpu":"5263.2%","memory":"3.4GiB","bandwidth":"204.92MB/s","input_bw":"3.54MB/s","status_2xx":529728,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":5424,"avg_latency":"182.67ms","p99_latency":"1.32s","cpu":"195.0%","memory":"554.5MiB","bandwidth":"2.74MB/s","input_bw":"370.78KB/s","status_2xx":54240,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":226950,"avg_latency":"3.92ms","p99_latency":"39.90ms","cpu":"5663.1%","memory":"6.9GiB","bandwidth":"883.42MB/s","input_bw":"15.15MB/s","status_2xx":2269507,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":178646,"avg_latency":"5.22ms","p99_latency":"13.80ms","cpu":"3416.0%","memory":"504MiB","bandwidth":"689.50MB/s","input_bw":"11.93MB/s","status_2xx":1786465,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":195162,"avg_latency":"4.70ms","p99_latency":"11.60ms","cpu":"3195.6%","memory":"421MiB","bandwidth":"753.75MB/s","input_bw":"13.03MB/s","status_2xx":1951625,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":274825,"avg_latency":"3.14ms","p99_latency":"9.88ms","cpu":"3408.5%","memory":"519MiB","bandwidth":"1.04GB/s","input_bw":"18.35MB/s","status_2xx":2748257,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":172517,"avg_latency":"5.29ms","p99_latency":"18.20ms","cpu":"3715.3%","memory":"484MiB","bandwidth":"667.14MB/s","input_bw":"11.52MB/s","status_2xx":1725178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":165159,"avg_latency":"5.65ms","p99_latency":"18.70ms","cpu":"3705.7%","memory":"411MiB","bandwidth":"635.74MB/s","input_bw":"11.03MB/s","status_2xx":1651591,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-fasthttp","lang":"Go","rps":64854,"avg_latency":"15.68ms","p99_latency":"33.70ms","cpu":"3877.1%","memory":"201.4MiB","bandwidth":"248.59MB/s","input_bw":"4.33MB/s","status_2xx":648549,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":70717,"avg_latency":"13.52ms","p99_latency":"42.10ms","cpu":"2052.4%","memory":"2.2GiB","bandwidth":"274.42MB/s","input_bw":"4.72MB/s","status_2xx":707171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":68541,"avg_latency":"14.19ms","p99_latency":"42.10ms","cpu":"1860.1%","memory":"2.2GiB","bandwidth":"264.67MB/s","input_bw":"4.58MB/s","status_2xx":685418,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hono-bun","lang":"TS","rps":168112,"avg_latency":"5.63ms","p99_latency":"35.90ms","cpu":"5340.4%","memory":"4.6GiB","bandwidth":"644.41MB/s","input_bw":"11.22MB/s","status_2xx":1681125,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"humming-bird","lang":"Swift","rps":17135,"avg_latency":"55.38ms","p99_latency":"68.90ms","cpu":"6878.5%","memory":"91.8MiB","bandwidth":"65.71MB/s","input_bw":"1.14MB/s","status_2xx":171352,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":63281,"avg_latency":"15.62ms","p99_latency":"34.90ms","cpu":"6369.7%","memory":"2.0GiB","bandwidth":"244.89MB/s","input_bw":"4.22MB/s","status_2xx":632810,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":353991,"avg_latency":"2.33ms","p99_latency":"17.00ms","cpu":"2971.4%","memory":"423MiB","bandwidth":"1.32GB/s","input_bw":"23.63MB/s","status_2xx":3539918,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"iris","lang":"C++","rps":363257,"avg_latency":"2.21ms","p99_latency":"10.50ms","cpu":"3032.0%","memory":"183MiB","bandwidth":"1.37GB/s","input_bw":"24.25MB/s","status_2xx":3632577,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":103951,"avg_latency":"9.45ms","p99_latency":"13.60ms","cpu":"4993.8%","memory":"9.6GiB","bandwidth":"392.92MB/s","input_bw":"6.94MB/s","status_2xx":1039514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":113590,"avg_latency":"8.61ms","p99_latency":"11.20ms","cpu":"5318.7%","memory":"12.2GiB","bandwidth":"429.45MB/s","input_bw":"7.58MB/s","status_2xx":1135907,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mark","lang":"PHP","rps":187687,"avg_latency":"4.95ms","p99_latency":"24.00ms","cpu":"2956.1%","memory":"138MiB","bandwidth":"713.83MB/s","input_bw":"12.53MB/s","status_2xx":1876876,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":114746,"avg_latency":"8.36ms","p99_latency":"11.20ms","cpu":"4705.5%","memory":"132MiB","bandwidth":"445.64MB/s","input_bw":"7.66MB/s","status_2xx":1147461,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":77506,"avg_latency":"12.73ms","p99_latency":"59.80ms","cpu":"5400.8%","memory":"5.2GiB","bandwidth":"301.15MB/s","input_bw":"5.17MB/s","status_2xx":775069,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":233429,"avg_latency":"3.83ms","p99_latency":"16.80ms","cpu":"3711.2%","memory":"4.4GiB","bandwidth":"899.56MB/s","input_bw":"15.58MB/s","status_2xx":2334297,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":9627,"avg_latency":"106.08ms","p99_latency":"129.30ms","cpu":"1042.8%","memory":"534MiB","bandwidth":"35.77MB/s","input_bw":"658.10KB/s","status_2xx":96274,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":95580,"avg_latency":"10.33ms","p99_latency":"18.30ms","cpu":"4460.8%","memory":"3.9GiB","bandwidth":"393.05MB/s","input_bw":"6.38MB/s","status_2xx":955807,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":23302,"avg_latency":"43.74ms","p99_latency":"131.70ms","cpu":"761.9%","memory":"894MiB","bandwidth":"100.62MB/s","input_bw":"1.56MB/s","status_2xx":233022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":128893,"avg_latency":"7.50ms","p99_latency":"45.80ms","cpu":"3518.7%","memory":"8.5GiB","bandwidth":"489.77MB/s","input_bw":"8.60MB/s","status_2xx":1288933,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":92893,"avg_latency":"9.81ms","p99_latency":"84.70ms","cpu":"6398.9%","memory":"14.2GiB","bandwidth":"380.66MB/s","input_bw":"6.20MB/s","status_2xx":928931,"status_3xx":0,"status_4xx":0,"status_5xx":188},{"fw":"rails","lang":"Ruby","rps":72434,"avg_latency":"13.57ms","p99_latency":"28.90ms","cpu":"6399.4%","memory":"3.4GiB","bandwidth":"300.98MB/s","input_bw":"4.84MB/s","status_2xx":724348,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":111475,"avg_latency":"8.86ms","p99_latency":"14.00ms","cpu":"5168.6%","memory":"5.7GiB","bandwidth":"428.02MB/s","input_bw":"7.44MB/s","status_2xx":1114752,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":84434,"avg_latency":"2.17ms","p99_latency":"23.10ms","cpu":"5223.1%","memory":"646MiB","bandwidth":"323.86MB/s","input_bw":"5.64MB/s","status_2xx":844348,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roda","lang":"Ruby","rps":84584,"avg_latency":"11.18ms","p99_latency":"273.60ms","cpu":"5696.2%","memory":"2.4GiB","bandwidth":"342.10MB/s","input_bw":"5.65MB/s","status_2xx":845842,"status_3xx":0,"status_4xx":0,"status_5xx":13927},{"fw":"sark","lang":"Rust","rps":346276,"avg_latency":"2.39ms","p99_latency":"26.20ms","cpu":"3522.6%","memory":"1.4GiB","bandwidth":"1.31GB/s","input_bw":"23.12MB/s","status_2xx":3462769,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"servicestack","lang":"C#","rps":18793,"avg_latency":"54.46ms","p99_latency":"130.00ms","cpu":"721.5%","memory":"379MiB","bandwidth":"73.75MB/s","input_bw":"1.25MB/s","status_2xx":187932,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":175497,"avg_latency":"5.36ms","p99_latency":"13.00ms","cpu":"3247.0%","memory":"340MiB","bandwidth":"676.24MB/s","input_bw":"11.72MB/s","status_2xx":1754974,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":125801,"avg_latency":"7.81ms","p99_latency":"31.80ms","cpu":"4876.8%","memory":"726MiB","bandwidth":"484.72MB/s","input_bw":"8.40MB/s","status_2xx":1258013,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":100503,"avg_latency":"9.52ms","p99_latency":"20.40ms","cpu":"6305.6%","memory":"2.8GiB","bandwidth":"407.83MB/s","input_bw":"6.71MB/s","status_2xx":1005033,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sisk","lang":"C#","rps":6452,"avg_latency":"82.78ms","p99_latency":"2.57s","cpu":"388.5%","memory":"227MiB","bandwidth":"24.84MB/s","input_bw":"441.05KB/s","status_2xx":64526,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"slimeweb","lang":"Python","rps":4868,"avg_latency":"199.81ms","p99_latency":"493.20ms","cpu":"205.0%","memory":"312MiB","bandwidth":"18.68MB/s","input_bw":"332.77KB/s","status_2xx":48686,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":18569,"avg_latency":"51.18ms","p99_latency":"80.40ms","cpu":"991.7%","memory":"1.7GiB","bandwidth":"71.04MB/s","input_bw":"1.24MB/s","status_2xx":185697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":370745,"avg_latency":"2.08ms","p99_latency":"15.90ms","cpu":"3795.8%","memory":"1.1GiB","bandwidth":"1.39GB/s","input_bw":"24.75MB/s","status_2xx":3707459,"status_3xx":0,"status_4xx":0,"status_5xx":48726},{"fw":"swoole","lang":"PHP","rps":243187,"avg_latency":"3.66ms","p99_latency":"17.70ms","cpu":"4269.3%","memory":"270.9MiB","bandwidth":"940.11MB/s","input_bw":"16.23MB/s","status_2xx":2431871,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":6152,"avg_latency":"158.98ms","p99_latency":"1.39s","cpu":"243.8%","memory":"737MiB","bandwidth":"5.94MB/s","input_bw":"420.55KB/s","status_2xx":61526,"status_3xx":0,"status_4xx":0,"status_5xx":43},{"fw":"symfony-spawn-tas","lang":"PHP","rps":3222,"avg_latency":"298.00ms","p99_latency":"1.51s","cpu":"166.6%","memory":"465MiB","bandwidth":"5.45MB/s","input_bw":"220.25KB/s","status_2xx":32225,"status_3xx":0,"status_4xx":0,"status_5xx":596},{"fw":"trillium","lang":"Rust","rps":215245,"avg_latency":"3.66ms","p99_latency":"5.76ms","cpu":"3190.0%","memory":"269MiB","bandwidth":"830.23MB/s","input_bw":"14.37MB/s","status_2xx":2152458,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":285322,"avg_latency":"3.13ms","p99_latency":"28.00ms","cpu":"3624.5%","memory":"292MiB","bandwidth":"1.07GB/s","input_bw":"19.05MB/s","status_2xx":2853227,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":249894,"avg_latency":"3.56ms","p99_latency":"12.50ms","cpu":"4917.3%","memory":"248MiB","bandwidth":"943.85MB/s","input_bw":"16.68MB/s","status_2xx":2498944,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ultimate-express","lang":"JS","rps":187813,"avg_latency":"4.93ms","p99_latency":"35.50ms","cpu":"5573.3%","memory":"7.9GiB","bandwidth":"732.69MB/s","input_bw":"12.54MB/s","status_2xx":1878131,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"userver","lang":"C++","rps":241632,"avg_latency":"3.60ms","p99_latency":"10.90ms","cpu":"5700.2%","memory":"308MiB","bandwidth":"931.57MB/s","input_bw":"16.13MB/s","status_2xx":2416328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"uvicorn","lang":"Python","rps":64851,"avg_latency":"14.95ms","p99_latency":"364.40ms","cpu":"2669.3%","memory":"3.4GiB","bandwidth":"244.59MB/s","input_bw":null,"status_2xx":648517,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":271730,"avg_latency":"863us","p99_latency":"7.73ms","cpu":"2935.3%","memory":"154MiB","bandwidth":"1.02GB/s","input_bw":"18.14MB/s","status_2xx":2717305,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":281205,"avg_latency":"855us","p99_latency":"6.67ms","cpu":"3278.9%","memory":"1.2GiB","bandwidth":"1.06GB/s","input_bw":"18.77MB/s","status_2xx":2812056,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":4944,"avg_latency":"202.53ms","p99_latency":"600.10ms","cpu":"1410.8%","memory":"3.1GiB","bandwidth":"18.75MB/s","input_bw":"337.97KB/s","status_2xx":49446,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman","lang":"PHP","rps":200350,"avg_latency":"4.59ms","p99_latency":"24.00ms","cpu":"2694.3%","memory":"203MiB","bandwidth":"761.84MB/s","input_bw":null,"status_2xx":2003506,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"crud-4096":[{"fw":"actix","lang":"Rust","rps":375919,"avg_latency":"10.20ms","p99_latency":"71.30ms","cpu":"2440.1%","memory":"251MiB","bandwidth":"155.29MB/s","input_bw":"32.27MB/s","status_2xx":5638792,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aleph","lang":"Clojure","rps":176418,"avg_latency":"22.10ms","p99_latency":"41.80ms","cpu":"4037.6%","memory":"13.7GiB","bandwidth":"64.63MB/s","input_bw":"15.14MB/s","status_2xx":2646282,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":393113,"avg_latency":"9.40ms","p99_latency":"25.90ms","cpu":"5585.1%","memory":"436MiB","bandwidth":"137.77MB/s","input_bw":"33.74MB/s","status_2xx":5896702,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":555136,"avg_latency":"7.11ms","p99_latency":"36.00ms","cpu":"4442.9%","memory":"2.0GiB","bandwidth":"234.60MB/s","input_bw":"47.65MB/s","status_2xx":8327042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":329284,"avg_latency":"11.63ms","p99_latency":"31.10ms","cpu":"5662.7%","memory":"446MiB","bandwidth":"113.70MB/s","input_bw":"28.26MB/s","status_2xx":4939262,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":366701,"avg_latency":"10.19ms","p99_latency":"26.60ms","cpu":"5364.0%","memory":"422MiB","bandwidth":"132.86MB/s","input_bw":"31.47MB/s","status_2xx":5500522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":0,"avg_latency":"0us","p99_latency":"0us","cpu":"0.0%","memory":"0MiB","bandwidth":"4B/s","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fishcake","lang":"Kotlin","rps":450035,"avg_latency":"8.63ms","p99_latency":"104.10ms","cpu":"3709.0%","memory":"5.0GiB","bandwidth":"175.87MB/s","input_bw":"38.63MB/s","status_2xx":6750528,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":352481,"avg_latency":"11.56ms","p99_latency":"21.20ms","cpu":"4502.0%","memory":"8.1GiB","bandwidth":"138.64MB/s","input_bw":"30.25MB/s","status_2xx":5287216,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":464774,"avg_latency":"8.30ms","p99_latency":"29.20ms","cpu":"4534.4%","memory":"1.0GiB","bandwidth":"176.86MB/s","input_bw":"39.89MB/s","status_2xx":6971622,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":517107,"avg_latency":"7.57ms","p99_latency":"26.40ms","cpu":"4076.3%","memory":"797MiB","bandwidth":"198.54MB/s","input_bw":"44.38MB/s","status_2xx":7756608,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":648422,"avg_latency":"5.97ms","p99_latency":"29.80ms","cpu":"4055.6%","memory":"785MiB","bandwidth":"246.92MB/s","input_bw":"55.65MB/s","status_2xx":9726339,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":474363,"avg_latency":"7.99ms","p99_latency":"28.30ms","cpu":"4502.0%","memory":"743MiB","bandwidth":"183.91MB/s","input_bw":"40.71MB/s","status_2xx":7115459,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":452652,"avg_latency":"8.16ms","p99_latency":"29.00ms","cpu":"4735.0%","memory":"617MiB","bandwidth":"168.10MB/s","input_bw":"38.85MB/s","status_2xx":6789790,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ioxide","lang":"C#","rps":802743,"avg_latency":"4.75ms","p99_latency":"29.80ms","cpu":"3307.6%","memory":"657MiB","bandwidth":"219.58MB/s","input_bw":"68.90MB/s","status_2xx":12041149,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":172551,"avg_latency":"23.71ms","p99_latency":"41.50ms","cpu":"5013.2%","memory":"5.6GiB","bandwidth":"53.24MB/s","input_bw":"14.81MB/s","status_2xx":2588265,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":187905,"avg_latency":"21.80ms","p99_latency":"38.50ms","cpu":"5354.4%","memory":"5.7GiB","bandwidth":"57.73MB/s","input_bw":"16.13MB/s","status_2xx":2818580,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":339362,"avg_latency":"11.22ms","p99_latency":"120.40ms","cpu":"5555.4%","memory":"722MiB","bandwidth":"136.34MB/s","input_bw":"29.13MB/s","status_2xx":5090433,"status_3xx":0,"status_4xx":102541,"status_5xx":19442},{"fw":"pyronova","lang":"Python","rps":12019,"avg_latency":"336.94ms","p99_latency":"377.60ms","cpu":"289.6%","memory":"1001MiB","bandwidth":"4.34MB/s","input_bw":"1.03MB/s","status_2xx":180288,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"rage","lang":"Ruby","rps":52002,"avg_latency":"56.72ms","p99_latency":"1.60s","cpu":"6324.0%","memory":"10.4GiB","bandwidth":"21.40MB/s","input_bw":"4.46MB/s","status_2xx":780037,"status_3xx":0,"status_4xx":0,"status_5xx":1318},{"fw":"rails","lang":"Ruby","rps":59226,"avg_latency":"66.44ms","p99_latency":"86.20ms","cpu":"4373.9%","memory":"4.0GiB","bandwidth":"26.45MB/s","input_bw":"5.08MB/s","status_2xx":888395,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":216626,"avg_latency":"18.87ms","p99_latency":"37.10ms","cpu":"5737.7%","memory":"12.7GiB","bandwidth":"77.59MB/s","input_bw":"18.59MB/s","status_2xx":3249400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":189233,"avg_latency":"869us","p99_latency":"6.54ms","cpu":"4829.5%","memory":"389MiB","bandwidth":"62.62MB/s","input_bw":"16.24MB/s","status_2xx":2838499,"status_3xx":0,"status_4xx":0,"status_5xx":86954},{"fw":"roda","lang":"Ruby","rps":61151,"avg_latency":"63.78ms","p99_latency":"83.40ms","cpu":"2588.3%","memory":"3.4GiB","bandwidth":"19.55MB/s","input_bw":"5.25MB/s","status_2xx":917267,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":548026,"avg_latency":"6.64ms","p99_latency":"17.60ms","cpu":"1523.9%","memory":"1.3GiB","bandwidth":"183.21MB/s","input_bw":"47.04MB/s","status_2xx":8220400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":431779,"avg_latency":"9.40ms","p99_latency":"33.50ms","cpu":"4065.6%","memory":"862MiB","bandwidth":"158.18MB/s","input_bw":"37.06MB/s","status_2xx":6476689,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":417466,"avg_latency":"9.74ms","p99_latency":"34.00ms","cpu":"4487.3%","memory":"1.2GiB","bandwidth":"153.20MB/s","input_bw":"35.83MB/s","status_2xx":6261999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sinatra","lang":"Ruby","rps":64585,"avg_latency":"61.16ms","p99_latency":"82.00ms","cpu":"2974.9%","memory":"3.9GiB","bandwidth":"20.10MB/s","input_bw":"5.54MB/s","status_2xx":968783,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":464645,"avg_latency":"6.00ms","p99_latency":"11.30ms","cpu":"4267.0%","memory":"343MiB","bandwidth":"182.80MB/s","input_bw":"39.88MB/s","status_2xx":6969678,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":510890,"avg_latency":"7.95ms","p99_latency":"28.40ms","cpu":"3841.1%","memory":"393MiB","bandwidth":"204.24MB/s","input_bw":"43.85MB/s","status_2xx":7663357,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":317372,"avg_latency":"11.20ms","p99_latency":"75.80ms","cpu":"795.9%","memory":"217MiB","bandwidth":"97.03MB/s","input_bw":"27.24MB/s","status_2xx":4760586,"status_3xx":0,"status_4xx":0,"status_5xx":66317},{"fw":"vanilla-io_uring","lang":"V","rps":338676,"avg_latency":"10.40ms","p99_latency":"79.60ms","cpu":"825.3%","memory":"1.3GiB","bandwidth":"102.61MB/s","input_bw":"29.07MB/s","status_2xx":5080153,"status_3xx":0,"status_4xx":0,"status_5xx":63843},{"fw":"veb","lang":"V","rps":62644,"avg_latency":"65.23ms","p99_latency":"257.90ms","cpu":"1166.9%","memory":"2.4GiB","bandwidth":"17.56MB/s","input_bw":"5.38MB/s","status_2xx":939667,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"fortunes-1024":[{"fw":"aspnet-minimal","lang":"C#","rps":75539,"avg_latency":"11.36ms","p99_latency":"33.60ms","cpu":"5496.7%","memory":"460MiB","bandwidth":"1.80GB/s","input_bw":null,"status_2xx":377696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":78538,"avg_latency":"10.73ms","p99_latency":"33.10ms","cpu":"5433.2%","memory":"485MiB","bandwidth":"1.87GB/s","input_bw":null,"status_2xx":392693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fasthttp","lang":"V","rps":185,"avg_latency":"2.46s","p99_latency":"5.00s","cpu":"1375.7%","memory":"301MiB","bandwidth":"4.38MB/s","input_bw":null,"status_2xx":925,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":51030,"avg_latency":"19.15ms","p99_latency":"41.20ms","cpu":"5349.4%","memory":"7.5GiB","bandwidth":"1.46GB/s","input_bw":null,"status_2xx":255152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":49991,"avg_latency":"19.90ms","p99_latency":"43.10ms","cpu":"5612.1%","memory":"11.9GiB","bandwidth":"1.43GB/s","input_bw":null,"status_2xx":249959,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ring-http-exchange","lang":"Clojure","rps":67911,"avg_latency":"14.99ms","p99_latency":"24.70ms","cpu":"6383.9%","memory":"14.1GiB","bandwidth":"1.64GB/s","input_bw":null,"status_2xx":339556,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":47155,"avg_latency":"2.33ms","p99_latency":"5.15ms","cpu":"5858.3%","memory":"873MiB","bandwidth":"1.04GB/s","input_bw":null,"status_2xx":235779,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":246536,"avg_latency":"2.45ms","p99_latency":"5.79ms","cpu":"5910.7%","memory":"1.2GiB","bandwidth":"5.71GB/s","input_bw":null,"status_2xx":1232684,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":293414,"avg_latency":"1.49ms","p99_latency":"5.75ms","cpu":"4474.9%","memory":"1.1GiB","bandwidth":"6.77GB/s","input_bw":null,"status_2xx":1467072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":219679,"avg_latency":"3.34ms","p99_latency":"5.38ms","cpu":"5315.3%","memory":"302MiB","bandwidth":"5.12GB/s","input_bw":null,"status_2xx":1098397,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":88584,"avg_latency":"7.68ms","p99_latency":"28.80ms","cpu":"6331.0%","memory":"224MiB","bandwidth":"2.05GB/s","input_bw":null,"status_2xx":442920,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-epoll","lang":"V","rps":171038,"avg_latency":"4.57ms","p99_latency":"12.10ms","cpu":"6262.3%","memory":"258MiB","bandwidth":"3.96GB/s","input_bw":null,"status_2xx":855190,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-io_uring","lang":"V","rps":155330,"avg_latency":"5.15ms","p99_latency":"18.40ms","cpu":"6074.3%","memory":"1.2GiB","bandwidth":"3.60GB/s","input_bw":null,"status_2xx":776654,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"veb","lang":"V","rps":172,"avg_latency":"2.51s","p99_latency":"4.81s","cpu":"1668.5%","memory":"359MiB","bandwidth":"4.09MB/s","input_bw":null,"status_2xx":864,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"api-4-256":[{"fw":"actix","lang":"Rust","rps":31654,"avg_latency":"7.26ms","p99_latency":"32.30ms","cpu":"396.3%","memory":"45MiB","bandwidth":"159.91MB/s","input_bw":"1.78MB/s","status_2xx":474815,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":177722,"tpl_json":178192,"tpl_async_db":118900},{"fw":"aleph","lang":"Clojure","rps":34893,"avg_latency":"5.90ms","p99_latency":"30.70ms","cpu":"400.1%","memory":"904MiB","bandwidth":"176.89MB/s","input_bw":"1.96MB/s","status_2xx":523409,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":196275,"tpl_json":196365,"tpl_async_db":130767},{"fw":"aspnet-minimal","lang":"C#","rps":37186,"avg_latency":"4.83ms","p99_latency":"12.30ms","cpu":"390.9%","memory":"140MiB","bandwidth":"189.07MB/s","input_bw":"2.09MB/s","status_2xx":557792,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":209458,"tpl_json":209068,"tpl_async_db":139265},{"fw":"aspnet-minimal-aot","lang":"C#","rps":41094,"avg_latency":"4.04ms","p99_latency":"11.00ms","cpu":"381.3%","memory":"141.7MiB","bandwidth":"209.24MB/s","input_bw":"2.31MB/s","status_2xx":616419,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":231379,"tpl_json":231106,"tpl_async_db":153934},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":48477,"avg_latency":"3.62ms","p99_latency":"17.80ms","cpu":"397.8%","memory":"211MiB","bandwidth":"248.02MB/s","input_bw":"2.73MB/s","status_2xx":727157,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":272841,"tpl_json":272613,"tpl_async_db":181702},{"fw":"aspnet-mvc","lang":"C#","rps":32026,"avg_latency":"6.18ms","p99_latency":"14.50ms","cpu":"394.0%","memory":"137MiB","bandwidth":"162.73MB/s","input_bw":"1.80MB/s","status_2xx":480403,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":180351,"tpl_json":180053,"tpl_async_db":119998},{"fw":"bjoern","lang":"Python","rps":13389,"avg_latency":"18.47ms","p99_latency":"50.70ms","cpu":"337.6%","memory":"57MiB","bandwidth":"67.82MB/s","input_bw":"771.44KB/s","status_2xx":200843,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":75487,"tpl_json":74964,"tpl_async_db":50392},{"fw":"bottle","lang":"Python","rps":9546,"avg_latency":"26.75ms","p99_latency":"30.20ms","cpu":"359.3%","memory":"217MiB","bandwidth":"54.85MB/s","input_bw":"550.01KB/s","status_2xx":143194,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":53701,"tpl_json":53704,"tpl_async_db":35789},{"fw":"effinitive","lang":"C#","rps":35955,"avg_latency":"5.74ms","p99_latency":"29.20ms","cpu":"395.8%","memory":"289MiB","bandwidth":"184.61MB/s","input_bw":"2.02MB/s","status_2xx":539336,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":202442,"tpl_json":202133,"tpl_async_db":134761},{"fw":"elysia","lang":"TS","rps":47070,"avg_latency":"4.02ms","p99_latency":"19.60ms","cpu":"359.7%","memory":"319MiB","bandwidth":"237.93MB/s","input_bw":null,"status_2xx":706053,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":264809,"tpl_json":264686,"tpl_async_db":176558},{"fw":"express","lang":"JS","rps":18635,"avg_latency":"12.84ms","p99_latency":"67.70ms","cpu":"399.5%","memory":"420MiB","bandwidth":"95.45MB/s","input_bw":"1.05MB/s","status_2xx":279532,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":104874,"tpl_json":104841,"tpl_async_db":69817},{"fw":"fastapi","lang":"Python","rps":8449,"avg_latency":"30.24ms","p99_latency":"143.10ms","cpu":"401.4%","memory":"494MiB","bandwidth":"43.16MB/s","input_bw":"486.81KB/s","status_2xx":126749,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":47335,"tpl_json":47652,"tpl_async_db":31762},{"fw":"fastendpoints","lang":"C#","rps":36412,"avg_latency":"5.13ms","p99_latency":"12.80ms","cpu":"392.4%","memory":"134MiB","bandwidth":"185.10MB/s","input_bw":"2.05MB/s","status_2xx":546186,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":205108,"tpl_json":204709,"tpl_async_db":136368},{"fw":"fasthttp","lang":"V","rps":38568,"avg_latency":"5.27ms","p99_latency":"33.20ms","cpu":"394.1%","memory":"3.2GiB","bandwidth":"194.71MB/s","input_bw":"2.17MB/s","status_2xx":578521,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":217068,"tpl_json":217029,"tpl_async_db":144424},{"fw":"fastify","lang":"JS","rps":20819,"avg_latency":"11.33ms","p99_latency":"59.60ms","cpu":"398.4%","memory":"458MiB","bandwidth":"106.14MB/s","input_bw":"1.17MB/s","status_2xx":312295,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":117075,"tpl_json":117207,"tpl_async_db":78012},{"fw":"fastpysgi-asgi","lang":"Python","rps":31974,"avg_latency":"6.86ms","p99_latency":"58.40ms","cpu":"400.7%","memory":"389MiB","bandwidth":"163.57MB/s","input_bw":"1.80MB/s","status_2xx":479620,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":179647,"tpl_json":179967,"tpl_async_db":120006},{"fw":"fastpysgi-wsgi","lang":"Python","rps":19866,"avg_latency":"12.00ms","p99_latency":"157.30ms","cpu":"313.6%","memory":"88MiB","bandwidth":"101.52MB/s","input_bw":"1.12MB/s","status_2xx":298000,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":111822,"tpl_json":111762,"tpl_async_db":74416},{"fw":"fishcake","lang":"Kotlin","rps":52583,"avg_latency":"3.13ms","p99_latency":"19.40ms","cpu":"401.3%","memory":"607MiB","bandwidth":"266.17MB/s","input_bw":"2.96MB/s","status_2xx":788753,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":295815,"tpl_json":296006,"tpl_async_db":196931},{"fw":"flask","lang":"Python","rps":6328,"avg_latency":"40.32ms","p99_latency":"64.00ms","cpu":"366.7%","memory":"268MiB","bandwidth":"32.29MB/s","input_bw":"364.60KB/s","status_2xx":94932,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":35597,"tpl_json":35620,"tpl_async_db":23715},{"fw":"frankenphp-trueasync","lang":"PHP","rps":27467,"avg_latency":"9.24ms","p99_latency":"33.60ms","cpu":"333.1%","memory":"110.5MiB","bandwidth":"77.40MB/s","input_bw":"1.55MB/s","status_2xx":412014,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":154488,"tpl_json":154553,"tpl_async_db":102973},{"fw":"fulmine","lang":"JS","rps":35750,"avg_latency":"6.08ms","p99_latency":"30.80ms","cpu":"395.0%","memory":"500MiB","bandwidth":"182.36MB/s","input_bw":"2.01MB/s","status_2xx":536260,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":201228,"tpl_json":201051,"tpl_async_db":133981},{"fw":"genhttp","lang":"C#","rps":44067,"avg_latency":"4.35ms","p99_latency":"17.80ms","cpu":"394.2%","memory":"235MiB","bandwidth":"223.21MB/s","input_bw":"2.48MB/s","status_2xx":661018,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":248131,"tpl_json":247624,"tpl_async_db":165263},{"fw":"genhttp-11","lang":"C#","rps":41117,"avg_latency":"4.75ms","p99_latency":"19.80ms","cpu":"392.6%","memory":"224MiB","bandwidth":"208.14MB/s","input_bw":"2.31MB/s","status_2xx":616756,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":231524,"tpl_json":230989,"tpl_async_db":154243},{"fw":"genhttp-11-ioxide","lang":"C#","rps":54172,"avg_latency":"3.16ms","p99_latency":"18.00ms","cpu":"382.0%","memory":"179MiB","bandwidth":"274.20MB/s","input_bw":"3.05MB/s","status_2xx":812589,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":304899,"tpl_json":304711,"tpl_async_db":202979},{"fw":"genhttp-11-kestrel","lang":"C#","rps":39055,"avg_latency":"5.06ms","p99_latency":"12.10ms","cpu":"390.7%","memory":"218MiB","bandwidth":"197.94MB/s","input_bw":"2.20MB/s","status_2xx":585833,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":219852,"tpl_json":219728,"tpl_async_db":146253},{"fw":"genhttp-kestrel","lang":"C#","rps":43632,"avg_latency":"4.33ms","p99_latency":"10.60ms","cpu":"372.3%","memory":"141MiB","bandwidth":"220.71MB/s","input_bw":"2.46MB/s","status_2xx":654488,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":245538,"tpl_json":245540,"tpl_async_db":163409},{"fw":"go-fasthttp","lang":"Go","rps":26036,"avg_latency":"9.83ms","p99_latency":"41.50ms","cpu":"375.8%","memory":"43.7MiB","bandwidth":"131.67MB/s","input_bw":"1.46MB/s","status_2xx":390552,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":145861,"tpl_json":146952,"tpl_async_db":97739},{"fw":"helidon-production","lang":"Java","rps":22689,"avg_latency":"10.29ms","p99_latency":"42.10ms","cpu":"242.3%","memory":"482.9MiB","bandwidth":"115.41MB/s","input_bw":"1.28MB/s","status_2xx":340339,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":127305,"tpl_json":127995,"tpl_async_db":85039},{"fw":"helidon-tuned","lang":"Java","rps":43456,"avg_latency":"4.75ms","p99_latency":"43.10ms","cpu":"369.0%","memory":"571.9MiB","bandwidth":"219.59MB/s","input_bw":"2.45MB/s","status_2xx":651851,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":244621,"tpl_json":244024,"tpl_async_db":163206},{"fw":"hono-bun","lang":"TS","rps":32503,"avg_latency":"6.49ms","p99_latency":"74.90ms","cpu":"349.8%","memory":"416.3MiB","bandwidth":"164.08MB/s","input_bw":"1.83MB/s","status_2xx":487551,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":182565,"tpl_json":183232,"tpl_async_db":121754},{"fw":"humming-bird","lang":"Swift","rps":6209,"avg_latency":"41.19ms","p99_latency":"146.30ms","cpu":"401.5%","memory":"64.4MiB","bandwidth":"31.32MB/s","input_bw":"357.75KB/s","status_2xx":93136,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":34938,"tpl_json":34961,"tpl_async_db":23237},{"fw":"hyperf","lang":"PHP","rps":12256,"avg_latency":"20.65ms","p99_latency":"52.80ms","cpu":"403.4%","memory":"1.9GiB","bandwidth":"62.26MB/s","input_bw":"706.16KB/s","status_2xx":183841,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":68895,"tpl_json":68942,"tpl_async_db":46003},{"fw":"ioxide","lang":"C#","rps":66033,"avg_latency":"1.43ms","p99_latency":"8.34ms","cpu":"238.0%","memory":"123MiB","bandwidth":"330.73MB/s","input_bw":"3.72MB/s","status_2xx":990500,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":371733,"tpl_json":371483,"tpl_async_db":247283},{"fw":"ktor","lang":"Kotlin","rps":28322,"avg_latency":"8.09ms","p99_latency":"30.50ms","cpu":"415.1%","memory":"771MiB","bandwidth":"141.37MB/s","input_bw":"1.59MB/s","status_2xx":424831,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":159262,"tpl_json":159360,"tpl_async_db":106208},{"fw":"ktor-ghost","lang":"Kotlin","rps":25271,"avg_latency":"9.43ms","p99_latency":"27.60ms","cpu":"411.2%","memory":"613MiB","bandwidth":"126.07MB/s","input_bw":"1.42MB/s","status_2xx":379077,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":142245,"tpl_json":142126,"tpl_async_db":94703},{"fw":"mark","lang":"PHP","rps":35047,"avg_latency":"5.91ms","p99_latency":"104.70ms","cpu":"281.9%","memory":"39MiB","bandwidth":"175.75MB/s","input_bw":"1.97MB/s","status_2xx":525715,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":197163,"tpl_json":197240,"tpl_async_db":131310},{"fw":"mq-bridge","lang":"Rust","rps":29538,"avg_latency":"7.33ms","p99_latency":"24.70ms","cpu":"394.2%","memory":"46MiB","bandwidth":"150.54MB/s","input_bw":"1.66MB/s","status_2xx":443071,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":165934,"tpl_json":166174,"tpl_async_db":110963},{"fw":"mq-bridge-py","lang":"Python","rps":8777,"avg_latency":"29.10ms","p99_latency":"162.90ms","cpu":"401.9%","memory":"2.9GiB","bandwidth":"44.83MB/s","input_bw":"505.71KB/s","status_2xx":131663,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":49230,"tpl_json":49409,"tpl_async_db":33024},{"fw":"ngx-php","lang":"PHP","rps":50404,"avg_latency":"3.52ms","p99_latency":"21.70ms","cpu":"406.3%","memory":"4.4GiB","bandwidth":"255.24MB/s","input_bw":"2.84MB/s","status_2xx":756072,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":283609,"tpl_json":283549,"tpl_async_db":188912},{"fw":"phoenix-bandit","lang":"Elixir","rps":10416,"avg_latency":"24.53ms","p99_latency":"67.20ms","cpu":"399.3%","memory":"345MiB","bandwidth":"53.82MB/s","input_bw":"600.14KB/s","status_2xx":156249,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":58165,"tpl_json":58874,"tpl_async_db":39209},{"fw":"php-fpm","lang":"PHP","rps":16656,"avg_latency":"14.87ms","p99_latency":"40.50ms","cpu":"404.4%","memory":"3.8GiB","bandwidth":"87.02MB/s","input_bw":"959.67KB/s","status_2xx":249851,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":93674,"tpl_json":93678,"tpl_async_db":62499},{"fw":"pyronova","lang":"Python","rps":21211,"avg_latency":"11.29ms","p99_latency":"36.40ms","cpu":"237.1%","memory":"136MiB","bandwidth":"112.29MB/s","input_bw":"1.19MB/s","status_2xx":318168,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":119331,"tpl_json":119370,"tpl_async_db":79465},{"fw":"quarkus-jvm","lang":"Java","rps":43895,"avg_latency":"4.22ms","p99_latency":"19.40ms","cpu":"400.3%","memory":"810.3MiB","bandwidth":"220.72MB/s","input_bw":"2.47MB/s","status_2xx":658429,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":247096,"tpl_json":246998,"tpl_async_db":164332},{"fw":"rage","lang":"Ruby","rps":13999,"avg_latency":"16.30ms","p99_latency":"266.00ms","cpu":"407.6%","memory":"5.9GiB","bandwidth":"68.87MB/s","input_bw":"806.58KB/s","status_2xx":209997,"status_3xx":0,"status_4xx":0,"status_5xx":20194,"tpl_baseline":85974,"tpl_json":86523,"tpl_async_db":37500},{"fw":"rails","lang":"Ruby","rps":7591,"avg_latency":"33.65ms","p99_latency":"115.10ms","cpu":"400.6%","memory":"351MiB","bandwidth":"39.91MB/s","input_bw":"437.37KB/s","status_2xx":113866,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":42706,"tpl_json":42711,"tpl_async_db":28449},{"fw":"ring-http-exchange","lang":"Clojure","rps":21278,"avg_latency":"11.99ms","p99_latency":"34.10ms","cpu":"408.3%","memory":"772MiB","bandwidth":"107.54MB/s","input_bw":"1.20MB/s","status_2xx":319175,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":119600,"tpl_json":119757,"tpl_async_db":79818},{"fw":"roadrunner","lang":"Erlang","rps":20211,"avg_latency":"11.90ms","p99_latency":"54.70ms","cpu":"399.4%","memory":"167MiB","bandwidth":"102.17MB/s","input_bw":"1.14MB/s","status_2xx":303168,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":113616,"tpl_json":113788,"tpl_async_db":75764},{"fw":"roda","lang":"Ruby","rps":13645,"avg_latency":"17.97ms","p99_latency":"73.20ms","cpu":"400.6%","memory":"475MiB","bandwidth":"70.09MB/s","input_bw":"786.19KB/s","status_2xx":204685,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":76796,"tpl_json":76752,"tpl_async_db":51137},{"fw":"sark","lang":"Rust","rps":67558,"avg_latency":"2.05ms","p99_latency":"27.50ms","cpu":"349.4%","memory":"182MiB","bandwidth":"341.74MB/s","input_bw":"3.80MB/s","status_2xx":1013383,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":380097,"tpl_json":380210,"tpl_async_db":253075},{"fw":"servicestack","lang":"C#","rps":17574,"avg_latency":"13.83ms","p99_latency":"28.60ms","cpu":"374.4%","memory":"166MiB","bandwidth":"63.41MB/s","input_bw":"1012.56KB/s","status_2xx":263624,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":98724,"tpl_json":98825,"tpl_async_db":66075},{"fw":"simplew","lang":"C#","rps":41391,"avg_latency":"4.46ms","p99_latency":"22.90ms","cpu":"390.3%","memory":"136MiB","bandwidth":"209.47MB/s","input_bw":"2.33MB/s","status_2xx":620867,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":233081,"tpl_json":232712,"tpl_async_db":155073},{"fw":"simplew-tuned","lang":"C#","rps":48727,"avg_latency":"3.74ms","p99_latency":"17.20ms","cpu":"400.0%","memory":"158MiB","bandwidth":"246.56MB/s","input_bw":"2.74MB/s","status_2xx":730909,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":274430,"tpl_json":273773,"tpl_async_db":182706},{"fw":"sinatra","lang":"Ruby","rps":16064,"avg_latency":"15.02ms","p99_latency":"64.40ms","cpu":"391.5%","memory":"432MiB","bandwidth":"82.84MB/s","input_bw":"925.56KB/s","status_2xx":240972,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":90302,"tpl_json":90400,"tpl_async_db":60269},{"fw":"sisk","lang":"C#","rps":17761,"avg_latency":"14.31ms","p99_latency":"43.70ms","cpu":"283.8%","memory":"163MiB","bandwidth":"89.70MB/s","input_bw":"1023.34KB/s","status_2xx":266420,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":99975,"tpl_json":99853,"tpl_async_db":66592},{"fw":"slimeweb","lang":"Python","rps":14636,"avg_latency":"16.50ms","p99_latency":"75.40ms","cpu":"282.5%","memory":"102MiB","bandwidth":"74.31MB/s","input_bw":"843.29KB/s","status_2xx":219549,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":81695,"tpl_json":82697,"tpl_async_db":55157},{"fw":"spring-boot","lang":"Java","rps":17411,"avg_latency":"13.75ms","p99_latency":"164.90ms","cpu":"395.8%","memory":"703.3MiB","bandwidth":"88.24MB/s","input_bw":"1003.17KB/s","status_2xx":261169,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":97404,"tpl_json":98446,"tpl_async_db":65319},{"fw":"swoole","lang":"PHP","rps":46045,"avg_latency":"4.12ms","p99_latency":"27.50ms","cpu":"406.4%","memory":"214.7MiB","bandwidth":"233.65MB/s","input_bw":"2.59MB/s","status_2xx":690680,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":259149,"tpl_json":258945,"tpl_async_db":172586},{"fw":"symfony-spawn-franken","lang":"PHP","rps":23409,"avg_latency":"10.84ms","p99_latency":"74.10ms","cpu":"369.5%","memory":"246MiB","bandwidth":"60.83MB/s","input_bw":"1.32MB/s","status_2xx":351145,"status_3xx":0,"status_4xx":0,"status_5xx":2658,"tpl_baseline":131585,"tpl_json":131797,"tpl_async_db":87761},{"fw":"trillium","lang":"Rust","rps":55590,"avg_latency":"4.00ms","p99_latency":"10.20ms","cpu":"399.2%","memory":"68MiB","bandwidth":"281.70MB/s","input_bw":"3.13MB/s","status_2xx":833858,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":312701,"tpl_json":312677,"tpl_async_db":208480},{"fw":"trillium-tuned","lang":"Rust","rps":60718,"avg_latency":"3.29ms","p99_latency":"19.70ms","cpu":"373.3%","memory":"74MiB","bandwidth":"307.81MB/s","input_bw":"3.42MB/s","status_2xx":910784,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":341343,"tpl_json":341738,"tpl_async_db":227701},{"fw":"true-async-server","lang":"PHP","rps":56308,"avg_latency":"3.62ms","p99_latency":"41.20ms","cpu":"394.0%","memory":"42MiB","bandwidth":"280.94MB/s","input_bw":"3.17MB/s","status_2xx":844621,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":316921,"tpl_json":316708,"tpl_async_db":210990},{"fw":"ultimate-express","lang":"JS","rps":32121,"avg_latency":"6.59ms","p99_latency":"54.50ms","cpu":"394.5%","memory":"486MiB","bandwidth":"164.21MB/s","input_bw":"1.81MB/s","status_2xx":481827,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":180631,"tpl_json":180544,"tpl_async_db":120652},{"fw":"userver","lang":"C++","rps":37086,"avg_latency":"5.52ms","p99_latency":"46.70ms","cpu":"403.3%","memory":"206MiB","bandwidth":"189.20MB/s","input_bw":"2.09MB/s","status_2xx":556292,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":208605,"tpl_json":208667,"tpl_async_db":139017},{"fw":"uvicorn","lang":"Python","rps":24793,"avg_latency":"9.66ms","p99_latency":"46.10ms","cpu":"399.2%","memory":"447MiB","bandwidth":"126.51MB/s","input_bw":null,"status_2xx":371903,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":139416,"tpl_json":139460,"tpl_async_db":93027},{"fw":"vanilla-epoll","lang":"V","rps":64469,"avg_latency":"1.96ms","p99_latency":"13.40ms","cpu":"372.2%","memory":"114MiB","bandwidth":"325.42MB/s","input_bw":"3.63MB/s","status_2xx":967038,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":362875,"tpl_json":362683,"tpl_async_db":241480},{"fw":"vanilla-io_uring","lang":"V","rps":67864,"avg_latency":"1.77ms","p99_latency":"17.90ms","cpu":"332.1%","memory":"1.1GiB","bandwidth":"342.47MB/s","input_bw":"3.82MB/s","status_2xx":1017962,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":382137,"tpl_json":381566,"tpl_async_db":254257},{"fw":"veb","lang":"V","rps":17767,"avg_latency":"13.69ms","p99_latency":"109.40ms","cpu":"381.3%","memory":"2.5GiB","bandwidth":"88.93MB/s","input_bw":"1023.68KB/s","status_2xx":266513,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":99866,"tpl_json":99917,"tpl_async_db":66730},{"fw":"workerman","lang":"PHP","rps":39709,"avg_latency":"5.00ms","p99_latency":"80.00ms","cpu":"249.4%","memory":"41MiB","bandwidth":"199.15MB/s","input_bw":null,"status_2xx":595643,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":223366,"tpl_json":223557,"tpl_async_db":148717}],"api-16-1024":[{"fw":"actix","lang":"Rust","rps":120151,"avg_latency":"7.52ms","p99_latency":"33.50ms","cpu":"1584.9%","memory":"106MiB","bandwidth":"607.03MB/s","input_bw":"6.76MB/s","status_2xx":1802269,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":674549,"tpl_json":677172,"tpl_async_db":450548},{"fw":"aleph","lang":"Clojure","rps":78140,"avg_latency":"11.29ms","p99_latency":"60.60ms","cpu":"1615.5%","memory":"1.9GiB","bandwidth":"395.92MB/s","input_bw":"4.40MB/s","status_2xx":1172102,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":439900,"tpl_json":439466,"tpl_async_db":292734},{"fw":"aspnet-minimal","lang":"C#","rps":112527,"avg_latency":"6.67ms","p99_latency":"19.00ms","cpu":"1501.5%","memory":"254MiB","bandwidth":"572.48MB/s","input_bw":"6.33MB/s","status_2xx":1687907,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":633203,"tpl_json":633216,"tpl_async_db":421486},{"fw":"aspnet-minimal-aot","lang":"C#","rps":116503,"avg_latency":"6.19ms","p99_latency":"14.70ms","cpu":"1569.8%","memory":"465.3MiB","bandwidth":"593.81MB/s","input_bw":"6.56MB/s","status_2xx":1747555,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":654820,"tpl_json":656141,"tpl_async_db":436592},{"fw":"aspnet-minimal-ioxide","lang":"C#","rps":154249,"avg_latency":"4.76ms","p99_latency":"35.80ms","cpu":"1563.1%","memory":"620MiB","bandwidth":"789.58MB/s","input_bw":"8.68MB/s","status_2xx":2313742,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":867399,"tpl_json":867818,"tpl_async_db":578523},{"fw":"aspnet-mvc","lang":"C#","rps":91825,"avg_latency":"8.58ms","p99_latency":"21.50ms","cpu":"1500.5%","memory":"214MiB","bandwidth":"466.85MB/s","input_bw":"5.17MB/s","status_2xx":1377382,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":516647,"tpl_json":516908,"tpl_async_db":343827},{"fw":"bjoern","lang":"Python","rps":47303,"avg_latency":"20.03ms","p99_latency":"82.50ms","cpu":"1252.9%","memory":"143MiB","bandwidth":"239.63MB/s","input_bw":"2.66MB/s","status_2xx":709556,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":266745,"tpl_json":265056,"tpl_async_db":177755},{"fw":"bottle","lang":"Python","rps":25572,"avg_latency":"39.92ms","p99_latency":"43.40ms","cpu":"1458.1%","memory":"712MiB","bandwidth":"146.94MB/s","input_bw":"1.44MB/s","status_2xx":383584,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":143836,"tpl_json":143827,"tpl_async_db":95921},{"fw":"effinitive","lang":"C#","rps":96540,"avg_latency":"8.63ms","p99_latency":"52.20ms","cpu":"1505.4%","memory":"386MiB","bandwidth":"496.10MB/s","input_bw":"5.43MB/s","status_2xx":1448114,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":542841,"tpl_json":543447,"tpl_async_db":361823},{"fw":"elysia","lang":"TS","rps":115633,"avg_latency":"7.24ms","p99_latency":"32.90ms","cpu":"1401.7%","memory":"1.2GiB","bandwidth":"584.63MB/s","input_bw":null,"status_2xx":1734501,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":650325,"tpl_json":650846,"tpl_async_db":433330},{"fw":"express","lang":"JS","rps":67724,"avg_latency":"13.67ms","p99_latency":"73.40ms","cpu":"1550.1%","memory":"1.6GiB","bandwidth":"347.10MB/s","input_bw":"3.81MB/s","status_2xx":1015871,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":380786,"tpl_json":381029,"tpl_async_db":254053},{"fw":"fastapi","lang":"Python","rps":30215,"avg_latency":"32.92ms","p99_latency":"153.60ms","cpu":"1616.1%","memory":"1.7GiB","bandwidth":"154.17MB/s","input_bw":"1.70MB/s","status_2xx":453239,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":169729,"tpl_json":170496,"tpl_async_db":113014},{"fw":"fastendpoints","lang":"C#","rps":109858,"avg_latency":"6.84ms","p99_latency":"19.00ms","cpu":"1513.3%","memory":"214MiB","bandwidth":"558.92MB/s","input_bw":"6.18MB/s","status_2xx":1647884,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":617992,"tpl_json":618264,"tpl_async_db":411626},{"fw":"fasthttp","lang":"V","rps":16631,"avg_latency":"60.92ms","p99_latency":"319.10ms","cpu":"1771.0%","memory":"3.7GiB","bandwidth":"84.10MB/s","input_bw":"958.23KB/s","status_2xx":249466,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":93316,"tpl_json":93581,"tpl_async_db":62569},{"fw":"fastify","lang":"JS","rps":75633,"avg_latency":"11.08ms","p99_latency":"62.90ms","cpu":"1498.8%","memory":"1.6GiB","bandwidth":"385.44MB/s","input_bw":"4.26MB/s","status_2xx":1134502,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":425672,"tpl_json":425744,"tpl_async_db":283083},{"fw":"fastpysgi-asgi","lang":"Python","rps":77940,"avg_latency":"11.19ms","p99_latency":"134.80ms","cpu":"1617.3%","memory":"1.3GiB","bandwidth":"399.15MB/s","input_bw":"4.39MB/s","status_2xx":1169102,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":437212,"tpl_json":440269,"tpl_async_db":291620},{"fw":"fastpysgi-wsgi","lang":"Python","rps":55082,"avg_latency":"17.04ms","p99_latency":"303.40ms","cpu":"1257.4%","memory":"245MiB","bandwidth":"281.61MB/s","input_bw":"3.10MB/s","status_2xx":826239,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":309847,"tpl_json":310032,"tpl_async_db":206360},{"fw":"fishcake","lang":"Kotlin","rps":127641,"avg_latency":"5.94ms","p99_latency":"34.90ms","cpu":"1634.4%","memory":"2.0GiB","bandwidth":"646.20MB/s","input_bw":"7.18MB/s","status_2xx":1914617,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":717886,"tpl_json":718593,"tpl_async_db":478138},{"fw":"flask","lang":"Python","rps":17096,"avg_latency":"59.63ms","p99_latency":"64.10ms","cpu":"1501.4%","memory":"916MiB","bandwidth":"87.25MB/s","input_bw":"985.02KB/s","status_2xx":256445,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":96111,"tpl_json":96224,"tpl_async_db":64109},{"fw":"frankenphp-trueasync","lang":"PHP","rps":31351,"avg_latency":"32.52ms","p99_latency":"265.80ms","cpu":"550.6%","memory":"271.2MiB","bandwidth":"69.85MB/s","input_bw":"1.76MB/s","status_2xx":470275,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":175614,"tpl_json":176985,"tpl_async_db":117676},{"fw":"fulmine","lang":"JS","rps":123624,"avg_latency":"6.62ms","p99_latency":"44.70ms","cpu":"1511.1%","memory":"1.9GiB","bandwidth":"630.93MB/s","input_bw":"6.96MB/s","status_2xx":1854364,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":695264,"tpl_json":695518,"tpl_async_db":463581},{"fw":"genhttp","lang":"C#","rps":112762,"avg_latency":"7.46ms","p99_latency":"32.80ms","cpu":"1579.6%","memory":"606MiB","bandwidth":"571.53MB/s","input_bw":"6.34MB/s","status_2xx":1691439,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":634256,"tpl_json":634261,"tpl_async_db":422921},{"fw":"genhttp-11","lang":"C#","rps":151086,"avg_latency":"4.86ms","p99_latency":"23.00ms","cpu":"1579.7%","memory":"363MiB","bandwidth":"765.46MB/s","input_bw":"8.50MB/s","status_2xx":2266292,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":849593,"tpl_json":850052,"tpl_async_db":566647},{"fw":"genhttp-11-ioxide","lang":"C#","rps":182912,"avg_latency":"3.62ms","p99_latency":"21.70ms","cpu":"1472.5%","memory":"382MiB","bandwidth":"926.20MB/s","input_bw":"10.29MB/s","status_2xx":2743687,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1028877,"tpl_json":1029202,"tpl_async_db":685607},{"fw":"genhttp-11-kestrel","lang":"C#","rps":127429,"avg_latency":"6.26ms","p99_latency":"17.00ms","cpu":"1530.0%","memory":"337MiB","bandwidth":"646.38MB/s","input_bw":"7.17MB/s","status_2xx":1911441,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":716311,"tpl_json":717328,"tpl_async_db":477799},{"fw":"genhttp-kestrel","lang":"C#","rps":110447,"avg_latency":"7.53ms","p99_latency":"20.10ms","cpu":"1491.1%","memory":"261MiB","bandwidth":"559.17MB/s","input_bw":"6.21MB/s","status_2xx":1656713,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":620640,"tpl_json":622012,"tpl_async_db":414059},{"fw":"go-fasthttp","lang":"Go","rps":64814,"avg_latency":"15.73ms","p99_latency":"78.50ms","cpu":"1468.5%","memory":"142.8MiB","bandwidth":"328.35MB/s","input_bw":"3.65MB/s","status_2xx":972211,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":362025,"tpl_json":367631,"tpl_async_db":242555},{"fw":"helidon-production","lang":"Java","rps":87204,"avg_latency":"10.51ms","p99_latency":"42.80ms","cpu":"1304.4%","memory":"1.3GiB","bandwidth":"443.34MB/s","input_bw":"4.91MB/s","status_2xx":1308068,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":490365,"tpl_json":491658,"tpl_async_db":326043},{"fw":"helidon-tuned","lang":"Java","rps":132308,"avg_latency":"6.46ms","p99_latency":"47.00ms","cpu":"1571.7%","memory":"1.5GiB","bandwidth":"669.72MB/s","input_bw":"7.44MB/s","status_2xx":1984630,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":743239,"tpl_json":745117,"tpl_async_db":496271},{"fw":"hono-bun","lang":"TS","rps":82918,"avg_latency":"10.71ms","p99_latency":"117.70ms","cpu":"1396.1%","memory":"1.4GiB","bandwidth":"419.04MB/s","input_bw":"4.67MB/s","status_2xx":1243779,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":464902,"tpl_json":467827,"tpl_async_db":311046},{"fw":"humming-bird","lang":"Swift","rps":13148,"avg_latency":"32.47ms","p99_latency":"133.10ms","cpu":"1648.6%","memory":"180.1MiB","bandwidth":"66.39MB/s","input_bw":"757.55KB/s","status_2xx":197229,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":73900,"tpl_json":74218,"tpl_async_db":49111},{"fw":"hyperf","lang":"PHP","rps":36806,"avg_latency":"26.32ms","p99_latency":"69.40ms","cpu":"1906.9%","memory":"2.0GiB","bandwidth":"187.01MB/s","input_bw":"2.07MB/s","status_2xx":552096,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":206879,"tpl_json":207322,"tpl_async_db":137893},{"fw":"ioxide","lang":"C#","rps":253852,"avg_latency":"1.94ms","p99_latency":"13.50ms","cpu":"1268.8%","memory":"309MiB","bandwidth":"1.24GB/s","input_bw":"14.28MB/s","status_2xx":3807782,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1428464,"tpl_json":1428118,"tpl_async_db":951193},{"fw":"ktor","lang":"Kotlin","rps":71525,"avg_latency":"12.96ms","p99_latency":"47.10ms","cpu":"1771.6%","memory":"2.0GiB","bandwidth":"357.02MB/s","input_bw":"4.02MB/s","status_2xx":1072878,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":402251,"tpl_json":402383,"tpl_async_db":268240},{"fw":"ktor-ghost","lang":"Kotlin","rps":87734,"avg_latency":"10.38ms","p99_latency":"52.40ms","cpu":"1764.4%","memory":"1.3GiB","bandwidth":"437.87MB/s","input_bw":"4.94MB/s","status_2xx":1316021,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":493484,"tpl_json":493721,"tpl_async_db":328815},{"fw":"mark","lang":"PHP","rps":130964,"avg_latency":"5.85ms","p99_latency":"99.20ms","cpu":"1138.4%","memory":"64MiB","bandwidth":"656.74MB/s","input_bw":"7.37MB/s","status_2xx":1964460,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":736841,"tpl_json":737181,"tpl_async_db":490438},{"fw":"mq-bridge","lang":"Rust","rps":91454,"avg_latency":"9.51ms","p99_latency":"36.20ms","cpu":"1482.6%","memory":"102MiB","bandwidth":"466.12MB/s","input_bw":"5.15MB/s","status_2xx":1371815,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":513699,"tpl_json":515068,"tpl_async_db":343048},{"fw":"mq-bridge-py","lang":"Python","rps":35731,"avg_latency":"27.44ms","p99_latency":"150.70ms","cpu":"1737.9%","memory":"3.6GiB","bandwidth":"182.36MB/s","input_bw":"2.01MB/s","status_2xx":535978,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":200771,"tpl_json":201144,"tpl_async_db":134063},{"fw":"ngx-php","lang":"PHP","rps":141541,"avg_latency":"5.32ms","p99_latency":"78.60ms","cpu":"1729.0%","memory":"4.4GiB","bandwidth":"716.96MB/s","input_bw":"7.96MB/s","status_2xx":2123120,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":796044,"tpl_json":796946,"tpl_async_db":530128},{"fw":"phoenix-bandit","lang":"Elixir","rps":40081,"avg_latency":"24.20ms","p99_latency":"224.60ms","cpu":"1573.7%","memory":"731MiB","bandwidth":"207.70MB/s","input_bw":"2.26MB/s","status_2xx":601217,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":222781,"tpl_json":227527,"tpl_async_db":150909},{"fw":"php-fpm","lang":"PHP","rps":45865,"avg_latency":"21.10ms","p99_latency":"46.20ms","cpu":"1822.4%","memory":"3.8GiB","bandwidth":"239.65MB/s","input_bw":"2.58MB/s","status_2xx":687985,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":257930,"tpl_json":258255,"tpl_async_db":171798},{"fw":"pyronova","lang":"Python","rps":51624,"avg_latency":"18.32ms","p99_latency":"81.60ms","cpu":"867.0%","memory":"336MiB","bandwidth":"273.37MB/s","input_bw":"2.90MB/s","status_2xx":774368,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":290386,"tpl_json":290554,"tpl_async_db":193428},{"fw":"quarkus-jvm","lang":"Java","rps":103737,"avg_latency":"8.02ms","p99_latency":"44.40ms","cpu":"1574.4%","memory":"2.4GiB","bandwidth":"521.96MB/s","input_bw":"5.84MB/s","status_2xx":1556059,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":583320,"tpl_json":583901,"tpl_async_db":388837},{"fw":"rage","lang":"Ruby","rps":9825,"avg_latency":"84.56ms","p99_latency":"1.78s","cpu":"749.7%","memory":"6.0GiB","bandwidth":"47.17MB/s","input_bw":"566.09KB/s","status_2xx":147382,"status_3xx":0,"status_4xx":0,"status_5xx":26433,"tpl_baseline":62443,"tpl_json":68252,"tpl_async_db":16687},{"fw":"rails","lang":"Ruby","rps":26538,"avg_latency":"37.38ms","p99_latency":"124.50ms","cpu":"1687.0%","memory":"1.1GiB","bandwidth":"139.62MB/s","input_bw":"1.49MB/s","status_2xx":398082,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":149127,"tpl_json":149470,"tpl_async_db":99485},{"fw":"ring-http-exchange","lang":"Clojure","rps":76344,"avg_latency":"13.20ms","p99_latency":"45.90ms","cpu":"1725.0%","memory":"3.0GiB","bandwidth":"385.74MB/s","input_bw":"4.30MB/s","status_2xx":1145172,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":429304,"tpl_json":429528,"tpl_async_db":286337},{"fw":"roadrunner","lang":"Erlang","rps":41782,"avg_latency":"14.36ms","p99_latency":"97.80ms","cpu":"1518.0%","memory":"310MiB","bandwidth":"211.60MB/s","input_bw":"2.35MB/s","status_2xx":626738,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":234217,"tpl_json":235747,"tpl_async_db":156774},{"fw":"roda","lang":"Ruby","rps":48671,"avg_latency":"19.93ms","p99_latency":"82.90ms","cpu":"1697.8%","memory":"1.7GiB","bandwidth":"250.08MB/s","input_bw":"2.74MB/s","status_2xx":730075,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":273748,"tpl_json":273824,"tpl_async_db":182503},{"fw":"sark","lang":"Rust","rps":255698,"avg_latency":"1.91ms","p99_latency":"32.60ms","cpu":"1599.2%","memory":"398MiB","bandwidth":"1.26GB/s","input_bw":"14.39MB/s","status_2xx":3835475,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1438685,"tpl_json":1439103,"tpl_async_db":957681},{"fw":"servicestack","lang":"C#","rps":23786,"avg_latency":"42.03ms","p99_latency":"105.10ms","cpu":"801.4%","memory":"316MiB","bandwidth":"85.86MB/s","input_bw":"1.34MB/s","status_2xx":356795,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":133604,"tpl_json":133585,"tpl_async_db":89606},{"fw":"simplew","lang":"C#","rps":142984,"avg_latency":"5.24ms","p99_latency":"34.10ms","cpu":"1542.9%","memory":"228MiB","bandwidth":"723.82MB/s","input_bw":"8.05MB/s","status_2xx":2144772,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":804818,"tpl_json":804509,"tpl_async_db":535442},{"fw":"simplew-tuned","lang":"C#","rps":170076,"avg_latency":"4.10ms","p99_latency":"24.50ms","cpu":"1654.0%","memory":"440MiB","bandwidth":"861.12MB/s","input_bw":"9.57MB/s","status_2xx":2551154,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":956975,"tpl_json":956670,"tpl_async_db":637509},{"fw":"sinatra","lang":"Ruby","rps":40543,"avg_latency":"24.11ms","p99_latency":"107.70ms","cpu":"1646.6%","memory":"1.3GiB","bandwidth":"209.13MB/s","input_bw":"2.28MB/s","status_2xx":608157,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":227762,"tpl_json":228219,"tpl_async_db":152175},{"fw":"sisk","lang":"C#","rps":44590,"avg_latency":"21.98ms","p99_latency":"55.20ms","cpu":"750.0%","memory":"260MiB","bandwidth":"225.20MB/s","input_bw":"2.51MB/s","status_2xx":668850,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":251025,"tpl_json":250966,"tpl_async_db":166856},{"fw":"slimeweb","lang":"Python","rps":13047,"avg_latency":"73.19ms","p99_latency":"834.30ms","cpu":"371.9%","memory":"150MiB","bandwidth":"67.40MB/s","input_bw":"751.73KB/s","status_2xx":195716,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":70685,"tpl_json":76162,"tpl_async_db":48869},{"fw":"spring-boot","lang":"Java","rps":33053,"avg_latency":"28.04ms","p99_latency":"93.80ms","cpu":"1171.9%","memory":"1.2GiB","bandwidth":"167.40MB/s","input_bw":"1.86MB/s","status_2xx":495805,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":185133,"tpl_json":186708,"tpl_async_db":123964},{"fw":"swoole","lang":"PHP","rps":131689,"avg_latency":"5.99ms","p99_latency":"42.90ms","cpu":"1757.8%","memory":"258.8MiB","bandwidth":"668.41MB/s","input_bw":"7.41MB/s","status_2xx":1975335,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":740859,"tpl_json":741149,"tpl_async_db":493323},{"fw":"symfony-spawn-franken","lang":"PHP","rps":36417,"avg_latency":"20.01ms","p99_latency":"172.60ms","cpu":"1352.3%","memory":"657MiB","bandwidth":"158.43MB/s","input_bw":"2.05MB/s","status_2xx":546268,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":203164,"tpl_json":206676,"tpl_async_db":136422},{"fw":"trillium","lang":"Rust","rps":183782,"avg_latency":"1.51ms","p99_latency":"4.09ms","cpu":"1508.5%","memory":"141MiB","bandwidth":"931.29MB/s","input_bw":"10.34MB/s","status_2xx":2756731,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1033870,"tpl_json":1034045,"tpl_async_db":688813},{"fw":"trillium-tuned","lang":"Rust","rps":173761,"avg_latency":"4.98ms","p99_latency":"45.40ms","cpu":"1530.9%","memory":"154MiB","bandwidth":"881.24MB/s","input_bw":"9.78MB/s","status_2xx":2606417,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":976151,"tpl_json":978116,"tpl_async_db":652147},{"fw":"true-async-server","lang":"PHP","rps":152800,"avg_latency":"5.70ms","p99_latency":"99.80ms","cpu":"1574.7%","memory":"77MiB","bandwidth":"762.37MB/s","input_bw":"8.60MB/s","status_2xx":2292002,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":860025,"tpl_json":859000,"tpl_async_db":572974},{"fw":"ultimate-express","lang":"JS","rps":114813,"avg_latency":"7.28ms","p99_latency":"65.30ms","cpu":"1491.7%","memory":"1.9GiB","bandwidth":"587.42MB/s","input_bw":"6.46MB/s","status_2xx":1722208,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":644848,"tpl_json":646392,"tpl_async_db":430968},{"fw":"userver","lang":"C++","rps":123403,"avg_latency":"6.36ms","p99_latency":"32.10ms","cpu":"1781.4%","memory":"393MiB","bandwidth":"629.82MB/s","input_bw":"6.94MB/s","status_2xx":1851057,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":693706,"tpl_json":695017,"tpl_async_db":462334},{"fw":"uvicorn","lang":"Python","rps":62631,"avg_latency":"15.29ms","p99_latency":"72.70ms","cpu":"1571.4%","memory":"1.3GiB","bandwidth":"319.78MB/s","input_bw":null,"status_2xx":939467,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":351876,"tpl_json":352736,"tpl_async_db":234853},{"fw":"vanilla-epoll","lang":"V","rps":245071,"avg_latency":"1.75ms","p99_latency":"14.80ms","cpu":"1498.5%","memory":"180MiB","bandwidth":"1.21GB/s","input_bw":"13.79MB/s","status_2xx":3676067,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1379006,"tpl_json":1379288,"tpl_async_db":917767},{"fw":"vanilla-io_uring","lang":"V","rps":207849,"avg_latency":"1.44ms","p99_latency":"20.70ms","cpu":"1151.0%","memory":"1.3GiB","bandwidth":"1.02GB/s","input_bw":"11.69MB/s","status_2xx":3117740,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":1169780,"tpl_json":1169707,"tpl_async_db":778245},{"fw":"veb","lang":"V","rps":12012,"avg_latency":"84.28ms","p99_latency":"454.00ms","cpu":"1134.6%","memory":"3.5GiB","bandwidth":"60.29MB/s","input_bw":"692.10KB/s","status_2xx":180191,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":67194,"tpl_json":67758,"tpl_async_db":45239},{"fw":"workerman","lang":"PHP","rps":123488,"avg_latency":"6.47ms","p99_latency":"105.50ms","cpu":"1054.2%","memory":"77MiB","bandwidth":"619.36MB/s","input_bw":null,"status_2xx":1852329,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":694561,"tpl_json":695211,"tpl_async_db":462555}],"baseline-h2-256":[{"fw":"actix","lang":"Rust","rps":3884214,"avg_latency":"6.47ms","p99_latency":"17.98ms","cpu":"6348.5%","memory":"173MiB","bandwidth":"134.16MB/s","input_bw":null,"status_2xx":19537600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2202291,"avg_latency":"11.49ms","p99_latency":"78.02ms","cpu":"6088.2%","memory":"1.0GiB","bandwidth":"50.72MB/s","input_bw":null,"status_2xx":11077524,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":2522822,"avg_latency":"9.61ms","p99_latency":"9.61ms","cpu":"5430.8%","memory":"4.8GiB","bandwidth":"55.35MB/s","input_bw":"","status_2xx":12614110,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1187811,"avg_latency":"21.10ms","p99_latency":"90.15ms","cpu":"6043.9%","memory":"1.1GiB","bandwidth":"27.36MB/s","input_bw":null,"status_2xx":5974690,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":185384,"avg_latency":"198.18ms","p99_latency":"1.14s","cpu":"6316.4%","memory":"1.6GiB","bandwidth":"3.93MB/s","input_bw":null,"status_2xx":934336,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":1845960,"avg_latency":"11.11ms","p99_latency":"677.74ms","cpu":"6200.5%","memory":"2.5GiB","bandwidth":"58.33MB/s","input_bw":null,"status_2xx":9266724,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":2041291,"avg_latency":"12.23ms","p99_latency":"63.69ms","cpu":"6125.3%","memory":"1.1GiB","bandwidth":"47.02MB/s","input_bw":null,"status_2xx":10267698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":259133,"avg_latency":"94.67ms","p99_latency":"94.67ms","cpu":"4989.7%","memory":"998.1MiB","bandwidth":"6.15MB/s","input_bw":"","status_2xx":1297070,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":2135360,"avg_latency":"11.60ms","p99_latency":"99.01ms","cpu":"6037.1%","memory":"966MiB","bandwidth":"57.49MB/s","input_bw":null,"status_2xx":10762219,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1792309,"avg_latency":"14.00ms","p99_latency":null,"cpu":"6233.3%","memory":"1.2GiB","bandwidth":"48.16MB/s","input_bw":null,"status_2xx":9015316,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":3961009,"avg_latency":"6.64ms","p99_latency":"6.64ms","cpu":"6255.8%","memory":"167MiB","bandwidth":"103.02MB/s","input_bw":null,"status_2xx":20003100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2066462,"avg_latency":"12.00ms","p99_latency":"12.00ms","cpu":"5804.9%","memory":"22.9GiB","bandwidth":"100.52MB/s","input_bw":"","status_2xx":10333129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2223118,"avg_latency":"11.22ms","p99_latency":null,"cpu":"5910.0%","memory":"23.2GiB","bandwidth":"108.14MB/s","input_bw":"","status_2xx":11116401,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":6974787,"avg_latency":"4.24ms","p99_latency":"4.24ms","cpu":"6317.6%","memory":"156.0MiB","bandwidth":"179.61MB/s","input_bw":"","status_2xx":34873936,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":558485,"avg_latency":"44.86ms","p99_latency":"44.86ms","cpu":"5918.6%","memory":"29.8GiB","bandwidth":"11.81MB/s","input_bw":null,"status_2xx":2814765,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":515664,"avg_latency":"46.06ms","p99_latency":"282.20ms","cpu":"5757.4%","memory":"31.1GiB","bandwidth":"10.89MB/s","input_bw":null,"status_2xx":2593793,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":542860,"avg_latency":"46.38ms","p99_latency":"208.61ms","cpu":"4250.3%","memory":"293MiB","bandwidth":"27.28MB/s","input_bw":null,"status_2xx":2725162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":1010292,"avg_latency":"27.31ms","p99_latency":"138.55ms","cpu":"6615.9%","memory":"13.4GiB","bandwidth":"51.30MB/s","input_bw":null,"status_2xx":5091872,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2109287,"avg_latency":"13.22ms","p99_latency":"13.22ms","cpu":"6489.7%","memory":"4.4GiB","bandwidth":"173.00MB/s","input_bw":"","status_2xx":10546437,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":214310,"avg_latency":"115.86ms","p99_latency":"200.12ms","cpu":"6448.9%","memory":"824MiB","bandwidth":"10.25MB/s","input_bw":null,"status_2xx":1077984,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":246315,"avg_latency":"102.53ms","p99_latency":"102.53ms","cpu":"6173.3%","memory":"4.3GiB","bandwidth":"26.78MB/s","input_bw":"","status_2xx":1231578,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":1223690,"avg_latency":"22.35ms","p99_latency":"22.35ms","cpu":"6298.2%","memory":"1.0GiB","bandwidth":"31.77MB/s","input_bw":null,"status_2xx":6167400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":4644300,"avg_latency":"5.69ms","p99_latency":"5.69ms","cpu":"6210.1%","memory":"10.3GiB","bandwidth":"124.02MB/s","input_bw":"","status_2xx":23221500,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":483871,"avg_latency":"30.44ms","p99_latency":"30.44ms","cpu":"6538.3%","memory":"504MiB","bandwidth":"10.70MB/s","input_bw":null,"status_2xx":2438712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":10355873,"avg_latency":"1.84ms","p99_latency":"5.82ms","cpu":"5585.1%","memory":"1.1GiB","bandwidth":"220.08MB/s","input_bw":null,"status_2xx":52193600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":363192,"avg_latency":"68.12ms","p99_latency":"68.12ms","cpu":"5404.4%","memory":"11.0GiB","bandwidth":"18.36MB/s","input_bw":"","status_2xx":1815975,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":3953950,"avg_latency":"5.35ms","p99_latency":null,"cpu":"5522.3%","memory":"1.1GiB","bandwidth":"421.91MB/s","input_bw":null,"status_2xx":19927912,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1328208,"avg_latency":"20.74ms","p99_latency":null,"cpu":"5428.1%","memory":"201.4MiB","bandwidth":"34.21MB/s","input_bw":"","status_2xx":6641111,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":28243,"avg_latency":"229.68ms","p99_latency":"229.68ms","cpu":"5180.8%","memory":"4.3GiB","bandwidth":"76.21MB/s","input_bw":null,"status_2xx":142064,"status_3xx":0,"status_4xx":0,"status_5xx":381252},{"fw":"symfony-spawn-tas","lang":"PHP","rps":75553,"avg_latency":"312.46ms","p99_latency":"312.46ms","cpu":"6631.0%","memory":"6.4GiB","bandwidth":"2.20MB/s","input_bw":null,"status_2xx":380789,"status_3xx":0,"status_4xx":0,"status_5xx":1990},{"fw":"trillium","lang":"Rust","rps":1309107,"avg_latency":"19.05ms","p99_latency":"103.29ms","cpu":"5766.8%","memory":"1.7GiB","bandwidth":"137.45MB/s","input_bw":null,"status_2xx":6610994,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":2192420,"avg_latency":"13.00ms","p99_latency":"13.00ms","cpu":"6198.4%","memory":"945MiB","bandwidth":"192.29MB/s","input_bw":null,"status_2xx":11049800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":4969431,"avg_latency":"5.40ms","p99_latency":null,"cpu":"7904.6%","memory":"225MiB","bandwidth":"100.12MB/s","input_bw":null,"status_2xx":24996239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4077516,"avg_latency":"5.03ms","p99_latency":"69.51ms","cpu":"5806.0%","memory":"732MiB","bandwidth":"140.83MB/s","input_bw":null,"status_2xx":20509909,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2-1024":[{"fw":"actix","lang":"Rust","rps":3056936,"avg_latency":"31.25ms","p99_latency":"95.31ms","cpu":"6287.4%","memory":"592MiB","bandwidth":"106.25MB/s","input_bw":null,"status_2xx":15468100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2083365,"avg_latency":"50.72ms","p99_latency":"319.41ms","cpu":"5883.1%","memory":"3.8GiB","bandwidth":"48.22MB/s","input_bw":null,"status_2xx":10520996,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":2500521,"avg_latency":"37.47ms","p99_latency":"37.47ms","cpu":"5653.5%","memory":"8.4GiB","bandwidth":"54.90MB/s","input_bw":"","status_2xx":12502607,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":1051284,"avg_latency":"89.18ms","p99_latency":"296.42ms","cpu":"6066.1%","memory":"3.2GiB","bandwidth":"24.36MB/s","input_bw":null,"status_2xx":5308985,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":176248,"avg_latency":"532.77ms","p99_latency":"1.43s","cpu":"6320.9%","memory":"1.9GiB","bandwidth":"3.79MB/s","input_bw":null,"status_2xx":895342,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":2055529,"avg_latency":"26.16ms","p99_latency":"1.99s","cpu":"6062.5%","memory":"8.1GiB","bandwidth":"65.35MB/s","input_bw":null,"status_2xx":10380426,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1905174,"avg_latency":"53.70ms","p99_latency":"215.94ms","cpu":"5935.7%","memory":"4.3GiB","bandwidth":"44.19MB/s","input_bw":null,"status_2xx":9640185,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":247550,"avg_latency":"309.94ms","p99_latency":"309.94ms","cpu":"5057.9%","memory":"3.8GiB","bandwidth":"5.54MB/s","input_bw":"","status_2xx":1240698,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":2031461,"avg_latency":"47.37ms","p99_latency":"212.71ms","cpu":"5913.7%","memory":"2.6GiB","bandwidth":"54.85MB/s","input_bw":null,"status_2xx":10258881,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":1676367,"avg_latency":"60.94ms","p99_latency":null,"cpu":"5976.5%","memory":"4.4GiB","bandwidth":"45.36MB/s","input_bw":null,"status_2xx":8482419,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":3846646,"avg_latency":"26.92ms","p99_latency":"26.92ms","cpu":"6158.5%","memory":"199MiB","bandwidth":"100.48MB/s","input_bw":null,"status_2xx":19502500,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1932594,"avg_latency":"49.60ms","p99_latency":"49.60ms","cpu":"5712.2%","memory":"26.0GiB","bandwidth":"94.01MB/s","input_bw":"","status_2xx":9663598,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2027252,"avg_latency":"45.19ms","p99_latency":null,"cpu":"5700.3%","memory":"26.1GiB","bandwidth":"98.62MB/s","input_bw":"","status_2xx":10136466,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":5157286,"avg_latency":"17.75ms","p99_latency":"17.75ms","cpu":"6584.6%","memory":"475.9MiB","bandwidth":"132.84MB/s","input_bw":"","status_2xx":25786430,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":541980,"avg_latency":"184.02ms","p99_latency":"184.02ms","cpu":"5904.2%","memory":"30.0GiB","bandwidth":"11.56MB/s","input_bw":null,"status_2xx":2753260,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":495732,"avg_latency":"193.95ms","p99_latency":"768.20ms","cpu":"5862.3%","memory":"30.1GiB","bandwidth":"10.55MB/s","input_bw":null,"status_2xx":2513362,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":514296,"avg_latency":"184.38ms","p99_latency":"600.98ms","cpu":"4417.1%","memory":"789MiB","bandwidth":"26.09MB/s","input_bw":null,"status_2xx":2602341,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":929222,"avg_latency":"101.66ms","p99_latency":"333.62ms","cpu":"6550.6%","memory":"21.0GiB","bandwidth":"47.35MB/s","input_bw":null,"status_2xx":4701866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":2101817,"avg_latency":"46.82ms","p99_latency":"46.82ms","cpu":"6556.7%","memory":"4.5GiB","bandwidth":"172.39MB/s","input_bw":"","status_2xx":10509087,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":203145,"avg_latency":"402.37ms","p99_latency":"802.97ms","cpu":"6417.6%","memory":"1.6GiB","bandwidth":"9.80MB/s","input_bw":null,"status_2xx":1027916,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":294864,"avg_latency":"143.45ms","p99_latency":"143.45ms","cpu":"2169.8%","memory":"4.8GiB","bandwidth":"60.80MB/s","input_bw":"","status_2xx":11817,"status_3xx":0,"status_4xx":0,"status_5xx":1462506},{"fw":"pyronova","lang":"Python","rps":1357933,"avg_latency":"71.79ms","p99_latency":"71.79ms","cpu":"6412.9%","memory":"1.6GiB","bandwidth":"35.57MB/s","input_bw":null,"status_2xx":6898300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":4476540,"avg_latency":"22.74ms","p99_latency":"22.74ms","cpu":"6094.4%","memory":"10.4GiB","bandwidth":"119.55MB/s","input_bw":"","status_2xx":22382700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":492690,"avg_latency":"29.90ms","p99_latency":"29.90ms","cpu":"6439.2%","memory":"555MiB","bandwidth":"10.96MB/s","input_bw":null,"status_2xx":2497942,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":10509503,"avg_latency":"4.95ms","p99_latency":"36.63ms","cpu":"5919.4%","memory":"1.3GiB","bandwidth":"228.12MB/s","input_bw":null,"status_2xx":52967900,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":295341,"avg_latency":"288.80ms","p99_latency":"288.80ms","cpu":"5434.4%","memory":"26.5GiB","bandwidth":"14.94MB/s","input_bw":"","status_2xx":1476711,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":4258709,"avg_latency":"19.28ms","p99_latency":null,"cpu":"6331.6%","memory":"1.6GiB","bandwidth":"457.14MB/s","input_bw":null,"status_2xx":21591657,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":1254047,"avg_latency":"74.92ms","p99_latency":null,"cpu":"5187.5%","memory":"259.3MiB","bandwidth":"32.33MB/s","input_bw":"","status_2xx":6270311,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":97817,"avg_latency":"465.99ms","p99_latency":"465.99ms","cpu":"4817.0%","memory":"7.1GiB","bandwidth":"57.95MB/s","input_bw":null,"status_2xx":494959,"status_3xx":0,"status_4xx":0,"status_5xx":284226},{"fw":"symfony-spawn-tas","lang":"PHP","rps":56409,"avg_latency":"1.29s","p99_latency":"1.29s","cpu":"6700.0%","memory":"17.3GiB","bandwidth":"1.29MB/s","input_bw":null,"status_2xx":286561,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":1250296,"avg_latency":"64.77ms","p99_latency":"468.94ms","cpu":"5826.0%","memory":"6.6GiB","bandwidth":"130.59MB/s","input_bw":null,"status_2xx":6339002,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1969566,"avg_latency":"49.72ms","p99_latency":"49.72ms","cpu":"6384.8%","memory":"4.8GiB","bandwidth":"174.18MB/s","input_bw":null,"status_2xx":10005400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3288741,"avg_latency":"27.37ms","p99_latency":null,"cpu":"7207.5%","memory":"505MiB","bandwidth":"66.54MB/s","input_bw":null,"status_2xx":16608143,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3827100,"avg_latency":"23.44ms","p99_latency":"345.82ms","cpu":"6351.4%","memory":"978MiB","bandwidth":"133.25MB/s","input_bw":null,"status_2xx":19403398,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-h2-256":[{"fw":"actix","lang":"Rust","rps":51989,"avg_latency":"155.69ms","p99_latency":"1.58s","cpu":"5764.2%","memory":"11.2GiB","bandwidth":"792.92MB/s","input_bw":null,"status_2xx":261509,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":184837,"avg_latency":"43.65ms","p99_latency":"245.59ms","cpu":"5889.5%","memory":"933MiB","bandwidth":"2.82GB/s","input_bw":null,"status_2xx":929732,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":357154,"avg_latency":"70.79ms","p99_latency":"70.79ms","cpu":"6231.1%","memory":"6.0GiB","bandwidth":"5.45GB/s","input_bw":"","status_2xx":1794808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":73314,"avg_latency":"109.43ms","p99_latency":"957.18ms","cpu":"5960.0%","memory":"3.3GiB","bandwidth":"1.93GB/s","input_bw":null,"status_2xx":368774,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":105962,"avg_latency":"93.23ms","p99_latency":"1.00s","cpu":"6384.1%","memory":"1.6GiB","bandwidth":"1.62GB/s","input_bw":null,"status_2xx":534053,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":295869,"avg_latency":"22.76ms","p99_latency":"1.98s","cpu":"6181.3%","memory":"1.4GiB","bandwidth":"4.55GB/s","input_bw":null,"status_2xx":1488226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":194804,"avg_latency":"41.34ms","p99_latency":"245.38ms","cpu":"5928.6%","memory":"916MiB","bandwidth":"2.97GB/s","input_bw":null,"status_2xx":979866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":166847,"avg_latency":"139.75ms","p99_latency":"139.75ms","cpu":"5193.4%","memory":"1.8GiB","bandwidth":"2.27GB/s","input_bw":"","status_2xx":837958,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":254974,"avg_latency":"31.87ms","p99_latency":"207.20ms","cpu":"5814.8%","memory":"2.3GiB","bandwidth":"3.90GB/s","input_bw":null,"status_2xx":1282522,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":161502,"avg_latency":"47.82ms","p99_latency":null,"cpu":"6210.9%","memory":"714MiB","bandwidth":"2.87GB/s","input_bw":null,"status_2xx":813973,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":387730,"avg_latency":"21.48ms","p99_latency":"21.48ms","cpu":"6186.2%","memory":"184MiB","bandwidth":"23.13GB/s","input_bw":null,"status_2xx":1954163,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":21321,"avg_latency":"1.05s","p99_latency":"1.05s","cpu":"6075.8%","memory":"4.7GiB","bandwidth":"379.80MB/s","input_bw":"","status_2xx":106719,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":265851,"avg_latency":"79.70ms","p99_latency":null,"cpu":"6025.3%","memory":"15.0GiB","bandwidth":"4.04GB/s","input_bw":"","status_2xx":1329521,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":407071,"avg_latency":"61.68ms","p99_latency":"61.68ms","cpu":"4838.5%","memory":"268.4MiB","bandwidth":"24.13GB/s","input_bw":"","status_2xx":2036239,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":189737,"avg_latency":"41.76ms","p99_latency":"41.76ms","cpu":"6023.8%","memory":"16.0GiB","bandwidth":"2.91GB/s","input_bw":null,"status_2xx":956279,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":196780,"avg_latency":"40.90ms","p99_latency":"299.14ms","cpu":"5881.4%","memory":"23.3GiB","bandwidth":"3.02GB/s","input_bw":null,"status_2xx":989807,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":340393,"avg_latency":"23.50ms","p99_latency":"158.80ms","cpu":"5654.5%","memory":"149MiB","bandwidth":"8.26GB/s","input_bw":null,"status_2xx":1712180,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":234818,"avg_latency":"35.23ms","p99_latency":"384.90ms","cpu":"6595.9%","memory":"7.1GiB","bandwidth":"4.04GB/s","input_bw":null,"status_2xx":1183485,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":698881,"avg_latency":"41.71ms","p99_latency":"41.71ms","cpu":"6507.0%","memory":"4.8GiB","bandwidth":"11.91GB/s","input_bw":"","status_2xx":3494439,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":24449,"avg_latency":"316.56ms","p99_latency":"646.84ms","cpu":"1462.2%","memory":"811MiB","bandwidth":"381.25MB/s","input_bw":null,"status_2xx":122737,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":708017,"avg_latency":"42.70ms","p99_latency":"42.70ms","cpu":"6481.6%","memory":"4.0GiB","bandwidth":"12.07GB/s","input_bw":"","status_2xx":3540118,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":288301,"avg_latency":"29.86ms","p99_latency":"29.86ms","cpu":"6296.2%","memory":"1.8GiB","bandwidth":"17.22GB/s","input_bw":null,"status_2xx":1453042,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":429941,"avg_latency":"58.46ms","p99_latency":"58.46ms","cpu":"4526.4%","memory":"10.7GiB","bandwidth":"6.58GB/s","input_bw":"","status_2xx":2156068,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":18720,"avg_latency":"93.17ms","p99_latency":"93.17ms","cpu":"1349.5%","memory":"703MiB","bandwidth":"316.15MB/s","input_bw":null,"status_2xx":94350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":769518,"avg_latency":"6.94ms","p99_latency":"34.84ms","cpu":"6327.1%","memory":"1.5GiB","bandwidth":"11.77GB/s","input_bw":null,"status_2xx":3878374,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":31045,"avg_latency":"725.82ms","p99_latency":"725.82ms","cpu":"5945.7%","memory":"7.2GiB","bandwidth":"644.45MB/s","input_bw":"","status_2xx":155299,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1140815,"avg_latency":"6.93ms","p99_latency":null,"cpu":"6272.0%","memory":"1.5GiB","bandwidth":"17.55GB/s","input_bw":null,"status_2xx":5738304,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":357361,"avg_latency":"81.44ms","p99_latency":null,"cpu":"4724.3%","memory":"619.4MiB","bandwidth":"5.43GB/s","input_bw":"","status_2xx":1786875,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":63518,"avg_latency":"64.13ms","p99_latency":"64.13ms","cpu":"5491.9%","memory":"2.2GiB","bandwidth":"637.75MB/s","input_bw":null,"status_2xx":320134,"status_3xx":0,"status_4xx":0,"status_5xx":286846},{"fw":"symfony-spawn-tas","lang":"PHP","rps":58177,"avg_latency":"133.32ms","p99_latency":"133.32ms","cpu":"6579.6%","memory":"406MiB","bandwidth":"916.47MB/s","input_bw":null,"status_2xx":293213,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":20963,"avg_latency":"354.75ms","p99_latency":"1.17s","cpu":"3940.3%","memory":"1.2GiB","bandwidth":"329.22MB/s","input_bw":null,"status_2xx":105448,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":0,"avg_latency":"","p99_latency":"","cpu":"1486.4%","memory":"5.1GiB","bandwidth":"0","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1035118,"avg_latency":"8.26ms","p99_latency":null,"cpu":"6423.3%","memory":"559MiB","bandwidth":"15.88GB/s","input_bw":null,"status_2xx":5227347,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-h2-1024":[{"fw":"actix","lang":"Rust","rps":64019,"avg_latency":"514.33ms","p99_latency":"2.64s","cpu":"5068.6%","memory":"37.0GiB","bandwidth":"910.79MB/s","input_bw":null,"status_2xx":323297,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":123587,"avg_latency":"252.14ms","p99_latency":"1.32s","cpu":"5845.2%","memory":"2.9GiB","bandwidth":"1.87GB/s","input_bw":null,"status_2xx":624117,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal-aot","lang":"C#","rps":375583,"avg_latency":"257.90ms","p99_latency":"257.90ms","cpu":"6428.8%","memory":"6.9GiB","bandwidth":"5.78GB/s","input_bw":"","status_2xx":1902735,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-mvc","lang":"C#","rps":43438,"avg_latency":"685.37ms","p99_latency":"4.95s","cpu":"4880.8%","memory":"11.6GiB","bandwidth":"1.06GB/s","input_bw":null,"status_2xx":219801,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":102468,"avg_latency":"300.06ms","p99_latency":"975.28ms","cpu":"6339.6%","memory":"2.0GiB","bandwidth":"1.58GB/s","input_bw":null,"status_2xx":521564,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":0,"avg_latency":"","p99_latency":"","cpu":"6187.1%","memory":"4.3GiB","bandwidth":"0","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":131066,"avg_latency":"237.66ms","p99_latency":"1.27s","cpu":"5444.9%","memory":"3.3GiB","bandwidth":"1.99GB/s","input_bw":null,"status_2xx":663195,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":184255,"avg_latency":"382.61ms","p99_latency":"382.61ms","cpu":"5140.8%","memory":"5.1GiB","bandwidth":"1.78GB/s","input_bw":"","status_2xx":925382,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":230386,"avg_latency":"136.40ms","p99_latency":"666.97ms","cpu":"5328.6%","memory":"7.4GiB","bandwidth":"3.54GB/s","input_bw":null,"status_2xx":1165754,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":156461,"avg_latency":"183.99ms","p99_latency":null,"cpu":"6142.4%","memory":"2.0GiB","bandwidth":"2.66GB/s","input_bw":null,"status_2xx":791695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":366464,"avg_latency":"84.91ms","p99_latency":"84.91ms","cpu":"5973.3%","memory":"445MiB","bandwidth":"22.00GB/s","input_bw":null,"status_2xx":1868967,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":18949,"avg_latency":"2.90s","p99_latency":"2.90s","cpu":"5950.6%","memory":"6.5GiB","bandwidth":"337.48MB/s","input_bw":"","status_2xx":94881,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":310187,"avg_latency":"157.83ms","p99_latency":null,"cpu":"6190.0%","memory":"17.2GiB","bandwidth":"4.72GB/s","input_bw":"","status_2xx":1551146,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyper","lang":"Rust","rps":394013,"avg_latency":"228.65ms","p99_latency":"228.65ms","cpu":"4202.2%","memory":"719.8MiB","bandwidth":"23.36GB/s","input_bw":"","status_2xx":1970677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":180206,"avg_latency":"173.56ms","p99_latency":"173.56ms","cpu":"5728.0%","memory":"24.7GiB","bandwidth":"2.78GB/s","input_bw":null,"status_2xx":913649,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":184792,"avg_latency":"170.18ms","p99_latency":"530.61ms","cpu":"5720.6%","memory":"24.2GiB","bandwidth":"2.85GB/s","input_bw":null,"status_2xx":935050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":246138,"avg_latency":"126.28ms","p99_latency":"430.54ms","cpu":"3659.5%","memory":"351MiB","bandwidth":"6.02GB/s","input_bw":null,"status_2xx":1245462,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":265705,"avg_latency":"118.44ms","p99_latency":"456.67ms","cpu":"6542.7%","memory":"9.5GiB","bandwidth":"4.57GB/s","input_bw":null,"status_2xx":1339156,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":722580,"avg_latency":"132.06ms","p99_latency":"132.06ms","cpu":"6568.7%","memory":"5.3GiB","bandwidth":"12.31GB/s","input_bw":"","status_2xx":3612998,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":23911,"avg_latency":"1.02s","p99_latency":"1.90s","cpu":"1541.9%","memory":"1.4GiB","bandwidth":"374.22MB/s","input_bw":null,"status_2xx":120755,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":730481,"avg_latency":"132.18ms","p99_latency":"132.18ms","cpu":"6594.4%","memory":"4.8GiB","bandwidth":"12.45GB/s","input_bw":"","status_2xx":3652490,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":267822,"avg_latency":"109.08ms","p99_latency":"109.08ms","cpu":"6296.0%","memory":"2.3GiB","bandwidth":"16.21GB/s","input_bw":null,"status_2xx":1365896,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":402644,"avg_latency":"238.85ms","p99_latency":"238.85ms","cpu":"4483.3%","memory":"11.5GiB","bandwidth":"6.16GB/s","input_bw":"","status_2xx":2025408,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":18609,"avg_latency":"92.00ms","p99_latency":"92.00ms","cpu":"1611.7%","memory":"1.2GiB","bandwidth":"316.15MB/s","input_bw":null,"status_2xx":94350,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":817307,"avg_latency":"8.39ms","p99_latency":"77.80ms","cpu":"5575.1%","memory":"2.0GiB","bandwidth":"12.54GB/s","input_bw":null,"status_2xx":4127404,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"spring-boot","lang":"Java","rps":30063,"avg_latency":"1.57s","p99_latency":"1.57s","cpu":"6068.9%","memory":"12.2GiB","bandwidth":"621.98MB/s","input_bw":"","status_2xx":150392,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":1088303,"avg_latency":"28.17ms","p99_latency":null,"cpu":"6529.1%","memory":"2.3GiB","bandwidth":"16.85GB/s","input_bw":null,"status_2xx":5506814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":380483,"avg_latency":"254.80ms","p99_latency":null,"cpu":"4627.2%","memory":"1.9GiB","bandwidth":"5.78GB/s","input_bw":"","status_2xx":1902515,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":52582,"avg_latency":"246.82ms","p99_latency":"246.82ms","cpu":"4915.1%","memory":"5.1GiB","bandwidth":"123.87MB/s","input_bw":null,"status_2xx":266595,"status_3xx":0,"status_4xx":0,"status_5xx":346287},{"fw":"symfony-spawn-tas","lang":"PHP","rps":41727,"avg_latency":"654.17ms","p99_latency":"654.17ms","cpu":"6706.7%","memory":"733MiB","bandwidth":"676.05MB/s","input_bw":null,"status_2xx":211976,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":18596,"avg_latency":"1.05s","p99_latency":"3.05s","cpu":"3934.9%","memory":"2.2GiB","bandwidth":"292.00MB/s","input_bw":null,"status_2xx":93914,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":0,"avg_latency":"","p99_latency":"","cpu":"2590.0%","memory":"5.0GiB","bandwidth":"0","input_bw":null,"status_2xx":0,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":830382,"avg_latency":"37.40ms","p99_latency":null,"cpu":"6562.3%","memory":"2.3GiB","bandwidth":"12.78GB/s","input_bw":null,"status_2xx":4201735,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2c-256":[{"fw":"actix","lang":"Rust","rps":5918827,"avg_latency":"4.12ms","p99_latency":"4.12ms","cpu":"6453.4%","memory":"150MiB","bandwidth":"204.44MB/s","input_bw":null,"status_2xx":29771700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2684246,"avg_latency":"9.75ms","p99_latency":"60.80ms","cpu":"6240.9%","memory":"1.0GiB","bandwidth":"59.24MB/s","input_bw":null,"status_2xx":13501758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":2468856,"avg_latency":"10.43ms","p99_latency":"62.56ms","cpu":"6212.1%","memory":"1.1GiB","bandwidth":"54.49MB/s","input_bw":null,"status_2xx":12418349,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":412245,"avg_latency":"67.92ms","p99_latency":"67.92ms","cpu":"5465.5%","memory":"30.7GiB","bandwidth":"8.74MB/s","input_bw":null,"status_2xx":2081842,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":391103,"avg_latency":"54.35ms","p99_latency":"359.42ms","cpu":"5639.1%","memory":"30.4GiB","bandwidth":"8.27MB/s","input_bw":null,"status_2xx":1971162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":564793,"avg_latency":"44.45ms","p99_latency":"169.29ms","cpu":"4389.1%","memory":"261MiB","bandwidth":"28.43MB/s","input_bw":null,"status_2xx":2840912,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":964820,"avg_latency":"28.19ms","p99_latency":"142.50ms","cpu":"6683.8%","memory":"12.7GiB","bandwidth":"49.05MB/s","input_bw":null,"status_2xx":4862693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":6188551,"avg_latency":"4.12ms","p99_latency":"4.12ms","cpu":"6161.5%","memory":"10.2GiB","bandwidth":"166.58MB/s","input_bw":null,"status_2xx":31190300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":922318,"avg_latency":"16.38ms","p99_latency":"16.38ms","cpu":"6584.9%","memory":"579MiB","bandwidth":"20.51MB/s","input_bw":null,"status_2xx":4648483,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":11825268,"avg_latency":"1.89ms","p99_latency":"8.79ms","cpu":"5936.0%","memory":"1.1GiB","bandwidth":"238.25MB/s","input_bw":null,"status_2xx":59481100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":12592507,"avg_latency":"1.16ms","p99_latency":null,"cpu":"4197.4%","memory":"1.1GiB","bandwidth":"1.31GB/s","input_bw":null,"status_2xx":63466236,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":6038026,"avg_latency":"4.37ms","p99_latency":null,"cpu":"7082.3%","memory":"244MiB","bandwidth":"121.65MB/s","input_bw":null,"status_2xx":30371272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":955818,"avg_latency":"26.28ms","p99_latency":"321.57ms","cpu":"4954.0%","memory":"16.8GiB","bandwidth":"41.60MB/s","input_bw":null,"status_2xx":4846000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4125744,"avg_latency":"6.53ms","p99_latency":"25.87ms","cpu":"6419.7%","memory":"708MiB","bandwidth":"142.50MB/s","input_bw":null,"status_2xx":20752493,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2c-1024":[{"fw":"actix","lang":"Rust","rps":4282445,"avg_latency":"23.22ms","p99_latency":"23.22ms","cpu":"6451.7%","memory":"496MiB","bandwidth":"149.12MB/s","input_bw":null,"status_2xx":21712000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":2454077,"avg_latency":"43.84ms","p99_latency":"310.39ms","cpu":"5967.7%","memory":"4.5GiB","bandwidth":"54.53MB/s","input_bw":null,"status_2xx":12417634,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":2225048,"avg_latency":"47.80ms","p99_latency":"302.68ms","cpu":"6044.7%","memory":"4.3GiB","bandwidth":"49.44MB/s","input_bw":null,"status_2xx":11258743,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":402964,"avg_latency":"210.39ms","p99_latency":"210.39ms","cpu":"5790.3%","memory":"31.1GiB","bandwidth":"8.60MB/s","input_bw":null,"status_2xx":2047062,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":362388,"avg_latency":"291.47ms","p99_latency":"1.95s","cpu":"5652.8%","memory":"30.9GiB","bandwidth":"7.72MB/s","input_bw":null,"status_2xx":1837308,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":500237,"avg_latency":"196.13ms","p99_latency":"663.00ms","cpu":"4422.9%","memory":"830MiB","bandwidth":"25.40MB/s","input_bw":null,"status_2xx":2531200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":904557,"avg_latency":"109.65ms","p99_latency":"392.56ms","cpu":"6665.8%","memory":"19.8GiB","bandwidth":"45.90MB/s","input_bw":null,"status_2xx":4568014,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":6180019,"avg_latency":"15.99ms","p99_latency":"15.99ms","cpu":"6016.8%","memory":"10.1GiB","bandwidth":"167.35MB/s","input_bw":null,"status_2xx":31332700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":938636,"avg_latency":"15.97ms","p99_latency":"15.97ms","cpu":"6530.3%","memory":"509MiB","bandwidth":"20.92MB/s","input_bw":null,"status_2xx":4749501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":12533900,"avg_latency":"7.17ms","p99_latency":"25.96ms","cpu":"6444.9%","memory":"1.1GiB","bandwidth":"253.54MB/s","input_bw":null,"status_2xx":63296200,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":12853389,"avg_latency":"4.23ms","p99_latency":null,"cpu":"4259.0%","memory":"1.5GiB","bandwidth":"1.34GB/s","input_bw":null,"status_2xx":64909615,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3991541,"avg_latency":"23.14ms","p99_latency":null,"cpu":"7607.8%","memory":"528MiB","bandwidth":"81.07MB/s","input_bw":null,"status_2xx":20237114,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":1026312,"avg_latency":"91.01ms","p99_latency":"630.83ms","cpu":"4941.6%","memory":"18.0GiB","bandwidth":"45.64MB/s","input_bw":null,"status_2xx":5316300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3852562,"avg_latency":"25.82ms","p99_latency":"130.96ms","cpu":"6446.0%","memory":"991MiB","bandwidth":"133.87MB/s","input_bw":null,"status_2xx":19493965,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h2c-4096":[{"fw":"actix","lang":"Rust","rps":3597318,"avg_latency":"101.66ms","p99_latency":"101.66ms","cpu":"6437.1%","memory":"1.9GiB","bandwidth":"126.37MB/s","input_bw":null,"status_2xx":18382300,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1280412,"avg_latency":"178.40ms","p99_latency":"884.79ms","cpu":"5313.2%","memory":"7.8GiB","bandwidth":"28.82MB/s","input_bw":null,"status_2xx":6530105,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":1359718,"avg_latency":"234.39ms","p99_latency":"740.60ms","cpu":"4726.4%","memory":"9.1GiB","bandwidth":"30.54MB/s","input_bw":null,"status_2xx":6920968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":279991,"avg_latency":"1.37s","p99_latency":"1.37s","cpu":"5175.2%","memory":"31.2GiB","bandwidth":"6.03MB/s","input_bw":null,"status_2xx":1430758,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":392445,"avg_latency":"868.48ms","p99_latency":"2.26s","cpu":"5584.7%","memory":"31.4GiB","bandwidth":"8.43MB/s","input_bw":null,"status_2xx":2001471,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":450670,"avg_latency":"743.95ms","p99_latency":"3.24s","cpu":"4569.9%","memory":"2.5GiB","bandwidth":"23.10MB/s","input_bw":null,"status_2xx":2298422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":872281,"avg_latency":"411.23ms","p99_latency":"828.57ms","cpu":"6550.7%","memory":"26.2GiB","bandwidth":"44.81MB/s","input_bw":null,"status_2xx":4439911,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":6109902,"avg_latency":"63.52ms","p99_latency":"63.52ms","cpu":"6043.4%","memory":"10.6GiB","bandwidth":"166.78MB/s","input_bw":null,"status_2xx":31221600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":920957,"avg_latency":"16.02ms","p99_latency":"16.02ms","cpu":"6210.3%","memory":"574MiB","bandwidth":"20.72MB/s","input_bw":null,"status_2xx":4706095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":12340650,"avg_latency":"30.28ms","p99_latency":"107.94ms","cpu":"6308.1%","memory":"1.3GiB","bandwidth":"250.66MB/s","input_bw":null,"status_2xx":62567100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":11766888,"avg_latency":"19.49ms","p99_latency":null,"cpu":"3976.7%","memory":"3.0GiB","bandwidth":"1.25GB/s","input_bw":null,"status_2xx":60246471,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":3753829,"avg_latency":"100.43ms","p99_latency":null,"cpu":"7497.4%","memory":"1.5GiB","bandwidth":"76.44MB/s","input_bw":null,"status_2xx":19069452,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":1011355,"avg_latency":"354.91ms","p99_latency":"1.04s","cpu":"4812.9%","memory":"18.4GiB","bandwidth":"44.21MB/s","input_bw":null,"status_2xx":5147800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3709205,"avg_latency":"107.63ms","p99_latency":"611.62ms","cpu":"6389.5%","memory":"2.0GiB","bandwidth":"129.44MB/s","input_bw":null,"status_2xx":18842764,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-h2c-1024":[{"fw":"actix","lang":"Rust","rps":1207456,"avg_latency":"26.87ms","p99_latency":"26.87ms","cpu":"5364.2%","memory":"281MiB","bandwidth":"4.05GB/s","input_bw":null,"status_2xx":6121804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":690439,"avg_latency":"47.73ms","p99_latency":"282.09ms","cpu":"6158.8%","memory":"1.5GiB","bandwidth":"2.31GB/s","input_bw":null,"status_2xx":3493626,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":599680,"avg_latency":"53.44ms","p99_latency":"334.07ms","cpu":"6062.1%","memory":"1.8GiB","bandwidth":"2.00GB/s","input_bw":null,"status_2xx":3028389,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":314284,"avg_latency":"101.21ms","p99_latency":"101.21ms","cpu":"4441.9%","memory":"28.2GiB","bandwidth":"1.05GB/s","input_bw":null,"status_2xx":1590280,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":424461,"avg_latency":"71.66ms","p99_latency":"319.32ms","cpu":"5873.4%","memory":"29.4GiB","bandwidth":"1.43GB/s","input_bw":null,"status_2xx":2152022,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":511497,"avg_latency":"61.75ms","p99_latency":"194.77ms","cpu":"3241.8%","memory":"377MiB","bandwidth":"1.72GB/s","input_bw":null,"status_2xx":2588178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":320500,"avg_latency":"100.18ms","p99_latency":"319.92ms","cpu":"6629.2%","memory":"10.1GiB","bandwidth":"1.08GB/s","input_bw":null,"status_2xx":1621734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1034480,"avg_latency":"31.04ms","p99_latency":"31.04ms","cpu":"6321.0%","memory":"10.2GiB","bandwidth":"3.47GB/s","input_bw":null,"status_2xx":5244814,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":113101,"avg_latency":"41.74ms","p99_latency":"41.74ms","cpu":"6525.1%","memory":"1.5GiB","bandwidth":"387.00MB/s","input_bw":null,"status_2xx":573427,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":3243287,"avg_latency":"9.63ms","p99_latency":"76.18ms","cpu":"6556.1%","memory":"1.3GiB","bandwidth":"10.82GB/s","input_bw":null,"status_2xx":16411035,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":4673017,"avg_latency":"6.71ms","p99_latency":null,"cpu":"6489.7%","memory":"1.5GiB","bandwidth":"15.99GB/s","input_bw":null,"status_2xx":23598736,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1232194,"avg_latency":"25.75ms","p99_latency":null,"cpu":"7366.1%","memory":"319MiB","bandwidth":"4.10GB/s","input_bw":null,"status_2xx":6222580,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":107856,"avg_latency":"282.82ms","p99_latency":"940.48ms","cpu":"4725.1%","memory":"26.8GiB","bandwidth":"379.97MB/s","input_bw":null,"status_2xx":559776,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":1875721,"avg_latency":"16.96ms","p99_latency":"233.54ms","cpu":"6551.1%","memory":"473MiB","bandwidth":"6.58GB/s","input_bw":null,"status_2xx":9491149,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"json-h2c-4096":[{"fw":"actix","lang":"Rust","rps":1213875,"avg_latency":"99.60ms","p99_latency":"99.60ms","cpu":"6376.2%","memory":"1011MiB","bandwidth":"4.11GB/s","input_bw":null,"status_2xx":6215040,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":595760,"avg_latency":"164.52ms","p99_latency":"1.47s","cpu":"5930.0%","memory":"5.2GiB","bandwidth":"2.00GB/s","input_bw":null,"status_2xx":3038380,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":515673,"avg_latency":"206.53ms","p99_latency":"1.46s","cpu":"5919.3%","memory":"5.6GiB","bandwidth":"1.73GB/s","input_bw":null,"status_2xx":2624778,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":282755,"avg_latency":"426.56ms","p99_latency":"426.56ms","cpu":"4531.9%","memory":"29.9GiB","bandwidth":"979.64MB/s","input_bw":null,"status_2xx":1447709,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":389919,"avg_latency":"304.94ms","p99_latency":"1.05s","cpu":"5765.4%","memory":"29.5GiB","bandwidth":"1.32GB/s","input_bw":null,"status_2xx":1988587,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":469575,"avg_latency":"255.40ms","p99_latency":"1.10s","cpu":"3159.7%","memory":"1.1GiB","bandwidth":"1.59GB/s","input_bw":null,"status_2xx":2394837,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge-py","lang":"Python","rps":314660,"avg_latency":"385.57ms","p99_latency":"844.83ms","cpu":"6528.1%","memory":"15.5GiB","bandwidth":"1.06GB/s","input_bw":null,"status_2xx":1601621,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":1039944,"avg_latency":"120.01ms","p99_latency":"120.01ms","cpu":"6365.2%","memory":"10.7GiB","bandwidth":"3.51GB/s","input_bw":null,"status_2xx":5303718,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":124178,"avg_latency":"37.70ms","p99_latency":"37.70ms","cpu":"6582.0%","memory":"1.6GiB","bandwidth":"427.44MB/s","input_bw":null,"status_2xx":633309,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1975371,"avg_latency":"64.10ms","p99_latency":"432.37ms","cpu":"6514.2%","memory":"1.9GiB","bandwidth":"6.61GB/s","input_bw":null,"status_2xx":10034888,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":4651866,"avg_latency":"28.09ms","p99_latency":null,"cpu":"6349.1%","memory":"3.1GiB","bandwidth":"16.04GB/s","input_bw":null,"status_2xx":23678003,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"true-async-server","lang":"PHP","rps":1217112,"avg_latency":"102.11ms","p99_latency":null,"cpu":"7258.8%","memory":"781MiB","bandwidth":"4.09GB/s","input_bw":null,"status_2xx":6207276,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-h2c","lang":"V","rps":98210,"avg_latency":"1.12s","p99_latency":"2.28s","cpu":"4714.9%","memory":"27.9GiB","bandwidth":"338.69MB/s","input_bw":null,"status_2xx":504804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":1771441,"avg_latency":"72.15ms","p99_latency":"571.49ms","cpu":"6575.2%","memory":"939MiB","bandwidth":"6.25GB/s","input_bw":null,"status_2xx":9016637,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"baseline-h3-64":[{"fw":"aspnet-minimal","lang":"C#","rps":626288,"avg_latency":"5.87ms","p99_latency":"22.32ms","cpu":"6087.5%","memory":"1.2GiB","bandwidth":"64.63MB/s","input_bw":null,"status_2xx":3137706,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":166856,"avg_latency":"23.80ms","p99_latency":"74.99ms","cpu":"1953.2%","memory":"501MiB","bandwidth":"1.91MB/s","input_bw":null,"status_2xx":835953,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":641722,"avg_latency":"5.75ms","p99_latency":"16.42ms","cpu":"6181.0%","memory":"1.9GiB","bandwidth":"65.61MB/s","input_bw":null,"status_2xx":3215028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":201169,"avg_latency":"18.75ms","p99_latency":"84.40ms","cpu":"3348.0%","memory":"626.1MiB","bandwidth":"8.24MB/s","input_bw":"","status_2xx":1005849,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":654662,"avg_latency":"5.66ms","p99_latency":"18.82ms","cpu":"6104.9%","memory":"1.3GiB","bandwidth":"58.80MB/s","input_bw":null,"status_2xx":3279860,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":627428,"avg_latency":"5.90ms","p99_latency":"18.43ms","cpu":"6208.9%","memory":"1.7GiB","bandwidth":"62.35MB/s","input_bw":null,"status_2xx":3143417,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":3042433,"avg_latency":"1.19ms","p99_latency":"2.57ms","cpu":"3513.3%","memory":"144MiB","bandwidth":"163.46MB/s","input_bw":null,"status_2xx":15303440,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":3919344,"avg_latency":"1.10ms","p99_latency":"1.96ms","cpu":"4581.1%","memory":"4.5GiB","bandwidth":"298.97MB/s","input_bw":"","status_2xx":19596722,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":273758,"avg_latency":"15.33ms","p99_latency":"28.65ms","cpu":"6527.1%","memory":"4.0GiB","bandwidth":"28.15MB/s","input_bw":"","status_2xx":1368791,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":110588,"avg_latency":"35.49ms","p99_latency":"42.76ms","cpu":"5437.7%","memory":"468MiB","bandwidth":"7.50MB/s","input_bw":null,"status_2xx":554050,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":907695,"avg_latency":"2.39ms","p99_latency":"6.67ms","cpu":"4240.3%","memory":"1.2GiB","bandwidth":"34.70MB/s","input_bw":null,"status_2xx":4547552,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":164063,"avg_latency":"23.12ms","p99_latency":"54.41ms","cpu":"5313.7%","memory":"1.4GiB","bandwidth":"12.45MB/s","input_bw":null,"status_2xx":823598,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":448897,"avg_latency":"6.78ms","p99_latency":"63.40ms","cpu":"2440.7%","memory":"233MiB","bandwidth":"7.31MB/s","input_bw":null,"status_2xx":2248977,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":120828,"avg_latency":"26.53ms","p99_latency":"111.36ms","cpu":"98.6%","memory":"224MiB","bandwidth":"2.02MB/s","input_bw":null,"status_2xx":607766,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":9573685,"avg_latency":"413us","p99_latency":"757us","cpu":"1283.3%","memory":"416MiB","bandwidth":"73.19MB/s","input_bw":null,"status_2xx":47964164,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"static-h3-64":[{"fw":"aspnet-minimal","lang":"C#","rps":120521,"avg_latency":"33.88ms","p99_latency":"154.00ms","cpu":"4867.5%","memory":"1.9GiB","bandwidth":"1.84GB/s","input_bw":null,"status_2xx":603815,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":100041,"avg_latency":"40.29ms","p99_latency":"117.10ms","cpu":"3950.1%","memory":"781MiB","bandwidth":"1.53GB/s","input_bw":null,"status_2xx":501210,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fastendpoints","lang":"C#","rps":140763,"avg_latency":"29.69ms","p99_latency":"139.35ms","cpu":"5966.5%","memory":"2.0GiB","bandwidth":"2.16GB/s","input_bw":null,"status_2xx":705226,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"frankenphp-trueasync","lang":"PHP","rps":74646,"avg_latency":"54.32ms","p99_latency":"208.00ms","cpu":"1926.0%","memory":"1.4GiB","bandwidth":"1.13GB/s","input_bw":"","status_2xx":376169,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":173481,"avg_latency":"24.46ms","p99_latency":"105.40ms","cpu":"5865.3%","memory":"1.9GiB","bandwidth":"2.64GB/s","input_bw":null,"status_2xx":869143,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-kestrel","lang":"C#","rps":110183,"avg_latency":"36.05ms","p99_latency":"364.14ms","cpu":"6325.0%","memory":"1.2GiB","bandwidth":"1.94GB/s","input_bw":null,"status_2xx":552019,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"h2o-mruby","lang":"Ruby","rps":252307,"avg_latency":"17.85ms","p99_latency":"39.47ms","cpu":"4067.8%","memory":"368MiB","bandwidth":"15.06GB/s","input_bw":null,"status_2xx":1269106,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ngx-php","lang":"PHP","rps":268299,"avg_latency":"16.29ms","p99_latency":"55.17ms","cpu":"5525.3%","memory":"4.7GiB","bandwidth":"4.57GB/s","input_bw":"","status_2xx":1341748,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"php-fpm","lang":"PHP","rps":252236,"avg_latency":"17.08ms","p99_latency":"49.83ms","cpu":"5594.0%","memory":"3.9GiB","bandwidth":"4.29GB/s","input_bw":"","status_2xx":1261437,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":13101,"avg_latency":"307.78ms","p99_latency":"447.08ms","cpu":"5018.7%","memory":"700MiB","bandwidth":"224.27MB/s","input_bw":null,"status_2xx":65640,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swerver","lang":"Zig","rps":403355,"avg_latency":"272us","p99_latency":"634us","cpu":"3411.1%","memory":"1.2GiB","bandwidth":"6.15GB/s","input_bw":null,"status_2xx":2020813,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"symfony-spawn-franken","lang":"PHP","rps":64730,"avg_latency":"62.71ms","p99_latency":"241.28ms","cpu":"2813.5%","memory":"4.4GiB","bandwidth":"1004.73MB/s","input_bw":null,"status_2xx":325596,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":18600,"avg_latency":"61.00ms","p99_latency":"307.65ms","cpu":"3715.2%","memory":"645MiB","bandwidth":"289.74MB/s","input_bw":null,"status_2xx":93186,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":52,"avg_latency":"2.97s","p99_latency":"4.31s","cpu":"99.9%","memory":"304MiB","bandwidth":"74.98KB/s","input_bw":null,"status_2xx":263,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix","lang":"Zig","rps":611890,"avg_latency":"3.31ms","p99_latency":"10.22ms","cpu":"2905.3%","memory":"403MiB","bandwidth":"9.29GB/s","input_bw":null,"status_2xx":3065571,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-256":[{"fw":"aspnet-minimal","lang":"C#","rps":2491232,"avg_latency":"10.56ms","p99_latency":"10.56ms","cpu":"5624.0%","memory":"1007.0MiB","bandwidth":"92.67MB/s","input_bw":null,"status_2xx":12456160,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":720798,"avg_latency":"35.14ms","p99_latency":"35.14ms","cpu":"4478.1%","memory":"310.5MiB","bandwidth":"26.47MB/s","input_bw":"","status_2xx":3604193,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":947103,"avg_latency":"27.54ms","p99_latency":"27.54ms","cpu":"5950.9%","memory":"24.9GiB","bandwidth":"34.35MB/s","input_bw":"","status_2xx":4739882,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":960380,"avg_latency":"27.07ms","p99_latency":null,"cpu":"6053.4%","memory":"25.7GiB","bandwidth":"34.81MB/s","input_bw":"","status_2xx":4802697,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":5257876,"avg_latency":"4.70ms","p99_latency":"4.70ms","cpu":"6098.4%","memory":"1.1GiB","bandwidth":"192.08MB/s","input_bw":null,"status_2xx":26499700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2622540,"avg_latency":"10.26ms","p99_latency":"10.26ms","cpu":"5754.5%","memory":"10.4GiB","bandwidth":"120.06MB/s","input_bw":"","status_2xx":13112700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":370563,"avg_latency":"41.79ms","p99_latency":"1.58s","cpu":"250.5%","memory":"1.1GiB","bandwidth":"13.16MB/s","input_bw":null,"status_2xx":1863936,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":812492,"avg_latency":"31.55ms","p99_latency":"272.83ms","cpu":"6211.7%","memory":"577MiB","bandwidth":"120.85MB/s","input_bw":null,"status_2xx":4086837,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2478340,"avg_latency":"11.14ms","p99_latency":"259.06ms","cpu":"6469.9%","memory":"523MiB","bandwidth":"107.00MB/s","input_bw":null,"status_2xx":12466055,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-grpc","lang":"Zig","rps":7039761,"avg_latency":"2.43ms","p99_latency":"25.63ms","cpu":"3956.5%","memory":"393MiB","bandwidth":"445.76MB/s","input_bw":null,"status_2xx":35410000,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-1024":[{"fw":"aspnet-minimal","lang":"C#","rps":2338525,"avg_latency":"41.35ms","p99_latency":"41.35ms","cpu":"6207.7%","memory":"2.5GiB","bandwidth":"87.03MB/s","input_bw":null,"status_2xx":11692627,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":969718,"avg_latency":"88.65ms","p99_latency":"88.65ms","cpu":"4339.4%","memory":"922.1MiB","bandwidth":"35.59MB/s","input_bw":"","status_2xx":4849354,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":908064,"avg_latency":"110.85ms","p99_latency":"110.85ms","cpu":"5806.5%","memory":"26.6GiB","bandwidth":"32.93MB/s","input_bw":"","status_2xx":4541235,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":898409,"avg_latency":"112.12ms","p99_latency":null,"cpu":"5869.2%","memory":"27.1GiB","bandwidth":"32.58MB/s","input_bw":"","status_2xx":4493961,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4149704,"avg_latency":"23.87ms","p99_latency":"23.87ms","cpu":"6429.5%","memory":"1.8GiB","bandwidth":"152.53MB/s","input_bw":null,"status_2xx":21039000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2611600,"avg_latency":"39.79ms","p99_latency":"39.79ms","cpu":"5558.7%","memory":"10.4GiB","bandwidth":"119.57MB/s","input_bw":"","status_2xx":13058000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":1473467,"avg_latency":"16.87ms","p99_latency":"75.94ms","cpu":"1093.3%","memory":"1.2GiB","bandwidth":"52.63MB/s","input_bw":null,"status_2xx":7455744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":766223,"avg_latency":"80.35ms","p99_latency":"711.68ms","cpu":"6154.9%","memory":"1.9GiB","bandwidth":"114.44MB/s","input_bw":null,"status_2xx":3869427,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2400296,"avg_latency":"39.98ms","p99_latency":"1.04s","cpu":"6438.2%","memory":"896MiB","bandwidth":"104.46MB/s","input_bw":null,"status_2xx":12169501,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-grpc","lang":"Zig","rps":6938181,"avg_latency":"8.26ms","p99_latency":"103.84ms","cpu":"4092.8%","memory":"1.2GiB","bandwidth":"441.96MB/s","input_bw":null,"status_2xx":35107200,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-tls-256":[{"fw":"aspnet-minimal","lang":"C#","rps":2058161,"avg_latency":"12.19ms","p99_latency":"12.19ms","cpu":"6079.8%","memory":"818.2MiB","bandwidth":"76.56MB/s","input_bw":null,"status_2xx":10290808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":702758,"avg_latency":"35.64ms","p99_latency":"35.64ms","cpu":"4510.6%","memory":"275.3MiB","bandwidth":"25.80MB/s","input_bw":"","status_2xx":3513978,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":843084,"avg_latency":"30.41ms","p99_latency":"30.41ms","cpu":"5968.4%","memory":"24.7GiB","bandwidth":"30.57MB/s","input_bw":"","status_2xx":4217928,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":850405,"avg_latency":"29.44ms","p99_latency":null,"cpu":"6111.4%","memory":"24.9GiB","bandwidth":"30.82MB/s","input_bw":"","status_2xx":4252346,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":5057301,"avg_latency":"4.94ms","p99_latency":"4.94ms","cpu":"5956.6%","memory":"1.1GiB","bandwidth":"184.75MB/s","input_bw":null,"status_2xx":25488800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2633400,"avg_latency":"10.78ms","p99_latency":"10.78ms","cpu":"5783.5%","memory":"10.4GiB","bandwidth":"120.56MB/s","input_bw":"","status_2xx":13167000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":5738290,"avg_latency":"4.03ms","p99_latency":"27.49ms","cpu":"5897.6%","memory":"1.1GiB","bandwidth":"204.23MB/s","input_bw":null,"status_2xx":28863600,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":825701,"avg_latency":"30.93ms","p99_latency":"97.91ms","cpu":"6199.3%","memory":"879MiB","bandwidth":"136.60MB/s","input_bw":null,"status_2xx":4153277,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2409735,"avg_latency":"10.27ms","p99_latency":"328.46ms","cpu":"6207.2%","memory":"542MiB","bandwidth":"104.25MB/s","input_bw":null,"status_2xx":12145065,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"unary-grpc-tls-1024":[{"fw":"aspnet-minimal","lang":"C#","rps":1826316,"avg_latency":"56.98ms","p99_latency":"56.98ms","cpu":"5281.5%","memory":"2.8GiB","bandwidth":"67.98MB/s","input_bw":null,"status_2xx":9131581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"grpc-go","lang":"Go","rps":928870,"avg_latency":"78.99ms","p99_latency":"78.99ms","cpu":"4208.9%","memory":"929.1MiB","bandwidth":"34.09MB/s","input_bw":"","status_2xx":4645101,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":812659,"avg_latency":"120.96ms","p99_latency":"120.96ms","cpu":"5913.7%","memory":"26.1GiB","bandwidth":"29.47MB/s","input_bw":"","status_2xx":4063672,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":823252,"avg_latency":"116.55ms","p99_latency":null,"cpu":"5932.9%","memory":"26.2GiB","bandwidth":"29.85MB/s","input_bw":"","status_2xx":4116469,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"pyronova","lang":"Python","rps":4015187,"avg_latency":"24.34ms","p99_latency":"24.34ms","cpu":"6430.7%","memory":"1.6GiB","bandwidth":"147.58MB/s","input_bw":null,"status_2xx":20357000,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"quarkus-jvm","lang":"Java","rps":2572680,"avg_latency":"39.73ms","p99_latency":"39.73ms","cpu":"5659.5%","memory":"10.5GiB","bandwidth":"117.79MB/s","input_bw":"","status_2xx":12863400,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":5794812,"avg_latency":"11.28ms","p99_latency":"63.38ms","cpu":"6295.2%","memory":"1.3GiB","bandwidth":"211.70MB/s","input_bw":null,"status_2xx":29379700,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":696752,"avg_latency":"97.50ms","p99_latency":"843.86ms","cpu":"6145.3%","memory":"2.0GiB","bandwidth":"116.07MB/s","input_bw":null,"status_2xx":3525566,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2371712,"avg_latency":"39.56ms","p99_latency":"1.17s","cpu":"6417.3%","memory":"904MiB","bandwidth":"103.02MB/s","input_bw":null,"status_2xx":12000866,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"stream-grpc-64":[{"fw":"aspnet-minimal","lang":"C#","rps":8630000,"avg_latency":"139.48ms","p99_latency":"1.07s","cpu":"3168.6%","memory":"130.4MiB","bandwidth":"0","input_bw":null,"status_2xx":8630,"status_3xx":0,"status_4xx":0,"status_5xx":1},{"fw":"helidon-tuned","lang":"Java","rps":554000,"avg_latency":"1.58s","p99_latency":"2.08s","cpu":"1086.2%","memory":"4.1GiB","bandwidth":"0","input_bw":null,"status_2xx":554,"status_3xx":0,"status_4xx":0,"status_5xx":1},{"fw":"sark","lang":"Rust","rps":9917000,"avg_latency":"125.47ms","p99_latency":"441.92ms","cpu":"91.2%","memory":"1.1GiB","bandwidth":"0","input_bw":null,"status_2xx":9917,"status_3xx":0,"status_4xx":0,"status_5xx":3},{"fw":"trillium","lang":"Rust","rps":2215000,"avg_latency":"516.68ms","p99_latency":"754.26ms","cpu":"6179.1%","memory":"642MiB","bandwidth":"0","input_bw":null,"status_2xx":2215,"status_3xx":0,"status_4xx":0,"status_5xx":3},{"fw":"zix-grpc","lang":"Zig","rps":8504000,"avg_latency":"146.01ms","p99_latency":"441.82ms","cpu":"35.6%","memory":"139MiB","bandwidth":"0","input_bw":null,"status_2xx":8504,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"stream-grpc-tls-64":[{"fw":"aspnet-minimal","lang":"C#","rps":8617000,"avg_latency":"140.09ms","p99_latency":"1.08s","cpu":"2374.6%","memory":"169.1MiB","bandwidth":"0","input_bw":null,"status_2xx":8617,"status_3xx":0,"status_4xx":0,"status_5xx":8},{"fw":"helidon-tuned","lang":"Java","rps":513000,"avg_latency":"1.66s","p99_latency":"2.16s","cpu":"1452.3%","memory":"4.2GiB","bandwidth":"0","input_bw":null,"status_2xx":513,"status_3xx":0,"status_4xx":0,"status_5xx":8},{"fw":"sark","lang":"Rust","rps":9547000,"avg_latency":"127.42ms","p99_latency":"428.95ms","cpu":"91.6%","memory":"1.1GiB","bandwidth":"0","input_bw":null,"status_2xx":9547,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":2256000,"avg_latency":"507.77ms","p99_latency":"662.44ms","cpu":"6167.0%","memory":"598MiB","bandwidth":"0","input_bw":null,"status_2xx":2256,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"gateway-64-512":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":312171,"avg_latency":"53.88ms","p99_latency":"53.88ms","cpu":"5664.4%","memory":"2.4GiB","bandwidth":"4.08GB/s","input_bw":null,"status_2xx":1579589,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":315917,"tpl_json":552856,"tpl_static":473876,"tpl_async_db":236938},{"fw":"sark","lang":"Rust","rps":107499,"avg_latency":"142.24ms","p99_latency":"2.23s","cpu":"4529.5%","memory":"2.8GiB","bandwidth":"1.18GB/s","input_bw":null,"status_2xx":541798,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":108359,"tpl_json":189629,"tpl_static":162539,"tpl_async_db":81269},{"fw":"trillium","lang":"Rust","rps":84883,"avg_latency":"180.12ms","p99_latency":"2.26s","cpu":"5005.5%","memory":"2.8GiB","bandwidth":"911.39MB/s","input_bw":null,"status_2xx":427811,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":85562,"tpl_json":149733,"tpl_static":128343,"tpl_async_db":64171}],"gateway-64-1024":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":233843,"avg_latency":"141.88ms","p99_latency":"141.88ms","cpu":"5402.8%","memory":"2.7GiB","bandwidth":"3.11GB/s","input_bw":null,"status_2xx":1187924,"status_3xx":0,"status_4xx":0,"status_5xx":4761,"tpl_baseline":237584,"tpl_json":415773,"tpl_static":356377,"tpl_async_db":178188},{"fw":"sark","lang":"Rust","rps":73267,"avg_latency":"353.29ms","p99_latency":"4.65s","cpu":"4305.8%","memory":"4.9GiB","bandwidth":"894.54MB/s","input_bw":null,"status_2xx":370736,"status_3xx":0,"status_4xx":0,"status_5xx":11282,"tpl_baseline":74147,"tpl_json":129757,"tpl_static":111220,"tpl_async_db":55610},{"fw":"trillium","lang":"Rust","rps":79440,"avg_latency":"350.72ms","p99_latency":"4.46s","cpu":"5421.1%","memory":"5.2GiB","bandwidth":"898.18MB/s","input_bw":null,"status_2xx":401969,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":80393,"tpl_json":140689,"tpl_static":120590,"tpl_async_db":60295}],"gateway-h3-64":[{"fw":"aspnet-minimal + caddy","lang":"C#","rps":82666,"avg_latency":"24.55ms","p99_latency":"90.18ms","cpu":"3472.1%","memory":"804MiB","bandwidth":"972.81MB/s","input_bw":null,"status_2xx":415811,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":83162,"tpl_json":145533,"tpl_static":124743,"tpl_async_db":62371},{"fw":"sark","lang":"Rust","rps":93655,"avg_latency":"21.75ms","p99_latency":"82.76ms","cpu":"3197.3%","memory":"907MiB","bandwidth":"1015.09MB/s","input_bw":null,"status_2xx":469213,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":93842,"tpl_json":164224,"tpl_static":140763,"tpl_async_db":70381},{"fw":"trillium","lang":"Rust","rps":83650,"avg_latency":"24.32ms","p99_latency":"89.21ms","cpu":"3996.9%","memory":"944MiB","bandwidth":"861.96MB/s","input_bw":null,"status_2xx":419090,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":83818,"tpl_json":146681,"tpl_static":125727,"tpl_async_db":62863}],"gateway-h3-256":[{"fw":"aspnet-minimal + caddy","lang":"C#","rps":56118,"avg_latency":"141.54ms","p99_latency":"805.47ms","cpu":"2471.5%","memory":"1.6GiB","bandwidth":"646.22MB/s","input_bw":null,"status_2xx":283396,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":56679,"tpl_json":99188,"tpl_static":85018,"tpl_async_db":42509},{"fw":"sark","lang":"Rust","rps":63434,"avg_latency":"125.55ms","p99_latency":"733.02ms","cpu":"2079.4%","memory":"2.2GiB","bandwidth":"672.55MB/s","input_bw":null,"status_2xx":319076,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":63815,"tpl_json":111676,"tpl_static":95722,"tpl_async_db":47861},{"fw":"trillium","lang":"Rust","rps":62121,"avg_latency":"127.74ms","p99_latency":"783.03ms","cpu":"2828.2%","memory":"2.3GiB","bandwidth":"624.77MB/s","input_bw":null,"status_2xx":312470,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":62494,"tpl_json":109364,"tpl_static":93741,"tpl_async_db":46870}],"production-stack-256":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":228290,"avg_latency":"20.13ms","p99_latency":"20.13ms","cpu":"5293.3%","memory":"1.5GiB","bandwidth":"2.37GB/s","input_bw":null,"status_2xx":1150582,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":115058,"tpl_static":345174}],"production-stack-1024":[{"fw":"aspnet-minimal + nginx","lang":"C#","rps":193999,"avg_latency":"82.75ms","p99_latency":"82.75ms","cpu":"4840.9%","memory":"2.4GiB","bandwidth":"2.15GB/s","input_bw":null,"status_2xx":987455,"status_3xx":0,"status_4xx":0,"status_5xx":0,"tpl_baseline":98745,"tpl_static":296236}],"echo-ws-512":[{"fw":"actix","lang":"Rust","rps":3341436,"avg_latency":"152us","p99_latency":"399us","cpu":"6371.0%","memory":"51MiB","bandwidth":"22.30MB/s","input_bw":null,"status_2xx":16707184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1835273,"avg_latency":"278us","p99_latency":"696us","cpu":"6128.2%","memory":"220.4MiB","bandwidth":"12.25MB/s","input_bw":null,"status_2xx":9176367,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":2179367,"avg_latency":"234us","p99_latency":"1.17ms","cpu":"5783.5%","memory":"161MiB","bandwidth":"14.55MB/s","input_bw":null,"status_2xx":10896835,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":664189,"avg_latency":"770us","p99_latency":"1.14ms","cpu":"6688.9%","memory":"1.4GiB","bandwidth":"4.43MB/s","input_bw":null,"status_2xx":3320948,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":3555015,"avg_latency":"143us","p99_latency":"424us","cpu":"6072.8%","memory":"668MiB","bandwidth":"23.73MB/s","input_bw":null,"status_2xx":17775079,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":2365380,"avg_latency":"215us","p99_latency":"394us","cpu":"6579.0%","memory":"2.4GiB","bandwidth":"15.79MB/s","input_bw":"","status_2xx":11826902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":3778388,"avg_latency":"134us","p99_latency":"182us","cpu":"6501.3%","memory":"2.0GiB","bandwidth":"25.21MB/s","input_bw":null,"status_2xx":18891940,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":380138,"avg_latency":"1.34ms","p99_latency":"16.20ms","cpu":"3380.0%","memory":"528MiB","bandwidth":"2.54MB/s","input_bw":null,"status_2xx":1900692,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":1583839,"avg_latency":"286us","p99_latency":"1.85ms","cpu":"5003.5%","memory":"214MiB","bandwidth":"10.58MB/s","input_bw":null,"status_2xx":7919198,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":3732298,"avg_latency":"136us","p99_latency":"348us","cpu":"6539.8%","memory":"2.3GiB","bandwidth":"24.91MB/s","input_bw":null,"status_2xx":18661491,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":2292442,"avg_latency":"222us","p99_latency":"1.17ms","cpu":"5689.8%","memory":"173MiB","bandwidth":"15.30MB/s","input_bw":null,"status_2xx":11462212,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2317724,"avg_latency":"220us","p99_latency":"933us","cpu":"5729.1%","memory":"276MiB","bandwidth":"15.47MB/s","input_bw":null,"status_2xx":11588622,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":3192920,"avg_latency":"159us","p99_latency":"331us","cpu":"6128.6%","memory":"379MiB","bandwidth":"21.31MB/s","input_bw":null,"status_2xx":15964604,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1693291,"avg_latency":"301us","p99_latency":"1.55ms","cpu":"5681.0%","memory":"236MiB","bandwidth":"11.31MB/s","input_bw":null,"status_2xx":8466456,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-websocket","lang":"Go","rps":964703,"avg_latency":"406us","p99_latency":"5.83ms","cpu":"5206.1%","memory":"93.3MiB","bandwidth":"6.45MB/s","input_bw":"","status_2xx":4823519,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2368878,"avg_latency":"215us","p99_latency":"398us","cpu":"6492.6%","memory":"1.5GiB","bandwidth":"15.81MB/s","input_bw":"","status_2xx":11844393,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2332357,"avg_latency":"218us","p99_latency":"413us","cpu":"6439.2%","memory":"986.7MiB","bandwidth":"15.57MB/s","input_bw":"","status_2xx":11661786,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3303164,"avg_latency":"154us","p99_latency":"2.46ms","cpu":"6567.6%","memory":"49MiB","bandwidth":"22.04MB/s","input_bw":null,"status_2xx":16515823,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":431538,"avg_latency":"1.19ms","p99_latency":"1.64ms","cpu":"1658.0%","memory":"1.8GiB","bandwidth":"2.88MB/s","input_bw":null,"status_2xx":2157693,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":1021279,"avg_latency":"500us","p99_latency":"1.13ms","cpu":"3426.5%","memory":"2.5GiB","bandwidth":"6.82MB/s","input_bw":null,"status_2xx":5106399,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":1021563,"avg_latency":"500us","p99_latency":"1.33ms","cpu":"3426.9%","memory":"2.5GiB","bandwidth":"6.82MB/s","input_bw":null,"status_2xx":5107819,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":3108882,"avg_latency":"164us","p99_latency":"325us","cpu":"5824.0%","memory":"97MiB","bandwidth":"20.75MB/s","input_bw":null,"status_2xx":15544413,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":4145985,"avg_latency":"122us","p99_latency":"268us","cpu":"6167.3%","memory":"442MiB","bandwidth":"27.67MB/s","input_bw":null,"status_2xx":20729925,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1172794,"avg_latency":"436us","p99_latency":"1.05ms","cpu":"1824.5%","memory":"45MiB","bandwidth":"7.83MB/s","input_bw":null,"status_2xx":5863971,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":1969290,"avg_latency":"258us","p99_latency":"600us","cpu":"6586.2%","memory":"1.2GiB","bandwidth":"13.15MB/s","input_bw":"","status_2xx":9846450,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1405394,"avg_latency":"363us","p99_latency":"559us","cpu":"6851.8%","memory":"348MiB","bandwidth":"9.38MB/s","input_bw":null,"status_2xx":7026970,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":4353147,"avg_latency":"117us","p99_latency":"213us","cpu":"6200.6%","memory":"210MiB","bandwidth":"29.05MB/s","input_bw":null,"status_2xx":21765739,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":836235,"avg_latency":"178us","p99_latency":"569us","cpu":"5901.8%","memory":"298MiB","bandwidth":"5.58MB/s","input_bw":null,"status_2xx":4181178,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4179366,"avg_latency":"121us","p99_latency":"258us","cpu":"6316.3%","memory":"1.1GiB","bandwidth":"27.89MB/s","input_bw":null,"status_2xx":20896833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":2113981,"avg_latency":"241us","p99_latency":"1.41ms","cpu":"5776.0%","memory":"180MiB","bandwidth":"14.11MB/s","input_bw":null,"status_2xx":10569906,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2677341,"avg_latency":"190us","p99_latency":"426us","cpu":"6243.6%","memory":"552MiB","bandwidth":"17.87MB/s","input_bw":null,"status_2xx":13386707,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3056601,"avg_latency":"166us","p99_latency":"3.04ms","cpu":"6657.4%","memory":"184.5MiB","bandwidth":"20.40MB/s","input_bw":"","status_2xx":15283009,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":3518113,"avg_latency":"144us","p99_latency":"293us","cpu":"6434.4%","memory":"43MiB","bandwidth":"23.48MB/s","input_bw":null,"status_2xx":17590567,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":4352944,"avg_latency":"117us","p99_latency":"213us","cpu":"6332.2%","memory":"43MiB","bandwidth":"29.05MB/s","input_bw":null,"status_2xx":21764720,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":443216,"avg_latency":"1.08ms","p99_latency":"2.47ms","cpu":"3275.4%","memory":"341MiB","bandwidth":"2.96MB/s","input_bw":null,"status_2xx":2216080,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":1696025,"avg_latency":"301us","p99_latency":"652us","cpu":"6636.4%","memory":"362MiB","bandwidth":"11.32MB/s","input_bw":null,"status_2xx":8480126,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2839865,"avg_latency":"93us","p99_latency":"474us","cpu":"6717.4%","memory":"177MiB","bandwidth":"18.95MB/s","input_bw":null,"status_2xx":14199326,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":3911720,"avg_latency":"130us","p99_latency":"585us","cpu":"6402.2%","memory":"58MiB","bandwidth":"26.10MB/s","input_bw":null,"status_2xx":19558603,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman-websocket","lang":"PHP","rps":3309973,"avg_latency":"154us","p99_latency":"402us","cpu":"6406.1%","memory":"138.9MiB","bandwidth":"22.09MB/s","input_bw":"","status_2xx":16549866,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4131449,"avg_latency":"123us","p99_latency":"279us","cpu":"6324.4%","memory":"41MiB","bandwidth":"27.57MB/s","input_bw":null,"status_2xx":20657246,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":4321169,"avg_latency":"117us","p99_latency":"200us","cpu":"6412.5%","memory":"190MiB","bandwidth":"28.85MB/s","input_bw":null,"status_2xx":21605849,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-4096":[{"fw":"actix","lang":"Rust","rps":3409380,"avg_latency":"1.03ms","p99_latency":"2.02ms","cpu":"6233.3%","memory":"201MiB","bandwidth":"22.88MB/s","input_bw":null,"status_2xx":17046902,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1806996,"avg_latency":"1.72ms","p99_latency":"5.25ms","cpu":"6120.1%","memory":"389.2MiB","bandwidth":"12.20MB/s","input_bw":null,"status_2xx":9034981,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":2124490,"avg_latency":"1.67ms","p99_latency":"8.50ms","cpu":"5789.1%","memory":"373MiB","bandwidth":"14.25MB/s","input_bw":null,"status_2xx":10622453,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":683415,"avg_latency":"5.91ms","p99_latency":"11.40ms","cpu":"6686.7%","memory":"1.6GiB","bandwidth":"4.71MB/s","input_bw":null,"status_2xx":3417075,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":3734799,"avg_latency":"1.09ms","p99_latency":"2.96ms","cpu":"6225.2%","memory":"643MiB","bandwidth":"25.05MB/s","input_bw":null,"status_2xx":18673999,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":2718380,"avg_latency":"1.49ms","p99_latency":"2.58ms","cpu":"6373.7%","memory":"3.7GiB","bandwidth":"18.27MB/s","input_bw":"","status_2xx":13591900,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":3783152,"avg_latency":"1.08ms","p99_latency":"1.75ms","cpu":"5941.2%","memory":"3.9GiB","bandwidth":"25.34MB/s","input_bw":null,"status_2xx":18915764,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":344562,"avg_latency":"8.06ms","p99_latency":"33.50ms","cpu":"2497.4%","memory":"2.0GiB","bandwidth":"2.39MB/s","input_bw":null,"status_2xx":1722810,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":1589868,"avg_latency":"865us","p99_latency":"5.27ms","cpu":"5306.8%","memory":"240MiB","bandwidth":"10.66MB/s","input_bw":null,"status_2xx":7949344,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":3767961,"avg_latency":"1.09ms","p99_latency":"2.31ms","cpu":"6357.6%","memory":"2.3GiB","bandwidth":"25.15MB/s","input_bw":null,"status_2xx":18839805,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":2263702,"avg_latency":"1.57ms","p99_latency":"5.07ms","cpu":"5865.2%","memory":"655MiB","bandwidth":"15.25MB/s","input_bw":null,"status_2xx":11318514,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2276492,"avg_latency":"1.66ms","p99_latency":"5.61ms","cpu":"5803.7%","memory":"632MiB","bandwidth":"15.33MB/s","input_bw":null,"status_2xx":11382463,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":3295066,"avg_latency":"1.24ms","p99_latency":"4.53ms","cpu":"5937.2%","memory":"524MiB","bandwidth":"22.12MB/s","input_bw":null,"status_2xx":16475334,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1690562,"avg_latency":"2.02ms","p99_latency":"6.03ms","cpu":"5921.6%","memory":"538MiB","bandwidth":"11.41MB/s","input_bw":null,"status_2xx":8452812,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-websocket","lang":"Go","rps":1089321,"avg_latency":"3.43ms","p99_latency":"37.10ms","cpu":"5660.4%","memory":"194.5MiB","bandwidth":"7.37MB/s","input_bw":"","status_2xx":5446606,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":2177523,"avg_latency":"1.59ms","p99_latency":"3.03ms","cpu":"6370.9%","memory":"1.6GiB","bandwidth":"14.63MB/s","input_bw":"","status_2xx":10887618,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":2212682,"avg_latency":"1.84ms","p99_latency":"3.09ms","cpu":"6415.9%","memory":"1.7GiB","bandwidth":"14.84MB/s","input_bw":"","status_2xx":11063412,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3661346,"avg_latency":"1.12ms","p99_latency":"6.63ms","cpu":"6572.7%","memory":"157MiB","bandwidth":"24.44MB/s","input_bw":null,"status_2xx":18306731,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":429659,"avg_latency":"8.23ms","p99_latency":"10.50ms","cpu":"1564.7%","memory":"1.9GiB","bandwidth":"2.99MB/s","input_bw":null,"status_2xx":2148295,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":980019,"avg_latency":"4.15ms","p99_latency":"8.98ms","cpu":"3411.2%","memory":"6.6GiB","bandwidth":"6.64MB/s","input_bw":null,"status_2xx":4900095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":973072,"avg_latency":"4.16ms","p99_latency":"9.46ms","cpu":"3435.1%","memory":"3.4GiB","bandwidth":"6.59MB/s","input_bw":null,"status_2xx":4865362,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2999367,"avg_latency":"1.36ms","p99_latency":"2.23ms","cpu":"5859.7%","memory":"169MiB","bandwidth":"20.02MB/s","input_bw":null,"status_2xx":14996838,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":4263272,"avg_latency":"960us","p99_latency":"1.25ms","cpu":"6197.1%","memory":"542MiB","bandwidth":"28.44MB/s","input_bw":null,"status_2xx":21316360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1362540,"avg_latency":"3.00ms","p99_latency":"4.62ms","cpu":"2209.3%","memory":"155MiB","bandwidth":"9.16MB/s","input_bw":null,"status_2xx":6812701,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":1996581,"avg_latency":"1.51ms","p99_latency":"3.02ms","cpu":"6422.5%","memory":"1.4GiB","bandwidth":"13.43MB/s","input_bw":"","status_2xx":9982908,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1325316,"avg_latency":"2.60ms","p99_latency":"3.46ms","cpu":"6671.3%","memory":"501MiB","bandwidth":"8.99MB/s","input_bw":null,"status_2xx":6626581,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":4429548,"avg_latency":"924us","p99_latency":"1.27ms","cpu":"6408.1%","memory":"231MiB","bandwidth":"29.56MB/s","input_bw":null,"status_2xx":22147743,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":672875,"avg_latency":"214us","p99_latency":"596us","cpu":"5510.5%","memory":"295MiB","bandwidth":"4.49MB/s","input_bw":null,"status_2xx":3364378,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4394447,"avg_latency":"931us","p99_latency":"1.29ms","cpu":"6257.3%","memory":"1.2GiB","bandwidth":"29.32MB/s","input_bw":null,"status_2xx":21972236,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":2002254,"avg_latency":"1.96ms","p99_latency":"6.32ms","cpu":"5809.2%","memory":"520MiB","bandwidth":"13.48MB/s","input_bw":null,"status_2xx":10011273,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2662330,"avg_latency":"1.53ms","p99_latency":"5.62ms","cpu":"5754.6%","memory":"942MiB","bandwidth":"17.89MB/s","input_bw":null,"status_2xx":13311653,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3354954,"avg_latency":"1.22ms","p99_latency":"6.79ms","cpu":"6338.1%","memory":"194.5MiB","bandwidth":"22.56MB/s","input_bw":"","status_2xx":16774770,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":3696168,"avg_latency":"1.11ms","p99_latency":"1.70ms","cpu":"6617.9%","memory":"172MiB","bandwidth":"24.67MB/s","input_bw":null,"status_2xx":18480840,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":4433246,"avg_latency":"923us","p99_latency":"1.19ms","cpu":"6228.7%","memory":"176MiB","bandwidth":"29.59MB/s","input_bw":null,"status_2xx":22166232,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":354094,"avg_latency":"4.29ms","p99_latency":"11.60ms","cpu":"4187.7%","memory":"667MiB","bandwidth":"2.47MB/s","input_bw":null,"status_2xx":1770472,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":418203,"avg_latency":"9.78ms","p99_latency":"12.80ms","cpu":"6312.7%","memory":"938MiB","bandwidth":"2.88MB/s","input_bw":null,"status_2xx":2091016,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2738284,"avg_latency":"140us","p99_latency":"639us","cpu":"6294.2%","memory":"464MiB","bandwidth":"18.28MB/s","input_bw":null,"status_2xx":13691422,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":4378205,"avg_latency":"931us","p99_latency":"6.50ms","cpu":"6432.2%","memory":"147MiB","bandwidth":"29.29MB/s","input_bw":null,"status_2xx":21891028,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman-websocket","lang":"PHP","rps":3413565,"avg_latency":"1.20ms","p99_latency":"2.54ms","cpu":"6499.4%","memory":"165.8MiB","bandwidth":"22.81MB/s","input_bw":"","status_2xx":17067829,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":4160268,"avg_latency":"984us","p99_latency":"1.41ms","cpu":"6480.3%","memory":"121MiB","bandwidth":"27.77MB/s","input_bw":null,"status_2xx":20801340,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":4536341,"avg_latency":"902us","p99_latency":"1.20ms","cpu":"6404.1%","memory":"246MiB","bandwidth":"30.28MB/s","input_bw":null,"status_2xx":22681708,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-16384":[{"fw":"actix","lang":"Rust","rps":3245865,"avg_latency":"2.33ms","p99_latency":"4.48ms","cpu":"6062.1%","memory":"485MiB","bandwidth":"22.00MB/s","input_bw":null,"status_2xx":16229328,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":1686022,"avg_latency":"3.63ms","p99_latency":"10.10ms","cpu":"6033.9%","memory":"456.1MiB","bandwidth":"11.51MB/s","input_bw":null,"status_2xx":8430114,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":2060081,"avg_latency":"4.13ms","p99_latency":"16.00ms","cpu":"5984.2%","memory":"818MiB","bandwidth":"14.04MB/s","input_bw":null,"status_2xx":10300408,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"blackbull","lang":"Python","rps":645053,"avg_latency":"24.14ms","p99_latency":"37.10ms","cpu":"6665.4%","memory":"2.1GiB","bandwidth":"4.88MB/s","input_bw":null,"status_2xx":3225268,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":3465910,"avg_latency":"4.66ms","p99_latency":"11.10ms","cpu":"5836.8%","memory":"752MiB","bandwidth":"23.64MB/s","input_bw":null,"status_2xx":17329550,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":2261663,"avg_latency":"2.04ms","p99_latency":"5.35ms","cpu":"5970.8%","memory":"2.8GiB","bandwidth":"15.34MB/s","input_bw":"","status_2xx":11308315,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":3487985,"avg_latency":"4.62ms","p99_latency":"6.59ms","cpu":"6454.0%","memory":"6.4GiB","bandwidth":"23.68MB/s","input_bw":null,"status_2xx":17439927,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":403760,"avg_latency":"10.06ms","p99_latency":"50.20ms","cpu":"2508.8%","memory":"2.3GiB","bandwidth":"2.90MB/s","input_bw":null,"status_2xx":2018804,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":1544854,"avg_latency":"1.90ms","p99_latency":"10.00ms","cpu":"5549.8%","memory":"310MiB","bandwidth":"10.41MB/s","input_bw":null,"status_2xx":7724273,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":3568966,"avg_latency":"4.57ms","p99_latency":"9.04ms","cpu":"6477.4%","memory":"2.4GiB","bandwidth":"24.34MB/s","input_bw":null,"status_2xx":17844833,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp","lang":"C#","rps":2131324,"avg_latency":"4.03ms","p99_latency":"11.00ms","cpu":"5815.6%","memory":"1.7GiB","bandwidth":"14.63MB/s","input_bw":null,"status_2xx":10656623,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":2171335,"avg_latency":"3.68ms","p99_latency":"9.76ms","cpu":"5950.7%","memory":"1.3GiB","bandwidth":"14.84MB/s","input_bw":null,"status_2xx":10856676,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2876588,"avg_latency":"5.67ms","p99_latency":"15.50ms","cpu":"5837.8%","memory":"1003MiB","bandwidth":"19.78MB/s","input_bw":null,"status_2xx":14382940,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":1719061,"avg_latency":"1.90ms","p99_latency":"5.87ms","cpu":"5880.3%","memory":"684MiB","bandwidth":"11.61MB/s","input_bw":null,"status_2xx":8595305,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"go-websocket","lang":"Go","rps":1032459,"avg_latency":"8.61ms","p99_latency":"54.00ms","cpu":"5415.4%","memory":"516.1MiB","bandwidth":"7.27MB/s","input_bw":"","status_2xx":5162299,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-production","lang":"Java","rps":1964466,"avg_latency":"3.00ms","p99_latency":"6.18ms","cpu":"6046.1%","memory":"1021.0MiB","bandwidth":"13.34MB/s","input_bw":"","status_2xx":9822334,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"helidon-tuned","lang":"Java","rps":1981975,"avg_latency":"7.56ms","p99_latency":"11.30ms","cpu":"6154.8%","memory":"3.3GiB","bandwidth":"13.63MB/s","input_bw":"","status_2xx":9909876,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hical","lang":"C++","rps":3280432,"avg_latency":"4.96ms","p99_latency":"11.00ms","cpu":"6536.6%","memory":"512MiB","bandwidth":"22.30MB/s","input_bw":null,"status_2xx":16402162,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"hyperf","lang":"PHP","rps":414613,"avg_latency":"10.30ms","p99_latency":"13.90ms","cpu":"1480.3%","memory":"2.0GiB","bandwidth":"2.96MB/s","input_bw":null,"status_2xx":2073066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":645400,"avg_latency":"24.58ms","p99_latency":"42.30ms","cpu":"3396.7%","memory":"14.8GiB","bandwidth":"4.71MB/s","input_bw":null,"status_2xx":3227002,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":676216,"avg_latency":"23.65ms","p99_latency":"42.90ms","cpu":"3283.8%","memory":"15.7GiB","bandwidth":"4.92MB/s","input_bw":null,"status_2xx":3381080,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"lute","lang":"Luau","rps":2650618,"avg_latency":"6.13ms","p99_latency":"8.70ms","cpu":"5590.9%","memory":"388MiB","bandwidth":"18.26MB/s","input_bw":null,"status_2xx":13253092,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":3987143,"avg_latency":"4.03ms","p99_latency":"4.90ms","cpu":"6393.2%","memory":"749MiB","bandwidth":"27.00MB/s","input_bw":null,"status_2xx":19935719,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":1098016,"avg_latency":"14.70ms","p99_latency":"16.60ms","cpu":"2010.1%","memory":"450MiB","bandwidth":"7.73MB/s","input_bw":null,"status_2xx":5490083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":1831732,"avg_latency":"2.58ms","p99_latency":"6.08ms","cpu":"6170.9%","memory":"1.4GiB","bandwidth":"12.39MB/s","input_bw":"","status_2xx":9158662,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1264822,"avg_latency":"4.54ms","p99_latency":"8.30ms","cpu":"6388.6%","memory":"707MiB","bandwidth":"8.89MB/s","input_bw":null,"status_2xx":6324113,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":4066852,"avg_latency":"4.00ms","p99_latency":"4.73ms","cpu":"6398.4%","memory":"336MiB","bandwidth":"27.53MB/s","input_bw":null,"status_2xx":20334260,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":585893,"avg_latency":"252us","p99_latency":"664us","cpu":"5232.3%","memory":"268MiB","bandwidth":"3.91MB/s","input_bw":null,"status_2xx":2929467,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":4079554,"avg_latency":"3.98ms","p99_latency":"4.74ms","cpu":"6377.9%","memory":"1.6GiB","bandwidth":"27.63MB/s","input_bw":null,"status_2xx":20397770,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":1638483,"avg_latency":"7.91ms","p99_latency":"21.10ms","cpu":"5854.9%","memory":"1.4GiB","bandwidth":"11.45MB/s","input_bw":null,"status_2xx":8192415,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2252764,"avg_latency":"7.18ms","p99_latency":"20.60ms","cpu":"5850.4%","memory":"2.1GiB","bandwidth":"15.55MB/s","input_bw":null,"status_2xx":11263820,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3168894,"avg_latency":"5.04ms","p99_latency":"13.70ms","cpu":"6468.8%","memory":"346.9MiB","bandwidth":"21.84MB/s","input_bw":"","status_2xx":15844473,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":3636463,"avg_latency":"4.47ms","p99_latency":"5.93ms","cpu":"6536.9%","memory":"661MiB","bandwidth":"24.67MB/s","input_bw":null,"status_2xx":18182317,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":4143535,"avg_latency":"3.93ms","p99_latency":"4.67ms","cpu":"6399.5%","memory":"590MiB","bandwidth":"28.05MB/s","input_bw":null,"status_2xx":20717677,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":348539,"avg_latency":"9.88ms","p99_latency":"18.80ms","cpu":"4061.9%","memory":"1.2GiB","bandwidth":"2.54MB/s","input_bw":null,"status_2xx":1742696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":399873,"avg_latency":"40.19ms","p99_latency":"45.60ms","cpu":"6295.9%","memory":"2.7GiB","bandwidth":"3.29MB/s","input_bw":null,"status_2xx":1999366,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":2681888,"avg_latency":"160us","p99_latency":"1.02ms","cpu":"6185.7%","memory":"818MiB","bandwidth":"18.01MB/s","input_bw":null,"status_2xx":13409442,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":4095404,"avg_latency":"3.92ms","p99_latency":"10.90ms","cpu":"6424.7%","memory":"455MiB","bandwidth":"27.73MB/s","input_bw":null,"status_2xx":20477021,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"workerman-websocket","lang":"PHP","rps":3190157,"avg_latency":"4.96ms","p99_latency":"10.60ms","cpu":"6403.0%","memory":"311.0MiB","bandwidth":"21.83MB/s","input_bw":"","status_2xx":15950785,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":3732875,"avg_latency":"4.38ms","p99_latency":"5.85ms","cpu":"6257.3%","memory":"375MiB","bandwidth":"25.31MB/s","input_bw":null,"status_2xx":18664377,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":4344058,"avg_latency":"3.75ms","p99_latency":"4.36ms","cpu":"6407.8%","memory":"416MiB","bandwidth":"29.38MB/s","input_bw":null,"status_2xx":21720294,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-pipeline-512":[{"fw":"actix","lang":"Rust","rps":43725228,"avg_latency":"186us","p99_latency":"307us","cpu":"6751.9%","memory":"58MiB","bandwidth":"291.82MB/s","input_bw":null,"status_2xx":218626144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":19748819,"avg_latency":"414us","p99_latency":"2.08ms","cpu":"5700.1%","memory":"225MiB","bandwidth":"131.81MB/s","input_bw":null,"status_2xx":98744095,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":23046013,"avg_latency":"354us","p99_latency":"2.40ms","cpu":"5767.8%","memory":"132MiB","bandwidth":"153.81MB/s","input_bw":null,"status_2xx":115230066,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":44609561,"avg_latency":"182us","p99_latency":"487us","cpu":"6411.7%","memory":"906MiB","bandwidth":"297.72MB/s","input_bw":null,"status_2xx":223047808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":4951982,"avg_latency":"1.65ms","p99_latency":"3.99ms","cpu":"6393.6%","memory":"4.0GiB","bandwidth":"33.05MB/s","input_bw":null,"status_2xx":24759912,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":50423046,"avg_latency":"161us","p99_latency":"279us","cpu":"6634.1%","memory":"1.9GiB","bandwidth":"336.44MB/s","input_bw":null,"status_2xx":252115232,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":6409491,"avg_latency":"1.27ms","p99_latency":"16.00ms","cpu":"3555.4%","memory":"498MiB","bandwidth":"42.78MB/s","input_bw":null,"status_2xx":32047456,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":6583055,"avg_latency":"1.09ms","p99_latency":"10.60ms","cpu":"6121.6%","memory":"512MiB","bandwidth":"43.94MB/s","input_bw":null,"status_2xx":32915277,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":24928716,"avg_latency":"327us","p99_latency":"883us","cpu":"6811.8%","memory":"2.3GiB","bandwidth":"166.38MB/s","input_bw":null,"status_2xx":124643584,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":28359020,"avg_latency":"288us","p99_latency":"1.74ms","cpu":"5514.2%","memory":"275MiB","bandwidth":"189.27MB/s","input_bw":null,"status_2xx":141795104,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":35911375,"avg_latency":"227us","p99_latency":"1.57ms","cpu":"5797.6%","memory":"382MiB","bandwidth":"239.68MB/s","input_bw":null,"status_2xx":179556879,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":21753939,"avg_latency":"376us","p99_latency":"1.96ms","cpu":"5470.6%","memory":"269MiB","bandwidth":"145.19MB/s","input_bw":null,"status_2xx":108769696,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":11215557,"avg_latency":"729us","p99_latency":"2.13ms","cpu":"3370.7%","memory":"10.8GiB","bandwidth":"74.85MB/s","input_bw":null,"status_2xx":56077786,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":11253401,"avg_latency":"727us","p99_latency":"1.93ms","cpu":"3375.7%","memory":"9.8GiB","bandwidth":"75.11MB/s","input_bw":null,"status_2xx":56267007,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":62333664,"avg_latency":"130us","p99_latency":"294us","cpu":"6245.8%","memory":"408MiB","bandwidth":"416.00MB/s","input_bw":null,"status_2xx":311668320,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":5265146,"avg_latency":"1.55ms","p99_latency":"4.00ms","cpu":"6263.6%","memory":"41MiB","bandwidth":"35.14MB/s","input_bw":null,"status_2xx":26325734,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":3567410,"avg_latency":"2.29ms","p99_latency":"2.78ms","cpu":"6387.2%","memory":"1.4GiB","bandwidth":"23.81MB/s","input_bw":null,"status_2xx":17837054,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1992364,"avg_latency":"4.11ms","p99_latency":"5.72ms","cpu":"6739.4%","memory":"346MiB","bandwidth":"13.30MB/s","input_bw":null,"status_2xx":9961823,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":66683702,"avg_latency":"122us","p99_latency":"218us","cpu":"6289.2%","memory":"203MiB","bandwidth":"444.97MB/s","input_bw":null,"status_2xx":333418511,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2094098,"avg_latency":"1.15ms","p99_latency":"2.54ms","cpu":"6445.0%","memory":"184MiB","bandwidth":"13.97MB/s","input_bw":null,"status_2xx":10470494,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":63019270,"avg_latency":"129us","p99_latency":"276us","cpu":"6366.9%","memory":"1.1GiB","bandwidth":"420.57MB/s","input_bw":null,"status_2xx":315096352,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":9401225,"avg_latency":"781us","p99_latency":"2.67ms","cpu":"6098.7%","memory":"324MiB","bandwidth":"62.74MB/s","input_bw":null,"status_2xx":47006129,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":3130608,"avg_latency":"2.62ms","p99_latency":"7.63ms","cpu":"6034.1%","memory":"545MiB","bandwidth":"20.89MB/s","input_bw":null,"status_2xx":15653040,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3750207,"avg_latency":"2.18ms","p99_latency":"8.47ms","cpu":"6428.3%","memory":"180MiB","bandwidth":"25.03MB/s","input_bw":null,"status_2xx":18751038,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":54434438,"avg_latency":"149us","p99_latency":"307us","cpu":"6624.4%","memory":"44MiB","bandwidth":"363.19MB/s","input_bw":null,"status_2xx":272172192,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":65856262,"avg_latency":"123us","p99_latency":"238us","cpu":"6216.1%","memory":"42MiB","bandwidth":"439.66MB/s","input_bw":null,"status_2xx":329281312,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":4612210,"avg_latency":"1.70ms","p99_latency":"4.34ms","cpu":"6059.1%","memory":"330MiB","bandwidth":"30.78MB/s","input_bw":null,"status_2xx":23061052,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":4758055,"avg_latency":"1.72ms","p99_latency":"3.29ms","cpu":"6397.1%","memory":"377MiB","bandwidth":"31.76MB/s","input_bw":null,"status_2xx":23790275,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":18372604,"avg_latency":"146us","p99_latency":"135us","cpu":"6378.4%","memory":"182MiB","bandwidth":"122.61MB/s","input_bw":null,"status_2xx":91863023,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":59233593,"avg_latency":"137us","p99_latency":"711us","cpu":"6447.9%","memory":"57MiB","bandwidth":"395.26MB/s","input_bw":null,"status_2xx":296167967,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":20163386,"avg_latency":"405us","p99_latency":"849us","cpu":"6500.0%","memory":"39MiB","bandwidth":"134.57MB/s","input_bw":null,"status_2xx":100816934,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":60116442,"avg_latency":"135us","p99_latency":"314us","cpu":"6292.1%","memory":"196MiB","bandwidth":"401.03MB/s","input_bw":null,"status_2xx":300582211,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-pipeline-4096":[{"fw":"actix","lang":"Rust","rps":43075564,"avg_latency":"1.29ms","p99_latency":"1.82ms","cpu":"6392.9%","memory":"212MiB","bandwidth":"287.58MB/s","input_bw":null,"status_2xx":215377824,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":19744758,"avg_latency":"1.92ms","p99_latency":"7.12ms","cpu":"5656.8%","memory":"380MiB","bandwidth":"131.89MB/s","input_bw":null,"status_2xx":98723790,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":23969976,"avg_latency":"2.50ms","p99_latency":"9.91ms","cpu":"6014.3%","memory":"376MiB","bandwidth":"160.04MB/s","input_bw":null,"status_2xx":119849883,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":44900630,"avg_latency":"1.46ms","p99_latency":"3.26ms","cpu":"6326.2%","memory":"887MiB","bandwidth":"299.67MB/s","input_bw":null,"status_2xx":224503152,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":3489805,"avg_latency":"18.56ms","p99_latency":"43.20ms","cpu":"6333.1%","memory":"4.2GiB","bandwidth":"23.42MB/s","input_bw":null,"status_2xx":17449029,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":51559933,"avg_latency":"1.26ms","p99_latency":"1.90ms","cpu":"6275.6%","memory":"3.9GiB","bandwidth":"344.18MB/s","input_bw":null,"status_2xx":257799668,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":5748038,"avg_latency":"8.07ms","p99_latency":"31.50ms","cpu":"2538.8%","memory":"2.0GiB","bandwidth":"38.46MB/s","input_bw":null,"status_2xx":28740191,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":7182197,"avg_latency":"3.02ms","p99_latency":"31.30ms","cpu":"6125.7%","memory":"1.2GiB","bandwidth":"47.99MB/s","input_bw":null,"status_2xx":35910985,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":24903491,"avg_latency":"2.63ms","p99_latency":"5.29ms","cpu":"6608.8%","memory":"2.4GiB","bandwidth":"166.28MB/s","input_bw":null,"status_2xx":124517456,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":28690755,"avg_latency":"2.11ms","p99_latency":"7.87ms","cpu":"5862.3%","memory":"673MiB","bandwidth":"191.60MB/s","input_bw":null,"status_2xx":143453776,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":35757884,"avg_latency":"1.83ms","p99_latency":"7.56ms","cpu":"5708.3%","memory":"562MiB","bandwidth":"238.64MB/s","input_bw":null,"status_2xx":178789424,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":21931049,"avg_latency":"1.59ms","p99_latency":"6.37ms","cpu":"5751.0%","memory":"515MiB","bandwidth":"146.48MB/s","input_bw":null,"status_2xx":109655248,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":10647634,"avg_latency":"6.12ms","p99_latency":"15.10ms","cpu":"3385.1%","memory":"13.0GiB","bandwidth":"71.15MB/s","input_bw":null,"status_2xx":53238171,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":11090871,"avg_latency":"5.89ms","p99_latency":"14.40ms","cpu":"3425.7%","memory":"13.7GiB","bandwidth":"74.07MB/s","input_bw":null,"status_2xx":55454359,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":63975814,"avg_latency":"1.02ms","p99_latency":"1.43ms","cpu":"6445.7%","memory":"511MiB","bandwidth":"426.95MB/s","input_bw":null,"status_2xx":319879072,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":5655074,"avg_latency":"11.56ms","p99_latency":"36.90ms","cpu":"6446.2%","memory":"156MiB","bandwidth":"37.78MB/s","input_bw":null,"status_2xx":28275372,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":3619116,"avg_latency":"12.92ms","p99_latency":"19.90ms","cpu":"6372.7%","memory":"2.0GiB","bandwidth":"24.25MB/s","input_bw":null,"status_2xx":18095583,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1867526,"avg_latency":"29.82ms","p99_latency":"41.90ms","cpu":"6575.2%","memory":"578MiB","bandwidth":"12.62MB/s","input_bw":null,"status_2xx":9337632,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":68438198,"avg_latency":"954us","p99_latency":"1.42ms","cpu":"6160.2%","memory":"228MiB","bandwidth":"456.82MB/s","input_bw":null,"status_2xx":342190992,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2153769,"avg_latency":"1.01ms","p99_latency":"3.56ms","cpu":"6441.9%","memory":"192MiB","bandwidth":"14.38MB/s","input_bw":null,"status_2xx":10768848,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":64629072,"avg_latency":"1.01ms","p99_latency":"1.32ms","cpu":"6254.4%","memory":"1.2GiB","bandwidth":"431.34MB/s","input_bw":null,"status_2xx":323145360,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":8801906,"avg_latency":"5.68ms","p99_latency":"3.90ms","cpu":"6132.4%","memory":"602MiB","bandwidth":"58.85MB/s","input_bw":null,"status_2xx":44009533,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":3238831,"avg_latency":"20.22ms","p99_latency":"43.70ms","cpu":"5859.3%","memory":"1.1GiB","bandwidth":"21.65MB/s","input_bw":null,"status_2xx":16194155,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3778342,"avg_latency":"17.33ms","p99_latency":"37.30ms","cpu":"6364.5%","memory":"196MiB","bandwidth":"25.24MB/s","input_bw":null,"status_2xx":18891712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":56997062,"avg_latency":"1.15ms","p99_latency":"1.73ms","cpu":"6614.2%","memory":"172MiB","bandwidth":"380.40MB/s","input_bw":null,"status_2xx":284985312,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":66930970,"avg_latency":"978us","p99_latency":"1.32ms","cpu":"6240.6%","memory":"173MiB","bandwidth":"446.59MB/s","input_bw":null,"status_2xx":334654854,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":4972287,"avg_latency":"5.02ms","p99_latency":"19.80ms","cpu":"6465.3%","memory":"623MiB","bandwidth":"33.28MB/s","input_bw":null,"status_2xx":24861435,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":4661739,"avg_latency":"13.98ms","p99_latency":"19.10ms","cpu":"6392.3%","memory":"908MiB","bandwidth":"31.27MB/s","input_bw":null,"status_2xx":23308695,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":18343548,"avg_latency":"219us","p99_latency":"458us","cpu":"6309.3%","memory":"458MiB","bandwidth":"122.41MB/s","input_bw":null,"status_2xx":91717744,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":65026006,"avg_latency":"998us","p99_latency":"6.56ms","cpu":"6271.7%","memory":"138MiB","bandwidth":"433.82MB/s","input_bw":null,"status_2xx":325130032,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":20110483,"avg_latency":"3.26ms","p99_latency":"4.17ms","cpu":"6596.5%","memory":"120MiB","bandwidth":"134.22MB/s","input_bw":null,"status_2xx":100552419,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":66163871,"avg_latency":"980us","p99_latency":"2.02ms","cpu":"6131.5%","memory":"241MiB","bandwidth":"442.17MB/s","input_bw":null,"status_2xx":331480998,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-pipeline-16384":[{"fw":"actix","lang":"Rust","rps":37668525,"avg_latency":"3.30ms","p99_latency":"7.78ms","cpu":"5797.9%","memory":"544MiB","bandwidth":"251.72MB/s","input_bw":null,"status_2xx":188342625,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"aspnet-minimal","lang":"C#","rps":19407960,"avg_latency":"2.94ms","p99_latency":"9.60ms","cpu":"5864.6%","memory":"380MiB","bandwidth":"129.70MB/s","input_bw":null,"status_2xx":97039800,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"beskar-websocket","lang":"C#","rps":22474124,"avg_latency":"6.06ms","p99_latency":"21.70ms","cpu":"5989.3%","memory":"873MiB","bandwidth":"150.27MB/s","input_bw":null,"status_2xx":112370624,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"bun-websocket","lang":"TS","rps":42228572,"avg_latency":"6.13ms","p99_latency":"11.40ms","cpu":"6537.2%","memory":"996MiB","bandwidth":"282.34MB/s","input_bw":null,"status_2xx":211142864,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"deno-websocket","lang":"TS","rps":3751751,"avg_latency":"12.98ms","p99_latency":"30.60ms","cpu":"6053.0%","memory":"3.4GiB","bandwidth":"25.16MB/s","input_bw":null,"status_2xx":18758756,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"dogrider","lang":"C#","rps":47067836,"avg_latency":"5.47ms","p99_latency":"7.09ms","cpu":"6100.3%","memory":"8.8GiB","bandwidth":"314.39MB/s","input_bw":null,"status_2xx":235339184,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"effinitive","lang":"C#","rps":6331993,"avg_latency":"10.91ms","p99_latency":"63.90ms","cpu":"2602.9%","memory":"3.8GiB","bandwidth":"42.46MB/s","input_bw":null,"status_2xx":31659968,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fleck","lang":"C#","rps":7781016,"avg_latency":"3.64ms","p99_latency":"30.70ms","cpu":"6191.3%","memory":"2.0GiB","bandwidth":"51.98MB/s","input_bw":null,"status_2xx":38905083,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":23750396,"avg_latency":"10.88ms","p99_latency":"14.90ms","cpu":"6374.6%","memory":"2.5GiB","bandwidth":"159.02MB/s","input_bw":null,"status_2xx":118751984,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":27376221,"avg_latency":"6.82ms","p99_latency":"18.10ms","cpu":"5915.8%","memory":"1.8GiB","bandwidth":"183.28MB/s","input_bw":null,"status_2xx":136881105,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":30706780,"avg_latency":"8.48ms","p99_latency":"20.80ms","cpu":"5865.1%","memory":"1.1GiB","bandwidth":"205.53MB/s","input_bw":null,"status_2xx":153533904,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":21157952,"avg_latency":"3.59ms","p99_latency":"12.10ms","cpu":"5873.3%","memory":"568MiB","bandwidth":"141.45MB/s","input_bw":null,"status_2xx":105789762,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor","lang":"Kotlin","rps":8879790,"avg_latency":"28.61ms","p99_latency":"61.10ms","cpu":"3418.8%","memory":"20.7GiB","bandwidth":"59.67MB/s","input_bw":null,"status_2xx":44398954,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ktor-ghost","lang":"Kotlin","rps":8286836,"avg_latency":"30.72ms","p99_latency":"69.70ms","cpu":"3335.9%","memory":"20.9GiB","bandwidth":"55.70MB/s","input_bw":null,"status_2xx":41434183,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"minima-ws","lang":"C#","rps":59426656,"avg_latency":"4.31ms","p99_latency":"5.36ms","cpu":"6388.0%","memory":"814MiB","bandwidth":"396.96MB/s","input_bw":null,"status_2xx":297133281,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"mq-bridge","lang":"Rust","rps":5559653,"avg_latency":"45.83ms","p99_latency":"84.40ms","cpu":"6667.1%","memory":"460MiB","bandwidth":"37.51MB/s","input_bw":null,"status_2xx":27798267,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"node-websocket","lang":"JS","rps":3564641,"avg_latency":"26.78ms","p99_latency":"47.30ms","cpu":"6295.9%","memory":"2.1GiB","bandwidth":"24.05MB/s","input_bw":null,"status_2xx":17823208,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"phoenix-bandit","lang":"Elixir","rps":1755074,"avg_latency":"46.31ms","p99_latency":"102.00ms","cpu":"6343.1%","memory":"779MiB","bandwidth":"12.12MB/s","input_bw":null,"status_2xx":8775370,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"ringzero-ws","lang":"C","rps":61261692,"avg_latency":"4.25ms","p99_latency":"5.06ms","cpu":"6136.3%","memory":"337MiB","bandwidth":"409.18MB/s","input_bw":null,"status_2xx":306308464,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"roadrunner","lang":"Erlang","rps":2145742,"avg_latency":"1.10ms","p99_latency":"3.80ms","cpu":"6084.8%","memory":"192MiB","bandwidth":"14.32MB/s","input_bw":null,"status_2xx":10728712,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"sark","lang":"Rust","rps":60951628,"avg_latency":"4.26ms","p99_latency":"4.92ms","cpu":"6385.8%","memory":"1.6GiB","bandwidth":"407.14MB/s","input_bw":null,"status_2xx":304758144,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew","lang":"C#","rps":6434191,"avg_latency":"22.55ms","p99_latency":"1.09s","cpu":"5337.3%","memory":"1.3GiB","bandwidth":"43.45MB/s","input_bw":null,"status_2xx":32170959,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"simplew-tuned","lang":"C#","rps":2958454,"avg_latency":"87.00ms","p99_latency":"165.20ms","cpu":"5678.3%","memory":"1.9GiB","bandwidth":"20.26MB/s","input_bw":null,"status_2xx":14792272,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"swoole","lang":"PHP","rps":3557596,"avg_latency":"72.32ms","p99_latency":"136.10ms","cpu":"6262.9%","memory":"354MiB","bandwidth":"24.43MB/s","input_bw":null,"status_2xx":17787982,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-uring-ws","lang":"Rust","rps":54829427,"avg_latency":"4.75ms","p99_latency":"7.14ms","cpu":"6152.6%","memory":"761MiB","bandwidth":"366.32MB/s","input_bw":null,"status_2xx":274147136,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"tokio-ws","lang":"Rust","rps":61865334,"avg_latency":"4.22ms","p99_latency":"5.03ms","cpu":"6397.0%","memory":"592MiB","bandwidth":"413.28MB/s","input_bw":null,"status_2xx":309326672,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium","lang":"Rust","rps":4810009,"avg_latency":"12.33ms","p99_latency":"50.00ms","cpu":"6588.6%","memory":"1.2GiB","bandwidth":"32.34MB/s","input_bw":null,"status_2xx":24050046,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"trillium-tuned","lang":"Rust","rps":4226630,"avg_latency":"60.68ms","p99_latency":"71.60ms","cpu":"6334.8%","memory":"2.7GiB","bandwidth":"28.83MB/s","input_bw":null,"status_2xx":21133151,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"typev","lang":"Type-C","rps":18274678,"avg_latency":"386us","p99_latency":"2.74ms","cpu":"6083.0%","memory":"362MiB","bandwidth":"121.96MB/s","input_bw":null,"status_2xx":91373392,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"vanilla-ws","lang":"V","rps":61723418,"avg_latency":"4.18ms","p99_latency":"11.20ms","cpu":"6169.0%","memory":"465MiB","bandwidth":"412.31MB/s","input_bw":null,"status_2xx":308617092,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":18721003,"avg_latency":"13.90ms","p99_latency":"28.30ms","cpu":"6031.9%","memory":"378MiB","bandwidth":"125.35MB/s","input_bw":null,"status_2xx":93605015,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"zix-ws","lang":"Zig","rps":50196478,"avg_latency":"5.00ms","p99_latency":"8.55ms","cpu":"5798.4%","memory":"440MiB","bandwidth":"335.17MB/s","input_bw":null,"status_2xx":250982391,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-limited-512":[{"fw":"beskar-websocket","lang":"C#","rps":726199,"avg_latency":"89us","p99_latency":"210us","cpu":"4707.9%","memory":"4.4GiB","bandwidth":"13.78MB/s","input_bw":null,"status_2xx":3630997,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2096400,"avg_latency":"149us","p99_latency":"544us","cpu":"5614.2%","memory":"2.3GiB","bandwidth":"47.17MB/s","input_bw":null,"status_2xx":10482002,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":1031076,"avg_latency":"167us","p99_latency":"1.06ms","cpu":"5891.2%","memory":"351MiB","bandwidth":"25.76MB/s","input_bw":null,"status_2xx":5155381,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":1915803,"avg_latency":"175us","p99_latency":"605us","cpu":"5497.7%","memory":"475MiB","bandwidth":"47.49MB/s","input_bw":null,"status_2xx":9579016,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":433788,"avg_latency":"73us","p99_latency":"287us","cpu":"3446.9%","memory":"328MiB","bandwidth":"11.17MB/s","input_bw":null,"status_2xx":2168944,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2101061,"avg_latency":"145us","p99_latency":"521us","cpu":"5314.3%","memory":"73MiB","bandwidth":"39.86MB/s","input_bw":null,"status_2xx":10505307,"status_3xx":0,"status_4xx":0,"status_5xx":0}],"echo-ws-limited-4096":[{"fw":"beskar-websocket","lang":"C#","rps":683961,"avg_latency":"102us","p99_latency":"220us","cpu":"4485.2%","memory":"2.4GiB","bandwidth":"12.98MB/s","input_bw":null,"status_2xx":3419808,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"fulmine","lang":"JS","rps":2558298,"avg_latency":"1.05ms","p99_latency":"2.87ms","cpu":"6231.7%","memory":"2.4GiB","bandwidth":"57.58MB/s","input_bw":null,"status_2xx":12791493,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11","lang":"C#","rps":999151,"avg_latency":"337us","p99_latency":"3.25ms","cpu":"5891.1%","memory":"491MiB","bandwidth":"24.95MB/s","input_bw":null,"status_2xx":4995757,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-ioxide","lang":"C#","rps":2275598,"avg_latency":"1.37ms","p99_latency":"8.15ms","cpu":"6136.9%","memory":"684MiB","bandwidth":"56.41MB/s","input_bw":null,"status_2xx":11377991,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"genhttp-11-kestrel","lang":"C#","rps":434620,"avg_latency":"69us","p99_latency":"228us","cpu":"3393.0%","memory":"258MiB","bandwidth":"11.19MB/s","input_bw":null,"status_2xx":2173100,"status_3xx":0,"status_4xx":0,"status_5xx":0},{"fw":"wtx","lang":"Rust","rps":2591018,"avg_latency":"1.05ms","p99_latency":"2.46ms","cpu":"5950.6%","memory":"212MiB","bandwidth":"49.18MB/s","input_bw":null,"status_2xx":12955091,"status_3xx":0,"status_4xx":0,"status_5xx":0}]},"docs":{"t":"Knowledge Base","u":"","c":[{"t":"Test Profiles","u":"test-profiles","c":[{"t":"H/1.1","u":"test-profiles/h1","c":[{"t":"Isolated","u":"test-profiles/h1/isolated","c":[{"t":"Async Database (Postgres)","u":"test-profiles/h1/isolated/async-database","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/async-database/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/async-database/validation"}]},{"t":"Baseline","u":"test-profiles/h1/isolated/baseline","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/baseline/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/baseline/validation"}]},{"t":"CRUD (REST API)","u":"test-profiles/h1/isolated/crud","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/crud/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/crud/validation"}]},{"t":"Fortunes (Templates)","u":"test-profiles/h1/isolated/fortunes","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/fortunes/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/fortunes/validation"}]},{"t":"JSON Compressed","u":"test-profiles/h1/isolated/json-compressed","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/json-compressed/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/json-compressed/validation"}]},{"t":"JSON over TLS","u":"test-profiles/h1/isolated/json-tls","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/json-tls/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/json-tls/validation"}]},{"t":"JSON Processing","u":"test-profiles/h1/isolated/json-processing","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/json-processing/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/json-processing/validation"}]},{"t":"Pipelined (16x)","u":"test-profiles/h1/isolated/pipelined","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/pipelined/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/pipelined/validation"}]},{"t":"Short-lived Connection","u":"test-profiles/h1/isolated/short-lived","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/short-lived/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/short-lived/validation"}]},{"t":"Static Files (HTTP/1.1 + TLS)","u":"test-profiles/h1/isolated/static-tls","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/static-tls/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/static-tls/validation"}]},{"t":"Static Files (HTTP/1.1)","u":"test-profiles/h1/isolated/static","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/static/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/static/validation"}]},{"t":"Upload (20 MB)","u":"test-profiles/h1/isolated/upload","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/isolated/upload/implementation"},{"t":"Validation","u":"test-profiles/h1/isolated/upload/validation"}]}]},{"t":"Workload","u":"test-profiles/h1/workload","c":[{"t":"API-16","u":"test-profiles/h1/workload/api-16","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/workload/api-16/implementation"},{"t":"Validation","u":"test-profiles/h1/workload/api-16/validation"}]},{"t":"API-4","u":"test-profiles/h1/workload/api-4","c":[{"t":"Implementation Guidelines","u":"test-profiles/h1/workload/api-4/implementation"},{"t":"Validation","u":"test-profiles/h1/workload/api-4/validation"}]}]}]},{"t":"H/2","u":"test-profiles/h2","c":[{"t":"Baseline (H2c)","u":"test-profiles/h2/baseline-h2c","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/baseline-h2c/implementation"},{"t":"Validation","u":"test-profiles/h2/baseline-h2c/validation"}]},{"t":"Baseline (HTTP/2)","u":"test-profiles/h2/baseline-h2","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/baseline-h2/implementation"},{"t":"Validation","u":"test-profiles/h2/baseline-h2/validation"}]},{"t":"JSON (H2c)","u":"test-profiles/h2/json-h2c","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/json-h2c/implementation"},{"t":"Validation","u":"test-profiles/h2/json-h2c/validation"}]},{"t":"Static Files (HTTP/2)","u":"test-profiles/h2/static-h2","c":[{"t":"Implementation Guidelines","u":"test-profiles/h2/static-h2/implementation"},{"t":"Validation","u":"test-profiles/h2/static-h2/validation"}]}]},{"t":"Gateway","u":"test-profiles/gateway","c":[{"t":"Gateway H2","u":"test-profiles/gateway/gateway-h2","c":[{"t":"Implementation Guidelines","u":"test-profiles/gateway/gateway-h2/implementation"},{"t":"Validation","u":"test-profiles/gateway/gateway-h2/validation"}]},{"t":"Gateway-H3","u":"test-profiles/gateway/gateway-h3","c":[{"t":"Implementation Guidelines","u":"test-profiles/gateway/gateway-h3/implementation"},{"t":"Validation","u":"test-profiles/gateway/gateway-h3/validation"}]},{"t":"Production Stack","u":"test-profiles/gateway/production-stack","c":[{"t":"Implementation Guidelines","u":"test-profiles/gateway/production-stack/implementation"},{"t":"Validation","u":"test-profiles/gateway/production-stack/validation"}]}]},{"t":"H/3","u":"test-profiles/h3","c":[{"t":"Baseline (HTTP/3)","u":"test-profiles/h3/baseline-h3","c":[{"t":"Implementation Guidelines","u":"test-profiles/h3/baseline-h3/implementation"},{"t":"Validation","u":"test-profiles/h3/baseline-h3/validation"}]},{"t":"Static Files (HTTP/3)","u":"test-profiles/h3/static-h3","c":[{"t":"Implementation Guidelines","u":"test-profiles/h3/static-h3/implementation"},{"t":"Validation","u":"test-profiles/h3/static-h3/validation"}]}]},{"t":"gRPC","u":"test-profiles/grpc","c":[{"t":"Server Streaming (gRPC)","u":"test-profiles/grpc/stream","c":[{"t":"Implementation Guidelines","u":"test-profiles/grpc/stream/implementation"},{"t":"Validation","u":"test-profiles/grpc/stream/validation"}]},{"t":"Unary (gRPC)","u":"test-profiles/grpc/unary","c":[{"t":"Implementation Guidelines","u":"test-profiles/grpc/unary/implementation"},{"t":"Validation","u":"test-profiles/grpc/unary/validation"}]}]},{"t":"WebSocket","u":"test-profiles/ws","c":[{"t":"Echo (WebSocket)","u":"test-profiles/ws/echo","c":[{"t":"Implementation Guidelines","u":"test-profiles/ws/echo/implementation"},{"t":"Validation","u":"test-profiles/ws/echo/validation"}]},{"t":"Echo Pipelined (WebSocket)","u":"test-profiles/ws/echo-pipeline","c":[{"t":"Implementation Guidelines","u":"test-profiles/ws/echo-pipeline/implementation"},{"t":"Validation","u":"test-profiles/ws/echo-pipeline/validation"}]},{"t":"Echo Short-lived (WebSocket)","u":"test-profiles/ws/echo-limited","c":[{"t":"Implementation Guidelines","u":"test-profiles/ws/echo-limited/implementation"},{"t":"Validation","u":"test-profiles/ws/echo-limited/validation"}]}]}]},{"t":"Add a Framework","u":"add-framework","c":[{"t":"Directory Structure","u":"add-framework/directory-structure"},{"t":"meta.json","u":"add-framework/meta-json"},{"t":"Implementation Rules","u":"add-framework/implementation-rules","c":[{"t":"Frameworks","u":"add-framework/implementation-rules/frameworks","c":[{"t":"Standard","u":"add-framework/implementation-rules/frameworks/standard"},{"t":"Tuned","u":"add-framework/implementation-rules/frameworks/tuned"}]},{"t":"Engine","u":"add-framework/implementation-rules/engine"}]}]},{"t":"Running Locally","u":"running-locally","c":[{"t":"Scripts Reference","u":"running-locally/scripts","c":[{"t":"validate.sh","u":"running-locally/scripts/validate"},{"t":"run.sh","u":"running-locally/scripts/run"},{"t":"benchmark.sh","u":"running-locally/scripts/benchmark"},{"t":"benchmark-lite.sh","u":"running-locally/scripts/benchmark-lite"},{"t":"compare.sh","u":"running-locally/scripts/compare"},{"t":"archive.sh","u":"running-locally/scripts/archive"}]},{"t":"Prerequisites","u":"running-locally/prerequisites"},{"t":"Setup","u":"running-locally/setup"},{"t":"Archiving Rounds","u":"running-locally/archiving-rounds"},{"t":"Manual load testing","u":"running-locally/manual-load-testing"},{"t":"Configuration","u":"running-locally/configuration"}]},{"t":"Load Generators","u":"load-generators","c":[{"t":"gRPC","u":"load-generators/grpc","c":[{"t":"ghz","u":"load-generators/grpc/ghz"}]},{"t":"HTTP/1.1","u":"load-generators/h1","c":[{"t":"gcannon","u":"load-generators/h1/gcannon"},{"t":"wrk","u":"load-generators/h1/wrk"}]},{"t":"HTTP/2","u":"load-generators/h2","c":[{"t":"h2load","u":"load-generators/h2/h2load"}]},{"t":"HTTP/3","u":"load-generators/h3","c":[{"t":"h2load-h3","u":"load-generators/h3/h2load-h3"}]},{"t":"WebSocket","u":"load-generators/ws"}]},{"t":"Hardware & Topology","u":"hardware"},{"t":"Scoring","u":"scoring","c":[{"t":"Composite Score","u":"scoring/composite-score"}]}]},"rounds":{"name":"Alpha Round","ongoing":true,"archived":[]}}; diff --git a/site/leaderboard/search.js b/site/leaderboard/search.js index a94638e90..b2a72acd2 100644 --- a/site/leaderboard/search.js +++ b/site/leaderboard/search.js @@ -1 +1 @@ -window.LB_SEARCH = [{"u":"","t":"Knowledge Base","c":"Knowledge Base","d":"How the HttpArena benchmarks work: what each test profile measures, how the load generators drive traffic, and how results are scored.","x":"Learn how HttpArena benchmarks work, what each test profile measures, and how the load generators drive traffic. Load Generators How gcannon (HTTP/1.1) and h2load (HTTP/2) drive traffic for the benchmark suite. Hardware & Topology Reference machine: Threadripper PRO 3995WX. NUMA, cache, SMT, and how the harness pins resources. Scoring How the composite score is computed: normalization, arithmetic mean, and participation penalties. Running Locally Set up and run the full benchmark suite on your own machine with Docker and gcannon. Add a Framework Step-by-step guide to adding your framework: endpoints, Dockerfile, metadata, and PR."},{"u":"add-framework","t":"Add a Framework","c":"Knowledge Base","d":"Submit a framework to HttpArena: create a Dockerfile, declare metadata, implement the required endpoints, and open a pull request.","x":"Adding a framework to HttpArena takes a few steps: create a Dockerfile, add metadata, implement the required endpoints, and open a PR. Directory Structure How to organize your framework's files - Dockerfile, meta.json, and source code. Test Profiles All HTTP endpoints your framework must implement, organized by test profile. meta.json Framework metadata - display name, language, type, and which tests to participate in. Implementation Rules Rules for keeping benchmarks realistic - use framework APIs, production settings only, standard libraries."},{"u":"add-framework/directory-structure","t":"Directory Structure","c":"Knowledge Base \u203a Add a Framework","d":"The files every HttpArena entry provides under frameworks/, and what each one is used for during build, validation and benchmarking.","x":"Create a directory under frameworks/ with your framework's name: frameworks/ your-framework/ Dockerfile meta.json ... (source files) Dockerfile The Dockerfile should build and run your server. Containers are started with --network host , so bind to: Port 8080 - HTTP/1.1 Port 8443 - HTTPS with HTTP/2 and HTTP/3 (if supported) Example (Go): FROM golang:1.22-alpine AS build WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 go build -o server . FROM alpine:3.19 COPY --from=build /app/server /server CMD [\"/server\"] Mounted volumes The benchmark runner mounts these paths into your container (read-only): Path Purpose /data/dataset.json 50-item dataset for /json endpoint /data/static/ 20 static assets (CSS, JS, HTML, fonts, images) - 15 ship with .gz and .br sibling files for precompression-aware frameworks /certs/server.crt TLS certificate for HTTPS/H2/H3 /certs/server.key TLS private key for HTTPS/H2/H3 Postgres (profiles async-db , crud , api-4 , api-16 , and the compose-orchestrated gateway + production-stack) is provided by a separate sidecar container, reachable via the DATABASE_URL environment variable - not a mount. Redis (profile crud ) is similarly reachable via REDIS_URL . See Configuration for the full env var list."},{"u":"add-framework/implementation-rules","t":"Implementation Rules","c":"Knowledge Base \u203a Add a Framework","d":"Every entry declares a type in meta.json. Learn which rules apply to framework, engine and experimental entries, and how each is ranked.","x":"Every entry declares a type in meta.json - what it is and how it is ranked. Framework entries (Flagship / Emerging / Experimental) additionally declare a mode (Standard or Tuned). Frameworks Flagship, Emerging and Experimental tiers - run in Standard or Tuned mode. Engine Bare-metal HTTP implementations (raw sockets, custom parser). Ranked separately."},{"u":"add-framework/implementation-rules/engine","t":"Engine","c":"Knowledge Base \u203a Add a Framework \u203a Implementation Rules","d":"Rules for engine entries: bare-metal HTTP implementations built on raw sockets and low-level I/O, ranked separately from frameworks.","x":"Engine entries ( type: engine ) are bare-metal HTTP implementations - raw sockets, custom parsers, low-level I/O. They are not frameworks and are ranked separately. What qualifies as an engine Raw TCP socket servers with custom HTTP parsing Minimal HTTP libraries without routing or middleware Direct io_uring or epoll implementations Rules Must implement the endpoint spec correctly Must pass the validation suite No restrictions on implementation approach Ranked separately from framework entries (flagship and emerging) Only participates in connection-level tests (baseline, pipelined, limited-conn) and protocol tests (H2, H3, gRPC, WebSocket) by default"},{"u":"add-framework/implementation-rules/frameworks","t":"Frameworks","c":"Knowledge Base \u203a Add a Framework \u203a Implementation Rules","d":"How framework entries are grouped into the Flagship, Emerging and Experimental tiers, and what each tier requires of a submission.","x":"Framework entries are real web frameworks, grouped into three maturity tiers. The tier reflects maturity, not how the code is written - pick your best fit and it may be adjusted on review. Set it with meta.json.type . Flagship - a mature framework backed by an active development team, with a solid ecosystem (libraries, middleware, tooling) and an established community around it. Full-featured, and covers a complete test category (e.g. all HTTP/1.1 profiles). Emerging - a genuine framework that does not yet meet the full flagship bar: newer, more minimal, or only partial coverage. Experimental - very new work that has not proved itself yet. Ranked alongside frameworks, but hidden by default on the leaderboard (opt-in via the type filter). All three are scored in the same framework normalization pool and can be combined on the leaderboard. Mode Every framework entry also declares a mode in meta.json.mode - how strictly it follows the implementation rules. The same framework can be submitted in either mode; tuned entries are marked with a ring on the leaderboard and ranked alongside standard ones. Standard Default, production-style usage: documented framework APIs, production settings, and standard libraries. Tuned Non-default configs, experimental flags, and custom optimizations allowed."},{"u":"add-framework/implementation-rules/frameworks/standard","t":"Standard","c":"Knowledge Base \u203a Add a Framework \u203a Implementation Rules \u203a Frameworks","d":"Standard mode measures a framework in its default configuration \u2014 no experimental flags \u2014 reflecting what developers get out of the box.","x":"Standard is the default mode for a framework entry ( mode: standard ). It measures what the framework gives you out of the box, the way developers actually use it in real applications - documented APIs, production-grade settings, and standard libraries. Use framework-level APIs If a framework provides a documented, high-level way to accomplish a task, the benchmark implementation must use it. Bypassing the framework to hand-roll a faster solution is not permitted. Good Bad # Use the framework's built-in parameter binding @app.get(\"/baseline\") def baseline(a: int, b: int): return str(a + b) # Manually parse query string for speed @app.get(\"/baseline\") def baseline(request): qs = request.url.query.encode() a = fast_parse_int(qs, b\"a=\") b = fast_parse_int(qs, b\"b=\") return custom_serialize(a + b) Settings must be production-documented Non-default configuration is allowed only if the framework's official production deployment guide recommends it . If there is no official documentation recommending a setting for production use, it does not belong in the benchmark. Allowed: GC settings recommended in production deployment guides Worker/thread counts matching available CPU cores Connection pool sizes for the environment Not allowed: Undocumented flags found by reading framework source code Experimental or unstable options that trade safety for speed Settings that disable buffering, validation, or error handling Use standard libraries and drivers If the ecosystem has a well-established, production-grade library for a task (database driver, JSON serializer), use it. Experimental or hand-rolled alternatives solely for benchmark performance are not permitted. Exception: If the framework itself bundles or officially recommends a specific library, that library is acceptable. Static files must be read from disk For static file tests, standard entries must read files from disk on every request. No in-memory caching, no memory-mapped files, no pre-loaded file buffers. Static file compression Compression of static files is optional but recommended for better results. All static file requests include Accept-Encoding: br;q=1, gzip;q=0.8 - frameworks that compress will naturally benefit from reduced I/O. Standard rule: compression must use the framework's standard middleware or built-in static file handler (e.g., Nginx gzip on / gzip_static on , ASP.NET response compression middleware, Express compression() middleware). No handmade compression code. Pre-compressed files ( .gz , .br ) are available on disk alongside the originals. Frameworks that support serving pre-compressed files as a documented, official feature (e.g., Nginx gzip_static / brotli_static , ASP.NET MapStaticAssets ) may use them. Deployment-environment tuning Adapting to the benchmark hardware is permitted: Setting worker count to match CPU cores Configuring connection pool sizes Adjusting memory limits for the container The boundary is: adapt to the environment, do not exploit it."},{"u":"add-framework/implementation-rules/frameworks/tuned","t":"Tuned","c":"Knowledge Base \u203a Add a Framework \u203a Implementation Rules \u203a Frameworks","d":"Tuned mode allows non-default configuration, experimental flags and optimizations beyond what a framework ships with by default.","x":"Tuned mode ( mode: tuned ) gives a framework entry more freedom. It can use non-default configurations, experimental flags, and optimizations that go beyond standard framework usage. Tuned entries are marked with a ring on the leaderboard and shown alongside standard ones. What is allowed Alternative JSON serializers (simd-json, sonic-json, etc.) Custom buffer sizes and TCP socket options Experimental or unstable framework flags Memory-mapped files and in-memory static file caching Custom thread pools and worker configurations Non-default GC settings without documentation requirement Framework-specific performance flags not recommended for production Any compression approach for static files - custom compression, pre-compressed file serving, alternative compression libraries What is NOT allowed Pre-computed response bodies - serializing a fixed response at startup and returning the same bytes per request (e.g. caching a JSON blob and writing it back unchanged). The serialization + compression work is the workload; bypassing it defeats the measurement. Response caching - memoizing the full HTTP response body keyed by URL/params and replaying it. This is distinct from upstream data caching (DB query results, JWT verification, etc.), which remains allowed where the profile calls for it (e.g. the CRUD profile's read cache). What is still required Must use the framework's HTTP server (not a raw socket replacement) Must implement all endpoint specs correctly Must pass the validation suite The framework dependency must be a real, published framework When to choose Tuned If your submission uses any setting or optimization that a typical production team would not use, set mode to tuned. If in doubt, start with standard and switch to tuned only once you add non-standard optimizations."},{"u":"add-framework/meta-json","t":"meta.json","c":"Knowledge Base \u203a Add a Framework","d":"Every field in a framework's meta.json: display name, language, type, mode, engine, maintainers, and the tests the entry subscribes to.","x":"Create a meta.json file in your framework directory: { \"display_name\": \"your-framework\", \"language\": \"Go\", \"engine\": \"net/http\", \"type\": \"flagship\", \"mode\": \"standard\", \"description\": \"Short description of the framework and its key features.\", \"repo\": \"https://github.com/org/repo\", \"enabled\": true, \"tests\": [\"baseline\", \"pipelined\", \"limited-conn\", \"json\", \"json-comp\", \"upload\", \"api-4\", \"api-16\", \"baseline-h2\", \"static-h2\"], \"maintainers\": [\"your-github-username\"] } Fields Field Description display_name Name shown on the leaderboard language Programming language (e.g., Go , Rust , C# , Java ) engine HTTP server engine (e.g., Kestrel , Tomcat , hyper ) type flagship , emerging or experimental for frameworks, engine for bare-metal implementations mode Frameworks only: standard (default - idiomatic, production-style usage) or tuned (non-default config / optimizations) description Shown in the framework detail popup on the leaderboard repo Link to the framework's source repository enabled Set to false to skip this framework during benchmark runs tests Array of test profiles this framework participates in maintainers Array of GitHub usernames to notify when a PR modifies this framework Available test profiles Profile Protocol Required endpoints baseline HTTP/1.1 /baseline11 pipelined HTTP/1.1 /pipeline limited-conn HTTP/1.1 /baseline11 json HTTP/1.1 /json/{count}?m=N json-comp HTTP/1.1 /json/{count}?m=N (must honor Accept-Encoding: gzip, br ) json-tls HTTP/1.1 + TLS /json/{count}?m=N (port 8081, ALPN http/1.1 ) upload HTTP/1.1 /upload api-4 HTTP/1.1 /baseline11 , /json/{count} , /async-db (4 CPU, 16 GB) api-16 HTTP/1.1 /baseline11 , /json/{count} , /async-db (16 CPU, 32 GB) static HTTP/1.1 /static/* (port 8080) async-db HTTP/1.1 /async-db?min=X&max=Y&limit=N (requires DATABASE_URL ) crud HTTP/1.1 /api/items , /api/items/{id} (GET/POST/PUT; requires DATABASE_URL , optional REDIS_URL ) baseline-h2 HTTP/2 /baseline2 (TLS, port 8443) static-h2 HTTP/2 /static/* (TLS, port 8443) baseline-h2c HTTP/2 cleartext /baseline2 (port 8082, prior-knowledge) json-h2c HTTP/2 cleartext /json/{count}?m=N (port 8082, prior-knowledge) baseline-h3 HTTP/3 /baseline2 (QUIC, port 8443) static-h3 HTTP/3 /static/* (QUIC, port 8443) gateway-64 HTTP/2 Compose stack serving /static/* , /json , /async-db , /baseline2 (TLS, port 8443) gateway-h3 HTTP/3 Compose stack serving /static/* , /json , /async-db , /baseline2 (QUIC, port 8443) production-stack HTTP/2 Compose stack: edge + JWT auth sidecar + Redis + server (TLS, port 8443) unary-grpc gRPC BenchmarkService/GetSum (h2c, port 8080) unary-grpc-tls gRPC BenchmarkService/GetSum (TLS, port 8443) stream-grpc gRPC BenchmarkService/StreamSum (h2c, port 8080) stream-grpc-tls gRPC BenchmarkService/StreamSum (TLS, port 8443) echo-ws WebSocket /ws echo (port 8080) Only include profiles your framework supports. Frameworks missing a profile simply don't appear in that profile's leaderboard. Per-profile endpoint contracts, request/response shapes, and validation rules live under the Test Profiles section - link to the specific profile's Implementation page from your PR description when adding a new framework."},{"u":"hardware","t":"Hardware & Topology","c":"Knowledge Base","d":"The reference machine behind every HttpArena result: an AMD Threadripper PRO 3995WX workstation, its CPU topology, and how cores are allocated.","x":"The reference hardware for HttpArena results is a single-socket AMD Threadripper PRO 3995WX workstation. Every benchmark run uses the same machine, so numbers are directly comparable framework-to-framework. This page explains the CPU topology - NUMA, cache hierarchy, SMT - and how the benchmark harness pins resources against it. Processor Spec Value Model AMD Ryzen Threadripper PRO 3995WX Architecture Zen 2 Physical cores 64 Logical threads 128 (SMT2) Sockets 1 Base / boost clock 2.7 GHz / 4.2 GHz TDP 280 W Memory channels 8 \u00d7 DDR4-3200 Aggregate DRAM bandwidth ~205 GB/s Total L3 256 MB (16 \u00d7 16 MB) Total L2 32 MB (64 \u00d7 512 KB) Total L1d / L1i 2 MB each (64 \u00d7 32 KB) NUMA layout Confirmed with numactl --hardware : available: 1 nodes (0) node 0 cpus: 0-127 node 0 size: 257 GB node distances: node 0 0: 10 One NUMA node , all 128 logical threads, all DRAM channels. This is NPS1 mode (Nodes Per Socket = 1), configured in BIOS. All memory is symmetrically accessible to every core with identical reported latency, so the kernel scheduler has full placement freedom and software doesn't need NUMA policies. Could NPS4 help? No, and it could hurt. NPS4 would split the chip into 4 NUMA nodes (16 cores + 2 DRAM channels each), surfacing physical proximity asymmetries to the kernel. That's useful for shared-nothing workloads - multiple independent DBs, per-node JVMs, etc. HttpArena's server workloads are the opposite: heavily shared mutable state (thread-pool queues, IMemoryCache , Npgsql multiplexer state, Postgres shared buffers). Under NPS4 that shared state gets a \"home node\" and cross-node access becomes measurably slower. Also, at our throughput (~1 KB memory traffic per request \u00d7 350K rps \u2248 350 MB/s) we use 0.2% of aggregate memory bandwidth - the resource NPS partitions isn't one we're constrained on. Cache hierarchy Level Size Shared by L1i + L1d 32 KB each One physical core (plus its SMT sibling) L2 512 KB One physical core (plus its SMT sibling) L3 16 MB One CCX - 4 physical cores / 8 threads Zen 2 arranges cores into CCXs (core complexes) of 4 physical cores. Each CCX has its own exclusive L3 slice. Physical chiplets on the 3995WX contain 2 CCXs each, and there are 8 chiplets \u2192 16 CCXs total , 16 MB L3 per CCX. Within a CCX, L3 access is ~40 cycles. Crossing CCXs (Infinity Fabric) is ~110 cycles. So CCX boundaries are the real locality boundaries on this chip, more so than NUMA. CCX-to-CPU mapping Verified from /sys/devices/system/cpu/cpuN/cache/index3/shared_cpu_list : CCX Physical cores (and SMT siblings) 0 0\u20133, 64\u201367 1 4\u20137, 68\u201371 2 8\u201311, 72\u201375 3 12\u201315, 76\u201379 4 16\u201319, 80\u201383 5 20\u201323, 84\u201387 6 24\u201327, 88\u201391 7 28\u201331, 92\u201395 8 32\u201335, 96\u201399 9 36\u201339, 100\u2013103 10 40\u201343, 104\u2013107 11 44\u201347, 108\u2013111 12 48\u201351, 112\u2013115 13 52\u201355, 116\u2013119 14 56\u201359, 120\u2013123 15 60\u201363, 124\u2013127 SMT (Simultaneous Multithreading) Each physical core has two hardware threads. The sibling of CPU N is CPU N+64 : cpu0 \u2192 0,64 cpu1 \u2192 1,65 ... cpu63 \u2192 63,127 Verified from /sys/devices/system/cpu/cpuN/topology/thread_siblings_list . Why this matters for pinning: SMT siblings share L1, L2, execution units, and decode bandwidth. When you cpuset-pin a consumer, always include both threads of a pair - splitting an SMT pair across two different consumers creates pathological cache thrashing. When the harness assigns, say, 0,64 to Redis and 1-31,65-95 to the server, both sides get coherent pairs. SMT2 roughly yields +30% throughput on our workload over single-thread-per-core - useful for latency-bound async handlers where one logical thread is usually idle waiting on I/O while its sibling can execute. How HttpArena pins against this topology Most profiles use a 64-thread server cpuset: 0-31,64-95 . That's 32 physical cores spanning CCX 0\u20137 (8 CCXs = 128 MB L3 budget). The load generator (gcannon) gets 32-63,96-127 - symmetric split, CCX 8\u201315. One half of the chip drives the test, the other half serves it. Same NUMA node either way. For profiles that need a sidecar (Postgres, Redis), the harness reshuffles: crud profile (uses Redis): consumer phys threads cpuset L3 reach Redis 1 2 0,64 CCX 0 (shared with 3 server cores) Server 31 62 1-31,65-95 CCX 0\u20137 (112 MB L3 exclusive + 16 MB shared with Redis) Gcannon 32 64 32-63,96-127 CCX 8\u201315 (128 MB L3) Postgres unpinned - - kernel-scheduled, typically lands on server CCXs for request-path L3 locality Redis sharing a CCX with a few server cores is beneficial - data the server just wrote to Redis (on cache miss) stays in the shared L3 when it reads back (on hit). Moving Redis to a non-server CCX would introduce a ~70-cycle inter-CCX coherence hop per read. production-stack profile (explicit multi-service pinning): Service cpuset edge (nginx) 4-15,68-79 (12 phys) authsvc (JWT verifier) 16-19,80-83 (4 phys) Redis (cache) 15,79 (1 phys) Postgres (unpinned) - server (framework) 0-3,20-31,64-67,84-95 (16 phys) gcannon 32-63,96-127 (32 phys) This split is empirically tuned - see the CHANGELOG entry for 2026-04-16 for the calibration history and why an edge-heavy allocation works at the given rps. Kernel tuning applied per run scripts/lib/system.sh runs before each benchmark: CPU governor \u2192 performance (no DVFS ramp delays) net.core.somaxconn \u2192 65535 (accept queue) net.ipv4.tcp_max_syn_backlog \u2192 65535 net.core.netdev_max_backlog \u2192 65535 net.ipv4.ip_local_port_range \u2192 1024 65535 (avoid ephemeral port exhaustion under -r reconnect storms) net.ipv4.tcp_tw_reuse \u2192 1 net.ipv4.tcp_max_tw_buckets \u2192 131072 net.core.rmem_max / wmem_max \u2192 7.5 MB (UDP buffer for QUIC) Loopback MTU \u2192 1500 (realistic Ethernet; the default 65536 hides kernel segmentation cost) Docker daemon restart to pick up the new limits Post-run system_restore reverts governor and loopback MTU to defaults. Practical takeaways CCXs are the locality unit, not NUMA nodes. Pin consumers to contiguous 4-core groups when you can; avoid splitting a CCX across two consumers unless you explicitly want them to share L3 (like Redis + server). Keep SMT pairs together. Every cpuset in the harness respects (N, N+64) pairing - preserved automatically if you specify cpusets like a-b,(a+64)-(b+64) . NUMA is a non-issue on this chip. Don't waste time with numactl --membind or NPS subdivision. Memory bandwidth is 99.8% idle at our rps. Memory-side optimizations only help workloads with much higher per-request data movement (analytics, streaming) than REST-API-style request handling."},{"u":"load-generators","t":"Load Generators","c":"Knowledge Base","d":"HttpArena drives each transport with a purpose-built load generator. An overview of gcannon, wrk, h2load, h2load-h3 and ghz, and when each is used.","x":"HttpArena uses a different load generator for each transport / workload. HTTP/1.1 gcannon (io_uring) for most tests, wrk for static file serving. HTTP/2 h2load - nghttp2's load generator with TLS and stream multiplexing. HTTP/3 h2load-h3 - nghttp2 + ngtcp2 for QUIC-based HTTP/3 benchmarks. gRPC ghz - proto-aware gRPC load tester for streaming and unary RPCs. WebSocket gcannon --ws - io_uring WebSocket echo driver reusing the HTTP/1.1 engine with a frame-aware send/recv loop."},{"u":"load-generators/grpc","t":"gRPC","c":"Knowledge Base \u203a Load Generators","d":"How HttpArena generates gRPC load for the unary and server-streaming profiles, and which tool drives each.","x":"ghz Proto-aware gRPC load generator supporting unary, server streaming, client streaming, and bidirectional RPCs."},{"u":"load-generators/grpc/ghz","t":"ghz","c":"Knowledge Base \u203a Load Generators \u203a gRPC","d":"ghz is a proto-aware gRPC benchmarking tool. HttpArena uses it to drive the server-streaming profiles, including its required warm-up run.","x":"ghz is a proto-aware gRPC load testing tool written in Go. HttpArena uses it to drive the stream-grpc and stream-grpc-tls profiles. Unlike h2load (which ships pre-serialized binary bodies as raw HTTP/2 DATA frames), ghz is a full gRPC client - it parses the .proto file at runtime, marshals requests into protobuf, and issues actual gRPC calls of the correct shape (unary, server-streaming, client-streaming, or bidi) based on the method's proto definition. Installation go install github.com/bojand/ghz/cmd/ghz@latest The binary ends up in $GOPATH/bin/ghz . Ensure it's on $PATH or move it to /usr/local/bin/ . HttpArena respects the GHZ environment variable ( GHZ=\"${GHZ:-ghz}\" in benchmark.sh ), so GHZ=/custom/path/ghz ./scripts/benchmark.sh ... also works. How it's used Server-streaming throughput ( stream-grpc ) ghz --insecure --proto requests/benchmark.proto \\ --call benchmark.BenchmarkService/StreamSum \\ -d '{\"a\":1,\"b\":2,\"count\":5000}' \\ --connections 64 -c 256 -z 5s \\ localhost:8080 Server-streaming over TLS ( stream-grpc-tls ) ghz --skipTLS --proto requests/benchmark.proto \\ --call benchmark.BenchmarkService/StreamSum \\ -d '{\"a\":1,\"b\":2,\"count\":5000}' \\ --connections 64 -c 256 -z 5s \\ localhost:8443 Flag Description Value --insecure Plaintext h2c - no TLS at all for stream-grpc --skipTLS TLS with server cert verification disabled for stream-grpc-tls --proto Path to canonical benchmark.proto requests/benchmark.proto --call Fully-qualified method name benchmark.BenchmarkService/StreamSum -d JSON request payload (marshaled to protobuf) {\"a\":1,\"b\":2,\"count\":5000} --connections Number of TCP connections 64 -c Number of concurrent worker goroutines 256 (4 streams per TCP connection) -z Benchmark duration 5s The ratio of --connections to -c controls stream multiplexing. 64 \u00d7 256 means each TCP connection carries an average of 4 concurrent streams via HTTP/2 - empirically the optimal shape under TLS with 5000 msgs/call: ~8.6M msgs/sec peak with under 2% error rate and ~145 ms average latency. Denser ratios (8:1 or 16:1) push throughput slightly higher on paper but the error rate explodes to 10-30% as Kestrel's HTTP/2 flow-control windows and per-connection write loops start shedding streams under pressure. How the number is reported ghz's text output has the shape: Summary: Count: 2500 Total: 5.00 s Slowest: 89.3 ms Fastest: 4.1 ms Average: 37.6 ms Requests/sec: 500.00 For server-streaming calls, Requests/sec is calls per second, not messages per second . HttpArena multiplies it by the messages-per-call constant ( 5000 for the current profiles) to arrive at the headline messages/sec figure shown on the leaderboard. That way streaming throughput is directly comparable to unary calls/sec - both represent \"protobuf messages delivered through the framework per second.\" Why ghz and not h2load for streaming h2load cannot generate gRPC streams at all. It only knows how to send opaque HTTP/2 DATA frames with a pre-built body - it has no concept of reading a response stream, let alone distinguishing a server-streaming call from a unary one. For the existing unary-grpc profile h2load works fine because each call is a single request/response; for anything where the shape matters, you need a real gRPC client. ghz's overhead (protobuf marshal on every call) means its unary throughput is ~50\u00d7 lower than h2load's raw-wire throughput, but that's the honest gRPC number - the h2load unary-grpc figure is actually a raw h2-frame-throughput measurement, not a gRPC client/server round-trip. Limitations Unary throughput caps around ~47k req/sec on our test hardware due to grpc-go client-side overhead. h2load still wins for unary-only raw throughput - but stream-grpc is where ghz shines, reaching 6M+ msg/sec because the per-call cost amortizes over thousands of messages. ghz does not measure per-message latency inside a stream - only call-level latency (time from stream open to stream close). For per-message latency you'd need a custom client. No built-in warm-up phase - first few calls may include TLS handshakes and channel setup. The 5-second default duration is long enough that handshake cost rounds out. Client-streaming and bidi work in ghz ( -d accepts a JSON array of messages), but HttpArena doesn't currently use them - they measure round-trip latency more than framework throughput."},{"u":"load-generators/h1","t":"HTTP/1.1","c":"Knowledge Base \u203a Load Generators","d":"The load generators behind the HTTP/1.1 profiles: gcannon for most workloads and wrk for URI-rotating static file tests.","x":"gcannon Custom io_uring-based load generator for baseline, JSON, upload, and other tests. wrk Multi-threaded HTTP benchmark tool used for the static file serving test with Lua rotation."},{"u":"load-generators/h1/gcannon","t":"gcannon","c":"Knowledge Base \u203a Load Generators \u203a HTTP/1.1","d":"gcannon is HttpArena's purpose-built HTTP/1.1 load generator, using Linux io_uring for zero-copy networking at very high request rates.","x":"gcannon is a custom HTTP load generator built specifically for HttpArena. It uses Linux's io_uring interface for high-performance, zero-copy networking, ensuring the benchmarking tool itself never becomes the bottleneck. Why a custom load generator? Traditional HTTP benchmarking tools like wrk or ab use epoll or kqueue for I/O multiplexing. While effective, these tools can become the bottleneck when testing extremely fast servers (millions of requests per second). gcannon uses io_uring to push the client-side ceiling higher. Architecture gcannon spawns N worker threads , each managing its own: io_uring ring with IORING_SETUP_SINGLE_ISSUER and IORING_SETUP_DEFER_TASKRUN for minimal kernel overhead Provided buffer ring for zero-copy multishot receives -- the kernel writes directly into pre-registered buffers Connection pool -- each thread manages connections / threads TCP connections I/O flow Connect -- async io_uring_prep_connect for non-blocking TCP setup Send -- pipelined requests are pre-built into a single buffer and sent with io_uring_prep_send Receive -- multishot io_uring_prep_recv_multishot with provided buffers; a single SQE produces multiple CQEs as data arrives Parse -- a streaming HTTP response parser counts completed responses and extracts headers Refill -- as responses complete, new requests are fired to maintain pipeline depth CQE batching gcannon processes completions in batches using io_uring_peek_batch_cqe . With DEFER_TASKRUN , SEND and RECV completions can arrive in the same batch, which requires careful handling to avoid pipeline stalls. Request templates gcannon supports two modes: URL mode When given a plain URL (e.g., http://host:8080/pipeline ), gcannon generates a standard HTTP/1.1 GET request and replicates it N times for pipelining. Raw template mode ( --raw ) When given raw request files (e.g., --raw get.raw,post_cl.raw,post_chunked.raw ), gcannon sends the exact bytes from each file. This enables: Mixed GET/POST workloads Requests with specific headers, body encodings, or query parameters Bit-perfect request reproduction Templates are assigned round-robin to connections, so each connection sends one request type consistently. Dynamic placeholders Raw templates support per-request value substitution via two placeholder types: {RAND:min:max} - replaced with a random number between min and max (inclusive) on every request. Uses a per-connection xorshift64 PRNG with no cross-thread contention. Ideal for distributing reads and writes across a large ID space. GET /items/{RAND:1:100000} HTTP/1.1 Host: localhost:8080 {SEQ:start} - replaced with a globally incrementing counter starting at start . Uses a shared atomic counter across all threads, so every request gets a unique value. Ideal for INSERT operations where each row needs a distinct ID. POST /items HTTP/1.1 Host: localhost:8080 Content-Type: application/json Content-Length: 72 {\"id\":{SEQ:100001},\"name\":\"Bench\",\"category\":\"test\",\"price\":100,\"qty\":50} Values are zero-padded to the digit width of the max value, so the substituted buffer is always the same length as the original placeholder. This means Content-Length stays correct for POST/PUT bodies without recalculation. One placeholder per template (the first {RAND: or {SEQ: found). Each template gets its own independent counter/RNG state. A per-connection scratch buffer is used for substitution - the shared template buffer is never modified. Pipelining With -p N , gcannon sends N requests in a single write operation. As responses arrive, it refills the pipeline proportionally -- if 5 responses are received, 5 new requests are queued. This maintains steady pressure without overwhelming the server's receive buffer. Latency measurement Latency is measured per-request from the moment the send SQE is prepared (not when the kernel completes the send) to when the corresponding response is fully parsed. This captures the true round-trip time as seen by the application. For pipelined requests, each request in the batch gets its own send timestamp, and latencies are matched FIFO to response completions. Command-line reference Usage: gcannon -c -t -d [-p ] [-r ] [-R|--raw file1,file2,...] Flag Description Default -c Total connections required -t Worker threads required -d Test duration (e.g., 5s , 30s ) required -p Pipeline depth 1 -r Requests per connection (0 = unlimited) 0 --raw Comma-separated raw request template files --"},{"u":"load-generators/h1/wrk","t":"wrk","c":"Knowledge Base \u203a Load Generators \u203a HTTP/1.1","d":"HttpArena uses wrk with a Lua script to rotate across 20 URIs for the static file profile, measuring realistic multi-asset page loads.","x":"wrk is a multi-threaded HTTP benchmarking tool used for the static file serving test profile. Why wrk for static files? The static file test serves 20 files with response sizes ranging from 3 KB to 67 KB (brotli-compressed). At these sizes, gcannon's io_uring provided buffer ring path introduces per-completion overhead that limits throughput to ~14 GB/s on loopback. wrk's simpler epoll + read() approach achieves ~19 GB/s on the same workload, ensuring the load generator is never the bottleneck. For small-response tests (baseline, JSON, pipelined), gcannon's io_uring batched submission is faster than wrk. The tools complement each other. Lua rotation script wrk uses a Lua script ( requests/static-rotate.lua ) to cycle through all 20 static file paths. Each request includes Accept-Encoding: br;q=1, gzip;q=0.8 to test compressed file serving. request = function() counter = counter + 1 local path = paths[((counter - 1) % 20) + 1] return wrk.format(\"GET\", path, {[\"Accept-Encoding\"] = ae_header}) end Parameters Parameter Value Test profiles static Threads 64 Connections 1,024, 4,096, 6,800 Duration 5s Runs 3 (best taken)"},{"u":"load-generators/h2","t":"HTTP/2","c":"Knowledge Base \u203a Load Generators","d":"How HttpArena generates multiplexed HTTP/2 load for the TLS and cleartext (h2c) profiles.","x":"h2load HTTP/2 load generator from nghttp2 with TLS and stream multiplexing support."},{"u":"load-generators/h2/h2load","t":"h2load","c":"Knowledge Base \u203a Load Generators \u203a HTTP/2","d":"h2load from the nghttp2 project drives every HTTP/2 profile in HttpArena, with configurable concurrent streams per connection.","x":"h2load is part of the nghttp2 project and is used for the baseline-h2 profile. It supports HTTP/2 multiplexing with configurable concurrent streams per connection. Installation sudo apt install nghttp2-client How it's used h2load https://localhost:8443/baseline2?a=1&b=1 -c 256 -m 100 -t 128 -D 5s Flag Description Value -c Number of connections 256 or 1,024 -m Max concurrent streams per connection 100 -t Threads 128 -D Duration 5s Why h2load? gcannon is HTTP/1.1 only (by design - it uses raw request templates and io_uring for maximum throughput). h2load handles TLS negotiation, ALPN, HPACK header compression, and HTTP/2 stream multiplexing natively."},{"u":"load-generators/h3","t":"HTTP/3","c":"Knowledge Base \u203a Load Generators","d":"How HttpArena generates HTTP/3 traffic over QUIC, and why a custom ngtcp2 build replaced the previous tool.","x":"h2load-h3 nghttp2's h2load built with ngtcp2 + nghttp3 + quictls for HTTP/3 (QUIC) load testing."},{"u":"load-generators/h3/h2load-h3","t":"h2load-h3","c":"Knowledge Base \u203a Load Generators \u203a HTTP/3","d":"A custom h2load build linked against ngtcp2 that drives HttpArena's HTTP/3 profiles over QUIC with ALPN negotiation.","x":"h2load is part of the nghttp2 project. HttpArena uses a custom build that links against ngtcp2 , nghttp3 , and quictls to enable HTTP/3 (QUIC) support. This build is invoked as h2load-h3 and drives both baseline-h3 and static-h3 profiles. Installation The h2load binary shipped by Linux distributions does not include HTTP/3. HttpArena builds its own image: docker build -f docker/h2load-h3.Dockerfile -t h2load-h3:local docker/ For native execution under benchmark.sh , the binary and runtime libraries are extracted from the image to /opt/h2load-h3/ and a wrapper is installed at /usr/local/bin/h2load-h3 that sets LD_LIBRARY_PATH and execs the binary. How it's used h2load-h3 --alpn-list=h3 https://localhost:8443/baseline2?a=1&b=1 \\ -c 64 -m 64 -t 64 -D 5s For multi-URI static file tests: h2load-h3 --alpn-list=h3 -i requests/static-h2-uris.txt \\ -H \"Accept-Encoding: br;q=1, gzip;q=0.8\" \\ -c 64 -m 64 -t 64 -D 5s Flag Description Value --alpn-list=h3 Negotiate HTTP/3 over QUIC - -c Number of QUIC connections 64 -m Max concurrent streams per connection 64 -t Worker threads 64 -D Duration 5s -i URI list file (multi-URL rotation) - Why h2load-h3 instead of oha? The previous HTTP/3 driver ( oha ) topped out at ~85k req/s and could not saturate any framework - its single-threaded quinn client became the bottleneck before the server. h2load-h3 uses ngtcp2's multi-threaded worker model with sendmmsg / recvmmsg syscall batching, reaching ~580k req/s on the same hardware against the same server (Kestrel + msquic). Both ends are CPU-saturated at that point, which makes the result a fair measurement of the framework's QUIC stack rather than the load generator's. Why HTTP/3 results are still lower than HTTP/2 HTTP/3 carries an inherent CPU cost vs HTTP/2 that loopback benchmarks make particularly visible: Per-packet AEAD encryption with no kernel TLS offload All packet processing in userspace via msquic / ngtcp2 More syscalls per request than TCP's buffered read/write paths Loopback at MTU 1500 - required for proper GSO/GRO behavior - gives no help from a real NIC Expect a 4-6\u00d7 gap between h3 and h2 numbers for the same framework. This reflects the state of the QUIC ecosystem in 2026, not a configuration issue."},{"u":"load-generators/ws","t":"WebSocket","c":"Knowledge Base \u203a Load Generators","d":"HttpArena drives its WebSocket profiles with gcannon in --ws mode, reusing the same io_uring engine as the HTTP/1.1 tests.","x":"HttpArena drives the echo-ws profile with gcannon in --ws mode . The same io_uring engine documented under HTTP/1.1 \u2192 gcannon is reused here - worker threads, per-thread provided-buffer rings, multishot receives, per-connection state - with a frame-aware send/recv loop layered on top. Using one tool across transports keeps the client-side ceiling, threading model, and CPU-pinning behavior consistent so differences in the measurement land on the server, not the generator. Handshake Each worker opens TCP connections and issues an HTTP/1.1 upgrade request to the target URL (typically http://localhost:8080/ws ). The server must respond with HTTP/1.1 101 Switching Protocols and the correct Sec-WebSocket-Accept value derived from the client's Sec-WebSocket-Key . Connections that fail the handshake are reported as reconnects; the validator ( WebSocket validation ) checks the handshake path separately and catches framework-side bugs before benchmarks run. Echo loop Once upgraded, each connection runs the steady-state loop: Build a masked client-to-server text frame with a short payload Send the frame via io_uring_prep_send Wait for the server to echo it back (matched server-to-client frame) On receipt, increment the per-thread frame counter and immediately send the next frame Pipeline depth is 1 for the echo-ws profile - one message in flight per connection - so the measurement is effectively a back-to-back request/response loop rather than a batched burst. With thousands of concurrent connections each running this loop in parallel, the steady-state throughput reflects the server's ability to multiplex WebSocket frames across a large connection count without head-of-line blocking. Both text frames (opcode 0x1 ) and binary frames (opcode 0x2 ) are exercised against the server during validation; benchmark runs use the text shape for simplicity. Framing follows RFC 6455: masked from client to server, unmasked from server to client, FIN bit set on every frame (no fragmented messages in the benchmark path). Command-line usage gcannon http://localhost:8080/ws --ws \\ -c -t -d -p 1 Flag Description The WebSocket endpoint served over HTTP/1.1 (uses http:// scheme; the upgrade is implicit) --ws Switches gcannon from HTTP request mode into WebSocket echo mode -c Total concurrent connections (distributed evenly across -t threads) -t Worker threads (each owns an io_uring and a slice of connections; defaults to $THREADS=64 ) -d Test duration - 5s for echo-ws -p Pipeline depth - fixed at 1 for echo-ws (one message in flight per connection) The profile dispatcher ( scripts/lib/tools/gcannon.sh:ws-echo ) wires all of this automatically when you invoke ./scripts/benchmark.sh echo-ws . Output shape gcannon reports WebSocket results with the same layout as HTTP requests, except the summary line reads \"frames sent / frames received\" instead of \"requests / responses\": 2400000 frames sent in 5.00s, 2400000 frames received Throughput: 480.00K frames/s WS frames: 2400000 The parser ( gcannon_parse ws-echo ) records frames received as the status_2xx equivalent and divides by the measured duration to produce the headline RPS number shown on the WebSocket leaderboard . One echo round-trip counts as one unit - the frames-received count from the client side, not frames-sent, because the metric is \"how many echoes the framework completed,\" not \"how many messages the benchmarker pushed into the socket.\" Why not a dedicated WebSocket tool The two common alternatives - wrk2 with a Lua WebSocket plugin, or artillery - either can't saturate the server at 64-core scale (GC + per-connection Lua overhead becomes the bottleneck) or produce non-deterministic per-thread CPU pinning that makes cross-framework comparison unreliable. Reusing gcannon means the generator's tuning story is the same one already vetted against the HTTP/1.1 profiles, and the operator-side flags ( $GCANNON_CPUS , cpuset pinning, provided buffer ring sizing) compose identically."},{"u":"running-locally","t":"Running Locally","c":"Knowledge Base","d":"Run the full HttpArena benchmark suite on your own machine, from prerequisites through to saving and comparing results.","x":"Run the full HttpArena benchmark suite on your own machine. Scripts Reference What each script in scripts/ does - run, validate, benchmark, compare, and archive. Prerequisites OS support, Docker, and the native vs Docker-image load-generator choices. Setup Clone the repository, build gcannon, and prepare TLS certificates. Manual load testing Start a server yourself and fire the dockerized load generators at it directly. Configuration Default benchmark parameters - threads, duration, runs, and ports. Archiving Rounds Snapshot current results as named rounds and manage archived benchmarks."},{"u":"running-locally/archiving-rounds","t":"Archiving Rounds","c":"Knowledge Base \u203a Running Locally","d":"Snapshot the current results as a named round so previous benchmark generations stay browsable on the leaderboard.","x":"Snapshot current benchmark results as named rounds that users can browse on the leaderboard. Overview You can archive the current benchmark results as a named snapshot. On the leaderboard, users can switch between archived rounds and the current ongoing results. Creating a snapshot ./scripts/archive.sh create \"Round 1 - March 2026\" When you create a snapshot, it bundles all current result data from site/data/results/*.json into a single site/data/rounds/.json file. After re-running scripts/gen_new_leaderboard_data.py , the round selector will appear on the leaderboard page letting users switch between \"Current\" and any archived rounds. Listing archived rounds ./scripts/archive.sh list Deleting an archived round ./scripts/archive.sh delete 1"},{"u":"running-locally/configuration","t":"Configuration","c":"Knowledge Base \u203a Running Locally","d":"Every environment variable the benchmark driver accepts, plus the anatomy of a profile definition in profiles.sh.","x":"Everything the benchmark driver can be told to do via environment variables, plus the shape of a profile definition. For the full flag-by-flag walkthrough see benchmark.sh and benchmark-lite.sh . Run settings Defined in scripts/lib/common.sh . Override by exporting before you run the script, or inline: THREADS=8 ./scripts/benchmark.sh actix baseline . Variable Default Description DURATION 5s Load-test duration per run ( -d / -D passed through to the tool). RUNS 3 Measurement iterations per (profile, connection count). Best wins. THREADS 64 gcannon / wrk worker threads. H2THREADS 64 h2load worker threads (HTTP/2, h2c gRPC). H3THREADS 64 h2load-h3 worker threads (HTTP/3 over QUIC). SKIP_TUNE false When true , skips kernel/hardware tuning (CPU governor, socket limits) that requires sudo . Useful for local development. In benchmark-lite.sh , THREADS defaults to max(nproc / 2, 1) and H2THREADS / H3THREADS mirror $THREADS . Pass --load-threads N to override all three in one shot. Ports Variable Default Description PORT 8080 HTTP/1.1 plaintext (all h1* profiles + echo-ws ); also h2c for gRPC ( unary-grpc , stream-grpc - prior-knowledge on the same socket). H2PORT 8443 HTTPS / HTTP/2 over TLS ( baseline-h2 , static-h2 , gateway + production-stack), HTTP/3 over QUIC ( baseline-h3 , static-h3 , gateway-h3 ), and gRPC-TLS ( unary-grpc-tls , stream-grpc-tls ). H1TLS_PORT 8081 HTTP/1.1 + TLS, used only by the json-tls profile (ALPN http/1.1 ). H2C_PORT 8082 HTTP/2 cleartext prior-knowledge for the baseline-h2c and json-h2c profiles. Must be a dedicated listener that refuses HTTP/1.1 - the validator checks this explicitly. Every framework Dockerfile reads the same defaults from its env, so you rarely need to change these. Load-generator mode Variable Default Description LOADGEN_DOCKER false When true , every load generator runs from its Docker image instead of the host binary. Builds missing images automatically from docker/*.Dockerfile . Forced true by benchmark-lite.sh . GCANNON_MODE native native or docker . Implied by LOADGEN_DOCKER . GCANNON_CPUS dynamic CPU list the load generators run on. Native mode wraps calls in taskset -c $GCANNON_CPUS ; docker mode passes it via --cpuset-cpus . Defaults to the upper half of available cores on smaller machines to avoid resource contention with the server. Tool binaries and images Each load generator has a pair of variables - native binary name and docker image tag: Native ( $TOOL ) Docker ( $TOOL_IMAGE ) Used for Source GCANNON=gcannon GCANNON_IMAGE=gcannon:latest h1, pipelined, limited-conn, json, json-comp, upload, api-4/16, async-db, echo-ws docker/gcannon.Dockerfile H2LOAD=h2load H2LOAD_IMAGE=h2load:latest baseline-h2, static-h2, unary-grpc, unary-grpc-tls, gateway-64 docker/h2load.Dockerfile (Ubuntu + glibc, not alpine) H2LOAD_H3=h2load-h3 H2LOAD_H3_IMAGE=h2load-h3:local baseline-h3, static-h3 docker/h2load-h3.Dockerfile (quictls + ngtcp2 + nghttp3) WRK=wrk WRK_IMAGE=wrk:local static, json-tls docker/wrk.Dockerfile GHZ=ghz GHZ_IMAGE=ghz:local stream-grpc, stream-grpc-tls, gRPC readiness probe docker/ghz.Dockerfile Postgres sidecar Started automatically when the framework subscribes to async-db , api-4 , api-16 , or gateway-64 . Variable Default Description PG_CONTAINER httparena-postgres Container name. DATABASE_URL postgres://bench:bench@localhost:5432/benchmark Exported into the framework container so the app can connect. The sidecar uses postgres:18 (Debian, glibc) with -c max_connections=256 and is seeded from data/pgdb-seed.sql . Profile definitions Profiles live in scripts/lib/profiles.sh . Format: pipeline | req_per_conn | cpu_limit | connections | endpoint pipeline - gcannon -p value. 1 = sequential, 16 = pipelined. req_per_conn - gcannon -r value. 0 = keep-alive forever; a positive number forces reconnect every N requests (exercises the accept path). cpu_limit - cpuset written to the framework container's --cpuset-cpus . Blank = no pinning. connections - comma-separated list; each value becomes a separate iteration. endpoint - dispatch key. Tells endpoint_tool() which load generator to use and gcannon_build_args() (etc.) how to shape the request. benchmark-lite.sh overrides PROFILES and PROFILE_ORDER with a smaller subset and blanks the cpu_limit column; everything else parses identically. Profile \u2192 tool dispatch From endpoint_tool() in scripts/lib/profiles.sh : Endpoint Tool static , json-tls wrk h2 , static-h2 , h2c , json-h2c , gateway-64 , grpc , grpc-tls , production-stack h2load h3 , static-h3 , gateway-h3 h2load-h3 grpc-stream , grpc-stream-tls ghz everything else ( \"\" , pipeline , upload , api-4 , api-16 , async-db , crud , json , json-compressed , ws-echo ) gcannon Small-machine overrides The defaults in benchmark.sh assume the reference 64-core benchmark host. On a laptop, three variables usually get you to something reasonable: THREADS=8 H2THREADS=16 H3THREADS=4 ./scripts/benchmark.sh actix baseline If native gcannon / h2load / h2load-h3 aren't installed, flip the whole thing to docker mode instead of installing each tool: LOADGEN_DOCKER=true ./scripts/benchmark.sh actix --save Or just use benchmark-lite.sh , which is this combination pre-baked."},{"u":"running-locally/manual-load-testing","t":"Manual load testing","c":"Knowledge Base \u203a Running Locally","d":"Start a framework container yourself, exercise individual endpoints, and run a load generator outside the benchmark harness.","x":"Sometimes you want to start a framework yourself, poke at individual endpoints, try different flags, or run a load generator outside the benchmark harness altogether. This page is the \"bring your own server, fire a docker load-gen at it\" workflow. When to use this Iterating on a framework implementation and you want fast feedback without the full tuning / build pipeline. Trying a different connection count, duration, or request template than any stock profile uses. Debugging a single endpoint in isolation. Running a load generator against a server that isn't in frameworks/ at all - anything on localhost works. If you want reproducible numbers that match the leaderboard, use benchmark.sh . This page is for the in-between. Step 1 - start the server Option A: use scripts/run.sh Starts a framework container interactively with the same mounts the benchmark uses. Ctrl+C to stop. ./scripts/run.sh actix This exposes 8080 (HTTP/1.1, h2c gRPC), 8443 (HTTPS / HTTP/2 / HTTP/3 / gRPC-TLS), and 8081 (h1 TLS for json-tls ). If you need postgres for async-db / api-* : docker run -d --name httparena-postgres --network host \\ -e POSTGRES_USER=bench -e POSTGRES_PASSWORD=bench -e POSTGRES_DB=benchmark \\ -v \"$(pwd)/data/pgdb-seed.sql:/docker-entrypoint-initdb.d/seed.sql:ro\" \\ postgres:18 -c max_connections=256 Option B: your own binary Any server on localhost:8080 (or wherever) works. The load generators don't care what's on the other end. Step 2 - build the load-generator images once If you've run benchmark-lite.sh or LOADGEN_DOCKER=true ./scripts/benchmark.sh ... at least once, these already exist. Otherwise build them up front - it's a one-off cost: docker build -t gcannon:latest -f docker/gcannon.Dockerfile docker docker build -t h2load:latest -f docker/h2load.Dockerfile docker docker build -t h2load-h3:local -f docker/h2load-h3.Dockerfile docker docker build -t wrk:local -f docker/wrk.Dockerfile docker docker build -t ghz:local -f docker/ghz.Dockerfile docker The slow one is h2load-h3:local (compiles quictls + nghttp3 + ngtcp2 + nghttp2 --enable-http3 from source - 5\u201310 minutes). Everything else is under a minute. Step 3 - run a load generator Every image ships with the tool as its ENTRYPOINT , so docker run works directly. Always use --network host so the container can reach localhost . A handy alias for brevity. The memlock and seccomp flags are required for gcannon - without them io_uring_queue_init returns Operation not permitted and gcannon exits silently with zero requests. DFLAGS='--rm --network host --ulimit nofile=1048576:1048576 --ulimit memlock=-1:-1 --security-opt seccomp=unconfined' gcannon - HTTP/1.1, WebSocket, --raw templates # Baseline: 512 connections, 64 threads, 5s docker run $DFLAGS gcannon:latest \\ http://localhost:8080/baseline11?a=1\\&b=1 \\ -c 512 -t 64 -d 5s -p 1 # Pipelined (depth 16) docker run $DFLAGS gcannon:latest \\ http://localhost:8080/pipeline \\ -c 512 -t 64 -d 5s -p 16 # Multi-template raw request rotation (mount repo's requests/ dir read-only) docker run $DFLAGS \\ -v \"$(pwd)/requests:/requests:ro\" \\ gcannon:latest http://localhost:8080 \\ --raw /requests/get.raw,/requests/json-get.raw,/requests/async-db-get.raw \\ -c 1024 -t 64 -d 10s # WebSocket echo docker run $DFLAGS gcannon:latest \\ http://localhost:8080/ws --ws \\ -c 512 -t 64 -d 5s Useful flags: -r force-reconnect every N requests ( 0 = keep-alive forever), -s expected status, --recv-buf receive buffer size, --json machine-readable output. Dynamic placeholders in raw templates Raw request files support {RAND:min:max} and {SEQ:start} placeholders that are substituted per-request at send time. Useful for CRUD benchmarks where each request should target a different database row: # Template with {RAND} - each request reads a random item printf 'GET /crud/{RAND:1:100000} HTTP/1.1\\r\\nHost: localhost:8080\\r\\n\\r\\n' > /tmp/crud-read.raw # Template with {SEQ} - each request creates a unique item printf 'POST /crud HTTP/1.1\\r\\nHost: localhost:8080\\r\\nContent-Type: application/json\\r\\nContent-Length: 72\\r\\n\\r\\n{\"id\":{SEQ:100001},\"name\":\"Bench\",\"category\":\"test\",\"price\":100,\"qty\":50}' > /tmp/crud-create.raw # Mix them - gcannon round-robins across templates docker run $DFLAGS \\ -v /tmp:/requests:ro \\ gcannon:latest http://localhost:8080 \\ --raw /requests/crud-read.raw,/requests/crud-create.raw \\ -c 512 -t 64 -d 5s Values are zero-padded to a fixed width so Content-Length stays correct. {RAND} uses per-connection RNG (no contention), {SEQ} uses a global atomic counter (unique across all threads). h2load - HTTP/2 and h2/h2c gRPC unary # HTTP/2 over TLS, 256 connections, 100 streams/conn docker run $DFLAGS h2load:latest \\ https://localhost:8443/baseline2?a=1\\&b=1 \\ -c 256 -m 100 -t 128 -D 5 # gRPC unary over h2c (need a prebuilt request body) docker run $DFLAGS \\ -v \"$(pwd)/requests:/requests:ro\" \\ h2load:latest \\ http://localhost:8080/benchmark.BenchmarkService/GetSum \\ -d /requests/grpc-sum.bin \\ -H 'content-type: application/grpc' -H 'te: trailers' \\ -c 256 -m 100 -t 128 -D 5 -D takes seconds (not 5s ), -m is the max concurrent streams per connection, -t is worker threads. h2load-h3 - HTTP/3 over QUIC Same binary family as h2load, same flags, plus --alpn-list=h3 : docker run $DFLAGS h2load-h3:local \\ --alpn-list=h3 \\ https://localhost:8443/baseline2?a=1\\&b=1 \\ -c 64 -m 64 -t 64 -D 5 If h3 errors out with connect error , bump the host's UDP buffer sizes - the benchmark driver sets these to 7.5 MB but a plain shell doesn't inherit them: sudo sysctl -w net.core.rmem_max=7500000 net.core.wmem_max=7500000 wrk - static file rotation, json-tls wrk needs the lua scripts from requests/ for multi-URL rotation: docker run $DFLAGS \\ -v \"$(pwd)/requests:/requests:ro\" \\ wrk:local \\ -t 64 -c 1024 -d 5s \\ -s /requests/static-rotate.lua \\ http://localhost:8080 A simple single-URL test (no script, no rotation): docker run $DFLAGS wrk:local \\ -t 8 -c 256 -d 5s \\ http://localhost:8080/baseline11?a=1\\&b=1 ghz - gRPC streaming ghz needs the .proto file mounted in. It emits a big text summary by default; add --format=json for scriptable output. # Unary, h2c docker run $DFLAGS \\ -v \"$(pwd)/requests:/requests:ro\" \\ ghz:local \\ --insecure --proto /requests/benchmark.proto \\ --call benchmark.BenchmarkService/GetSum \\ -d '{\"a\":1,\"b\":2}' \\ --connections 64 -c 256 -z 5s \\ localhost:8080 # Bidi-ish streaming: one call fans out 5000 messages, 64 concurrent connections docker run $DFLAGS \\ -v \"$(pwd)/requests:/requests:ro\" \\ ghz:local \\ --insecure --proto /requests/benchmark.proto \\ --call benchmark.BenchmarkService/StreamSum \\ -d '{\"a\":1,\"b\":2,\"count\":5000}' \\ --connections 64 -c 256 -n 50000 \\ localhost:8080 For TLS ( grpc-tls / stream-grpc-tls ) use --skipTLS instead of --insecure and point at port 8443 . CPU pinning (optional) The benchmark script pins the load generator to one half of the CPU topology via --cpuset-cpus to avoid stealing cycles from the framework. For a manual run you can do the same: docker run $DFLAGS --cpuset-cpus=32-63,96-127 gcannon:latest ... On a laptop there's no point - the container will get more cores than the server has anyway. Just leave it off. Reusing the benchmark's request templates Everything under requests/ is fair game: File What it is requests/get.raw , post_cl.raw , post_chunked.raw Raw HTTP/1.1 requests for --raw mode. requests/json-{1,5,10,...}.raw Different JSON body sizes for the json profile. requests/async-db-{5,10,20,35,50}.raw Different limit=N query variants. requests/upload-{500k,2m,10m,20m}.raw Upload bodies for the upload profile. requests/static-rotate.lua / json-tls-rotate.lua wrk rotation scripts. requests/static-h2-uris.txt URI list for h2load -i (static-h2 / static-h3). requests/benchmark.proto gRPC service definition. requests/grpc-sum.bin Prebuilt GetSum gRPC body for h2load. Mount the directory read-only into any tool: -v \"$(pwd)/requests:/requests:ro\" . Parsing the output The benchmark driver's parsers live in scripts/lib/tools/*.sh - gcannon_parse , h2load_parse , h2load_h3_parse , wrk_parse , ghz_parse . If you want to script on top of a manual run, source one of those modules: source scripts/lib/common.sh source scripts/lib/tools/gcannon.sh out=$(docker run --rm --network host \\ --ulimit memlock=-1:-1 --security-opt seccomp=unconfined \\ gcannon:latest \\ \"http://localhost:8080/baseline11?a=1&b=1\" \\ -c 512 -t 64 -d 5s -p 1 2>&1) gcannon_parse \"\" \"$out\" # rps=3401583 # avg_lat=123us # p99_lat=287us # ... When your numbers don't match the leaderboard A manual docker run is ~10\u201320% slower than a native benchmark.sh run on the same hardware because the docker daemon restart, CPU governor flip, loopback MTU change, and kernel socket tuning are all skipped. For relative comparisons between frameworks on your own machine it's close enough; for absolute numbers use benchmark.sh ."},{"u":"running-locally/prerequisites","t":"Prerequisites","c":"Knowledge Base \u203a Running Locally","d":"What to install before running HttpArena locally: Docker, the load generator toolchain, and the host settings the driver expects.","x":"What you need installed before running HttpArena benchmarks locally. Operating system OS Supported Notes Linux (kernel \u2265 6.1) \u2705 Yes The only fully-supported target. Required for io_uring (gcannon native), cpupower , the host sysctl knobs the tuner writes, and --network host behaviour Docker containers rely on. Tested primarily on Ubuntu 24.04 / 25.04. macOS \u274c No Docker Desktop runs in a Linux VM; --network host , host-side tuning, and cgroup cpuset all behave differently. Windows \u274c No The Windows driver scripts were removed. WSL2 may work for benchmark-lite.sh -style runs but is untested. benchmark.sh will refuse to do anything destructive without root (tuning is best-effort), but gcannon native mode, Docker --cpuset-cpus pinning, and the postgres sidecar all assume Linux semantics. Common requirements (both scripts) Docker Engine \u2265 24 - framework containers, postgres sidecar, and every load-generator image run under Docker. bash \u2265 4.4 - the driver uses associative arrays. python3 - for result JSON aggregation ( scripts/rebuild_site_data.py ) and meta.json parsing. curl - readiness probes. git - image builds clone gcannon / nghttp2 / ghz source from GitHub. Choosing a script benchmark.sh benchmark-lite.sh Who it's for Full runs on a tuned benchmark host Laptops, CI runners, quick local validation Load generators Native binaries by default, docker mode opt-in ( LOADGEN_DOCKER=true ) Always docker, forced CPU pinning Per-profile --cpuset-cpus None (container gets all cores) Threads 64 (h1) / 128 (h2) / 64 (h3) - fixed nproc / 2 , or --load-threads N Profiles All 21 Subset (no api-4/16, json-tls, gateway-64, stream-grpc*) Host tuning (CPU gov, sysctl, MTU, daemon restart) Yes Yes Root needed For tuning + docker For tuning + docker Pick benchmark-lite.sh if you just want to sanity-check a framework; pick benchmark.sh if you're trying to reproduce leaderboard numbers. benchmark-lite.sh requirements Just Docker, bash, python3. Every load-generator image is built from docker/*.Dockerfile on first run (first invocation takes a few minutes while quictls + ngtcp2 compile for h2load-h3 ; cached after that). You do not need gcannon , h2load , h2load-h3 , wrk , or ghz installed on the host. You do not need a specific kernel for gcannon - the container already carries liburing 2.9. benchmark.sh requirements (native load-generator mode) For the default (native) mode, install each tool the host binary. If anything is missing, set LOADGEN_DOCKER=true and the script falls back to the same docker images benchmark-lite.sh uses. gcannon - io_uring HTTP/1.1, WebSocket, and --raw multi-template generator. Requires Linux kernel \u2265 6.1 with io_uring enabled. bash git clone --branch liburing-2.9 https://github.com/axboe/liburing.git cd liburing && ./configure --prefix=/usr && make -j\"$(nproc)\" -C src && sudo make install -C src cd .. git clone https://github.com/MDA2AV/gcannon.git cd gcannon && make && sudo cp gcannon /usr/local/bin/ h2load - HTTP/2 and gRPC (unary) generator from the nghttp2 project. bash sudo apt install nghttp2-client h2load-h3 - HTTP/3 over QUIC. No official distro package; the docker image ( docker/h2load-h3.Dockerfile ) builds quictls + nghttp3 + ngtcp2 + nghttp2 --enable-http3 from source. Easiest path: use LOADGEN_DOCKER=true for h3 profiles. wrk - static-file profile. Any recent build works. bash sudo apt install wrk ghz - gRPC streaming benchmarks. bash go install github.com/bojand/ghz/cmd/ghz@latest Permission notes Docker commands assume your user is in the docker group, or you'll hit permission denied . System tuning ( cpupower frequency-set , sysctl -w , ip link set lo mtu , systemctl restart docker , drop_caches ) uses sudo . Without it the script warns and continues - you still get usable results, just with less-predictable numbers. --cpuset-cpus requires cgroup v2 (default on modern Linux)."},{"u":"running-locally/scripts","t":"Scripts Reference","c":"Knowledge Base \u203a Running Locally","d":"Every script in scripts/, what it does, and the arguments it takes \u2014 benchmark, validate, compare, archive and run.","x":"All scripts live in the scripts/ directory and are meant to be run from the repository root. validate.sh Run the correctness validation suite against a framework's endpoints. run.sh Run a framework container interactively for manual testing and endpoint development. benchmark.sh Run benchmarks across test profiles with system tuning and result collection. benchmark-lite.sh Lightweight benchmarks for any machine with Docker - no CPU pinning, containerized load generators. compare.sh Compare benchmark results against the published leaderboard on main. archive.sh Snapshot current results as named rounds and manage archived benchmarks."},{"u":"running-locally/scripts/archive","t":"archive.sh","c":"Knowledge Base \u203a Running Locally \u203a Scripts Reference","d":"Snapshot current results as a named round, list archived rounds, or delete one, using scripts/archive.sh.","x":"Manage benchmark result archives (rounds). Snapshots current results as a named round, lists archived rounds, or deletes a round. ./scripts/archive.sh create ./scripts/archive.sh list ./scripts/archive.sh delete Commands create Archives all current benchmark results as a named round. ./scripts/archive.sh create \"Round 1 - March 2026\" What it does: Bundles every site/data/results/.json into a single round file at site/data/rounds/.json , regrouped by - so archived rounds keep their existing shape Records hardware info (CPU, cores, RAM, governor), OS, kernel, Docker version, and git commit Reads system info from site/data/current.json if available (written by benchmark.sh --save ) Updates the round index at site/data/rounds/index.json Clears results/ and resets site data files to start a fresh round list Lists all archived rounds with their ID, name, date, and file size. ./scripts/archive.sh list Example output: # 1 Round 1 - March 2026 2026-03-15 (1248KB) # 2 Round 2 - Pre-optimization baseline 2026-03-20 (1305KB) delete Deletes an archived round by ID. ./scripts/archive.sh delete 1 Removes the round's data file and its entry from the index."},{"u":"running-locally/scripts/benchmark","t":"benchmark.sh","c":"Knowledge Base \u203a Running Locally \u203a Scripts Reference","d":"The full-fidelity driver: runs a framework across every profile it subscribes to, tunes the host, collects metrics and saves results.","x":"scripts/benchmark.sh is the full-fidelity benchmark driver. It runs one framework across every profile it subscribes to, tunes the host, collects metrics, and (with --save ) persists results to results/ and the site data JSONs. The driver itself is small (~320 lines of orchestration) - all of the real work lives in the composable library modules under scripts/lib/ . Synopsis ./scripts/benchmark.sh [profile] [--save] Argument Description Name of the framework directory under frameworks/ . Required. [profile] Optional - run only this profile (e.g. baseline , async-db , echo-ws ). If omitted, runs every profile the framework subscribes to. --save Persist results. Without it, you get a dry run - numbers printed, nothing written. --save can appear in any position. There is no other positional argument. What a run does, step by step Cleanup - stops and removes any leftover httparena-* containers. Load-generator images (docker mode only) - builds any missing gcannon , h2load , h2load-h3 , wrk , or ghz image from docker/*.Dockerfile . Runs before host tuning on purpose: tuning restarts the Docker daemon, and buildkit's DNS takes a few seconds to recover afterwards, long enough to break a git clone inside a build container. Framework build - frameworks//build.sh if present, otherwise docker build frameworks/ . Host tuning ( scripts/lib/system.sh ): CPU governor \u2192 performance via cpupower (falls back to writing /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ). net.core.somaxconn=65535 , tcp_max_syn_backlog=65535 , netdev_max_backlog=65535 , rmem_max=wmem_max=7500000 (QUIC). ip link set lo mtu 1500 - realistic Ethernet MTU, not the kernel's default 65536. systemctl restart docker - guarantees every subsequent container starts from a fresh daemon state. echo 3 > /proc/sys/vm/drop_caches . Postgres sidecar - started if the framework subscribes to any of async-db , api-4 , api-16 , crud , gateway-64 , gateway-h3 , production-stack . Uses postgres:18 (Debian, glibc), tmpfs-backed, seeded from data/pgdb-seed.sql , max_connections=256 , host network. Profile loop - for each subscribed profile \u00d7 each connection count: Starts the framework container (or docker compose up for gateway profiles). Waits up to 30s for the right endpoint to respond. Builds the tool-specific argument vector. Runs $RUNS measurement iterations (default 3), keeps the best by rps. Each iteration: starts docker stats polling, runs the load generator ( timeout 45s ), stops polling, parses output. For ghz, a 2s warmup precedes the first measurement. Raw load-generator output from every run is written to site/static/logs///..run.txt - useful when a parser misbehaves. Save ( --save only) - writes results///.json + framework docker logs to site/static/logs///.log . Restore - trap runs framework_stop , gateway_down , postgres_stop , then restores the original CPU governor and loopback MTU. Rebuild site data ( --save only) - re-runs scripts/rebuild_site_data.py to regenerate site/data/results/.json and site/data/frameworks.json . Flags Flag Description --save Persist result JSONs and rebuild site data. Default is dry run. Everything else is controlled through environment variables (see below). Environment variables Set via VAR=value ./scripts/benchmark.sh ... or export VAR=value . Run settings Variable Default Description DURATION 5s -d / -D value passed to each load generator. RUNS 3 Measurement iterations per (profile, conns). Best result wins. THREADS 64 Load-generator threads for gcannon, wrk, and the default path. H2THREADS 64 h2load worker threads (h2, h2c gRPC). H3THREADS 64 h2load-h3 worker threads (HTTP/3 over QUIC). Ports Variable Default Description PORT 8080 HTTP/1.1 plaintext (all h1* profiles + echo-ws ); also h2c for gRPC ( unary-grpc , stream-grpc ). H2PORT 8443 HTTPS / HTTP/2 TLS ( baseline-h2 , static-h2 , gateway + production-stack), HTTP/3 QUIC ( baseline-h3 , static-h3 , gateway-h3 ), gRPC-TLS ( unary-grpc-tls , stream-grpc-tls ). H1TLS_PORT 8081 HTTP/1.1 + TLS - only used by the json-tls profile. H2C_PORT 8082 HTTP/2 cleartext prior-knowledge for baseline-h2c and json-h2c . Must refuse HTTP/1.1 - the validator checks this. Load generator selection Switch every load generator from native binary to the pre-built Docker image in one env var: LOADGEN_DOCKER=true ./scripts/benchmark.sh aspnet-minimal Variable Default Description LOADGEN_DOCKER false When true , every load generator runs from its Docker image instead of the host binary. Builds missing images automatically. GCANNON_MODE native native or docker . LOADGEN_DOCKER=true sets this to docker for you. GCANNON_CPUS 32-63,96-127 Cores the load generators are pinned to (via taskset in native mode or --cpuset-cpus in docker mode). Framework containers use the other half of the CPU topology. Tool binaries + images Variable Default Used for GCANNON gcannon Native binary - baseline, pipelined, limited-conn, json, json-comp, upload, api-4/16, async-db, crud, echo-ws. GCANNON_IMAGE gcannon:latest Docker image when LOADGEN_DOCKER=true . H2LOAD h2load Native binary - baseline-h2, static-h2, baseline-h2c, json-h2c, unary-grpc, unary-grpc-tls, gateway-64, production-stack. H2LOAD_IMAGE h2load:latest Docker image (Ubuntu 24.04 + glibc build; do not use the alpine/musl image - it's 20\u201340% slower). H2LOAD_H3 h2load-h3 Native binary - baseline-h3, static-h3, gateway-h3. H2LOAD_H3_IMAGE h2load-h3:local Docker image with quictls + nghttp3 + ngtcp2 + nghttp2 --enable-http3 built from source. WRK wrk Native binary - static, json-tls. WRK_IMAGE wrk:local Docker image. GHZ ghz Native binary - stream-grpc, stream-grpc-tls, gRPC readiness probe. GHZ_IMAGE ghz:local Docker image. Postgres sidecar Variable Default Description PG_CONTAINER httparena-postgres Name of the sidecar container. DATABASE_URL postgres://bench:bench@localhost:5432/benchmark Passed to framework containers for async-db , crud , api-4 , api-16 , gateway-64 , gateway-h3 , production-stack . Profiles Each profile is one line in scripts/lib/profiles.sh with the format: pipeline | req_per_conn | cpu_limit | connections | endpoint Profile Pipeline Req/conn CPU pinning Connections Tool Endpoint baseline 1 \u221e 0-31,64-95 512, 4096 gcannon /baseline11 pipelined 16 \u221e 0-31,64-95 512, 4096 gcannon /pipeline limited-conn 1 10 0-31,64-95 512, 4096 gcannon /baseline11 (reconnect every 10 req) json 1 \u221e 0-31,64-95 4096 gcannon /json/{1..50} - 7 body sizes json-comp 1 \u221e 0-31,64-95 512, 4096, 16384 gcannon /json/{count} + Accept-Encoding: gzip, br json-tls 1 \u221e 0-31,64-95 4096 wrk /json/{count} over TLS on H1TLS_PORT upload 1 \u221e 0-31,64-95 32, 256 gcannon /upload - 500K / 2M / 10M / 20M bodies, -r 5 api-4 1 5 0-3 256 gcannon 8-template mix (baseline / json / async-db) api-16 1 5 0-7,64-71 1024 gcannon 8-template mix static 1 200 0-31,64-95 1024, 4096, 6800 wrk 20 files via static-rotate.lua async-db 1 \u221e 0-31,64-95 1024 gcannon 5 limit variants (5/10/20/35/50), -r 25 baseline-h2 1 \u221e 0-31,64-95 256, 1024 h2load /baseline2 on H2PORT TLS static-h2 1 \u221e 0-31,64-95 256, 1024 h2load /static/* on H2PORT TLS baseline-h3 1 \u221e 0-31,64-95 64 h2load-h3 /baseline2 on H2PORT QUIC static-h3 1 \u221e 0-31,64-95 64 h2load-h3 /static/* on H2PORT QUIC unary-grpc 1 \u221e 0-31,64-95 256, 1024 h2load benchmark.BenchmarkService/GetSum h2c unary-grpc-tls 1 \u221e 0-31,64-95 256, 1024 h2load same, TLS stream-grpc 1 \u221e 0-31,64-95 64 ghz StreamSum h2c, 5000 msgs/call stream-grpc-tls 1 \u221e 0-31,64-95 64 ghz same, TLS gateway-64 1 \u221e 0-31,64-95 256, 1024 h2load 20-URI mix behind nginx via docker compose echo-ws 1 \u221e 0-31,64-95 512, 4096, 16384 gcannon --ws /ws Subscription: a framework only runs profiles listed in its meta.json tests array. Profiles it's not subscribed to are silently skipped. Examples # Dry run - everything the framework subscribes to, nothing saved ./scripts/benchmark.sh actix # Save a full run ./scripts/benchmark.sh actix --save # One profile only ./scripts/benchmark.sh actix baseline --save # Run with every load generator in docker (useful if native gcannon / h2load-h3 aren't installed) LOADGEN_DOCKER=true ./scripts/benchmark.sh actix --save # Short runs for iterating on a framework DURATION=2s RUNS=1 ./scripts/benchmark.sh actix baseline # Override load-gen threading for a small machine THREADS=8 H2THREADS=16 H3THREADS=8 ./scripts/benchmark.sh actix baseline Output layout results///.json # metrics (RPS, p99, CPU, mem, status buckets) site/static/logs///.log # docker logs of the framework container site/static/logs///..runN.txt # raw load-generator stdout per iteration site/data/results/.json # one file per framework, keyed by - Each framework owns exactly one results file, so two pull requests benchmarking different frameworks never write the same file and never conflict. The filename is the display_name lowercased with anything outside [A-Za-z0-9._-] replaced by - , so aspnet-minimal + nginx is stored as aspnet-minimal-nginx.json . site/data/frameworks.json # framework metadata site/data/current.json # host/OS/commit snapshot"},{"u":"running-locally/scripts/benchmark-lite","t":"benchmark-lite.sh","c":"Knowledge Base \u203a Running Locally \u203a Scripts Reference","d":"The laptop-friendly benchmark driver: Docker-only load generators, no CPU pinning, reduced thread counts and a smaller profile subset.","x":"scripts/benchmark-lite.sh is the local-dev variant of benchmark.sh . Same module structure, same metrics, same output layout - but with defaults tuned for \"laptop with Docker and nothing else installed\". What's different benchmark.sh benchmark-lite.sh Default load generators Native binaries Always docker (forced - no env override) CPU pinning Per-profile --cpuset-cpus None - all containers see every core THREADS default 64 nproc / 2 H2THREADS / H3THREADS default 64 / 64 Same as THREADS Profile set 26 profiles 15 - skips api-4 , api-16 , json-tls , crud , baseline-h2c , json-h2c , gateway-64 , gateway-h3 , production-stack , stream-grpc , stream-grpc-tls Connection counts Varies (512, 1024, 4096, 16384, \u2026) One per profile (mostly 512; upload 128; h3 64) Framework selection One framework, always Optional - runs every enabled framework if omitted Everything that isn't listed stays identical: --save behavior, host tuning, result layout, postgres sidecar for async-db , gcannon_parse version fallbacks, etc. Synopsis ./scripts/benchmark-lite.sh [framework] [profile] [--save] [--load-threads N] Argument Description [framework] Framework directory name. If omitted, every framework with \"enabled\": true in its meta.json is run in sequence. [profile] Optional - restrict to a single profile. --save Persist result JSONs + rebuild site data. --load-threads N Shortcut for THREADS=N H2THREADS=N H3THREADS=N for a specific run. Arguments can appear in any order; flags and positionals are separated during parsing. First run First time you invoke it (or after a docker rmi ), the script builds every load-generator image it needs from docker/*.Dockerfile : gcannon:latest - clones github.com/MDA2AV/gcannon main, pulls liburing-2.9 , compiles. h2load:latest - Ubuntu 24.04 + apt install nghttp2-client (glibc build, not musl). h2load-h3:local - Ubuntu 24.04 + builds quictls + nghttp3 + ngtcp2 + nghttp2 --enable-http3 from source. Takes 5\u201310 minutes the first time. wrk:local - Ubuntu 24.04 + wrk source build. ghz:local - ghz from github.com/bojand/ghz@v0.121.0 , static CGO_DISABLED build. All images are built before the host tuning step, because system_tune() restarts the Docker daemon and buildkit DNS takes a few seconds to recover - long enough to break git clone inside a build container. To force a rebuild (e.g. to pick up a new gcannon commit): docker rmi gcannon:latest ./scripts/benchmark-lite.sh actix baseline Environment variables Everything in benchmark.sh \u2192 Environment variables applies, with these lite-specific defaults / overrides: Variable Default in lite Notes LOADGEN_DOCKER true (forced, non-overridable) export at the top of the script. GCANNON_MODE docker (forced) Same. GCANNON_CPUS 0-$(nproc-1) Effectively \"all cores\" - the --cpuset-cpus value covers the whole CPU. THREADS $(( $(nproc) / 2 )) (min 1) Half the cores, leaving room for the framework container. H2THREADS Same as THREADS H3THREADS Same as THREADS Profile set Profile Pipeline Req/conn Connections Tool Endpoint baseline 1 \u221e 512 gcannon /baseline11 pipelined 16 \u221e 512 gcannon /pipeline limited-conn 1 10 512 gcannon /baseline11 json 1 \u221e 512 gcannon /json/{count} json-comp 1 \u221e 512 gcannon /json/{count} + compression upload 1 \u221e 128 gcannon /upload static 1 10 512 wrk /static/* async-db 1 \u221e 512 gcannon /async-db?limit=N baseline-h2 1 \u221e 512 h2load /baseline2 (TLS) static-h2 1 \u221e 512 h2load /static/* (TLS) baseline-h3 1 \u221e 64 h2load-h3 /baseline2 (QUIC) static-h3 1 \u221e 64 h2load-h3 /static/* (QUIC) unary-grpc 1 \u221e 512 h2load GetSum h2c unary-grpc-tls 1 \u221e 512 h2load GetSum TLS echo-ws 1 \u221e 512 gcannon --ws /ws Requirements The only hard requirement is Docker Engine . Everything else - gcannon, h2load, h2load-h3, wrk, ghz - is built automatically inside containers. You don't need io_uring on the host kernel (the gcannon container carries its own liburing 2.9 ), you don't need nghttp2-client installed, and you don't need a Rust/Go toolchain. Host tuning (CPU governor, sysctl, docker daemon restart, MTU, page-cache drop) is still best-effort - it uses sudo where needed and warns + continues if you don't have it. Numbers without tuning are noisier but still usable for relative comparisons. Examples # Every enabled framework, every subset profile (dry run) ./scripts/benchmark-lite.sh # One framework, one profile ./scripts/benchmark-lite.sh actix baseline # Persist results and rebuild site data ./scripts/benchmark-lite.sh actix --save # 4-thread load generators for a low-core machine ./scripts/benchmark-lite.sh --load-threads 4 actix baseline # Shorter iterations while debugging a framework DURATION=2s RUNS=1 ./scripts/benchmark-lite.sh actix baseline Lite runs are great for CI-style smoke tests and for comparing frameworks relative to each other on your own hardware. Absolute numbers will not match the published leaderboard - that's produced on a dedicated 128-core host with CPU isolation and native load generators."},{"u":"running-locally/scripts/compare","t":"compare.sh","c":"Knowledge Base \u203a Running Locally \u203a Scripts Reference","d":"Diff a framework's local results against the published leaderboard data and emit a Markdown table of deltas for a pull request.","x":"Compare a framework's benchmark results against the published leaderboard data on the main branch. Outputs a Markdown table with deltas, suitable for PR comments. ./scripts/compare.sh [profile] [--compare ] Options Parameter Description Name of the framework to compare [profile] Optional - compare only this test profile --compare Optional - use another framework's published results as the baseline instead of this framework's own What it does Reads new results from results///.json Reads published leaderboard data from site/data/results/.json Matches the framework by its display_name from meta.json Outputs a Markdown table for each profile with columns per connection count Comparing against a different framework By default the baseline is the framework's own published results, which answers \"did my change help?\" . When you are developing a tuned or successor entry, the more useful question is often \"how does this compare to the entry it derives from?\" - --compare swaps the baseline: ./scripts/compare.sh genhttp-11 --compare genhttp Every delta is then measured against genhttp 's published results, and the output says so explicitly so the numbers cannot be mistaken for a regression against the framework's own history. Profiles the comparison framework does not run show n/a rather than NEW . The same flag is available from a pull request: /benchmark -f genhttp-11 --compare genhttp Metrics compared For each profile and connection count, the table shows: Metric Direction Description RPS Higher is better Requests per second p99 Lower is better 99th percentile latency CPU Lower is better CPU utilization percentage Memory Lower is better Memory usage Each value includes a percentage delta against the main branch. New frameworks with no prior data show NEW instead of a delta. Example output ### baseline | Metric | 512c | | 4096c | | |--------|------|--|-------|--| | **RPS** | 1.30M | +2.1% | 1.37M | -0.5% | | **p99** | 2.00ms | ~0% | 33.80ms | +1.2% | | **CPU** | 6530% | ~0% | 6274% | -0.3% | | **Memory** | 408MB | ~0% | 922MB | +0.8% | CI usage The benchmark-pr.yml workflow calls this script automatically after benchmarking a PR branch, and posts the comparison table as a PR comment. Adding --compare to the /benchmark command forwards it to this script, and the comment header records which framework the deltas are against."},{"u":"running-locally/scripts/run","t":"run.sh","c":"Knowledge Base \u203a Running Locally \u203a Scripts Reference","d":"Build and start a single framework container with all data volumes and a Postgres sidecar attached, for hands-on testing.","x":"Run a framework's Docker container interactively for manual testing. Builds the image, starts a Postgres sidecar, mounts all data volumes, and streams container logs until you press Ctrl+C. ./scripts/run.sh What it does Builds the Docker image for the framework (or runs build.sh if one exists) Starts a Postgres sidecar container with the seeded benchmark database Mounts all data files unconditionally - datasets, static files, TLS certs Sets DATABASE_URL and DATABASE_MAX_CONN environment variables Runs the container attached so logs stream to your terminal Cleans up all containers on exit (Ctrl+C or script termination) Options Parameter Description Name of the framework directory under frameworks/ PORT env var Override HTTP port (default: 8080) H2PORT env var Override HTTPS/H2 port (default: 8443) Networking Uses --network host so the container binds directly to the host's network interfaces. No port mapping is needed - the framework listens on ports 8080 and 8443 directly. Example ./scripts/run.sh express # In another terminal: curl http://localhost:8080/baseline11?a=1&b=2 curl http://localhost:8080/json/5?m=3 curl http://localhost:8080/async-db?min=10&max=50&limit=20"},{"u":"running-locally/scripts/validate","t":"validate.sh","c":"Knowledge Base \u203a Running Locally \u203a Scripts Reference","d":"Run the correctness suite against a framework: builds the image, starts the container and sidecars, and checks every subscribed endpoint.","x":"Run the validation suite against a framework. Builds the Docker image, starts the container (and Postgres sidecar if needed), and runs correctness checks for every test profile listed in the framework's meta.json . ./scripts/validate.sh What it does Reads the framework's meta.json to determine which tests are subscribed Builds the Docker image Mounts only the data volumes required by the subscribed tests Starts a Postgres sidecar when async-db , api-4 , or api-16 tests are enabled Waits for the server to start (up to 30 seconds) Runs all validation checks for the subscribed tests Prints a pass/fail summary and exits with code 1 if any check failed Validation coverage Each subscribed test triggers its corresponding validation checks. Workload profiles ( api-4 , api-16 ) automatically trigger validation for all endpoints they use, even if those individual tests are not in meta.json . On failure, each check prints a link to the relevant validation documentation page for reference. Anti-cheat checks Several validations use randomized inputs to detect hardcoded responses: Baseline : random query parameters and POST bodies Upload : random binary payload with byte count verification Database / Async DB : empty price range that must return zero results Example output === Validating: express === [info] Subscribed tests: baseline json upload [build] Building Docker image... [ready] Server is up [test] baseline endpoints PASS [GET /baseline11?a=13&b=42] PASS [POST /baseline11?a=13&b=42 body=20] ... [test] json endpoint PASS [GET /json/{count}?m=X] (4 counts \u00d7 multipliers + full item schema verified) PASS [GET /json Content-Type] (Content-Type: application/json) ... === Results: 15 passed, 0 failed ==="},{"u":"running-locally/setup","t":"Setup","c":"Knowledge Base \u203a Running Locally","d":"Clone HttpArena and install the native load generators, or take the Docker-only path if you would rather not build them.","x":"Clone the repo and (optionally) install native load generators. If you'd rather skip the native install, jump straight to the Docker-only path . Clone the repository git clone https://github.com/MDA2AV/HttpArena.git cd HttpArena Docker-only path The fast road: install nothing, let the scripts build everything. ./scripts/benchmark-lite.sh actix baseline First invocation builds gcannon:latest , h2load:latest , h2load-h3:local , wrk:local , and ghz:local from docker/*.Dockerfile . h2load-h3 is the slow one - expect a few minutes while quictls + ngtcp2 compile. Cached after that. To use the same docker images with the full benchmark.sh driver (all profiles, CPU pinning, etc.) set LOADGEN_DOCKER=true : LOADGEN_DOCKER=true ./scripts/benchmark.sh actix --save Native load generators Install these on the host only if you want benchmark.sh to run in its default native mode. You can pick and choose - every tool has a docker fallback, so missing one isn't fatal as long as you don't run the profiles that need it (or you flip on LOADGEN_DOCKER=true ). gcannon - h1 / pipelined / upload / api-4/16 / async-db / ws-echo Requires Linux kernel \u2265 6.1 ( io_uring ). Build liburing 2.9 first to match the production binary. git clone --branch liburing-2.9 https://github.com/axboe/liburing.git cd liburing && ./configure --prefix=/usr && make -j\"$(nproc)\" -C src && sudo make install -C src && cd .. git clone https://github.com/MDA2AV/gcannon.git cd gcannon && make && sudo cp gcannon /usr/local/bin/ If you'd rather not install system-wide, export GCANNON=/path/to/gcannon/gcannon before running the script. h2load - baseline-h2 / static-h2 / unary-grpc / gateway-64 Distro package - the Ubuntu 24.04 glibc build gives ~20\u201340% more throughput than the alpine/musl one. sudo apt install nghttp2-client h2load-h3 - baseline-h3 / static-h3 No distro package exists. Either build it yourself from docker/h2load-h3.Dockerfile 's recipe (quictls \u2192 nghttp3 \u2192 ngtcp2 \u2192 nghttp2 --enable-http3 ) or use LOADGEN_DOCKER=true and let the docker image handle it. wrk - static / json-tls sudo apt install wrk ghz - stream-grpc / stream-grpc-tls go install github.com/bojand/ghz/cmd/ghz@latest TLS certificates The repo ships self-signed certs in certs/ ( server.crt + server.key ). Every framework container mounts them at /certs automatically - no action needed. To regenerate them (optional): openssl req -x509 -newkey rsa:2048 -keyout certs/server.key -out certs/server.crt \\ -days 365 -nodes -subj \"/CN=localhost\" Permission check Confirm your user can talk to Docker without sudo: docker ps If that prints a permission error, either add your user to the docker group ( sudo usermod -aG docker $USER , log out, log back in) or run the scripts as root. Host tuning (CPU governor, sysctl, docker daemon restart, MTU, page cache drop) does use sudo . Without it the scripts warn and continue - you'll still get usable results, just with noisier numbers."},{"u":"scoring","t":"Scoring","c":"Knowledge Base","d":"How HttpArena turns per-profile throughput into the composite score that ranks frameworks across the whole test suite.","x":"How HttpArena computes the composite score that ranks frameworks across all test profiles. Composite Score Sum of per-profile normalized scores (0\u2013100 each) across all scored profiles, with an optional memory-efficiency bonus."},{"u":"scoring/composite-score","t":"Composite Score","c":"Knowledge Base \u203a Scoring","d":"The composite score explained: per-profile normalization, the sum across scored profiles, the compression adjustment and the memory bonus.","x":"The composite score combines results from multiple test profiles into a single number that reflects overall framework performance. Each profile is normalized to a 0\u2013100 scale, then summed across all scored profiles. An optional memory toggle adds a 0\u201350 bonus per profile for memory-efficient frameworks on top of their raw-throughput score. How it works Step 1: Average RPS per profile For each framework and profile, compute the average RPS across all connection counts. This rewards frameworks that scale well across concurrency levels rather than just their peak. Step 2: Normalize per profile For each profile, normalize against the best-performing framework: rpsScore = (framework_avg_rps / best_avg_rps) \u00d7 100 This produces a 0\u2013100 value where the top framework scores 100. Exception: JSON Compressed. The json-comp profile applies a compression-ratio gain before normalization so frameworks that ship smaller response bodies are rewarded directly. Instead of averaging raw rps, avgRps is first scaled by (minBpr / myBpr)\u00b2 where myBpr = avgBw / avgRps and minBpr is the smallest bytes-per-response across the field. Doubling the response size quarters the score. See the JSON Compressed implementation for the full formula and rationale. Normalized against the whole field, not the current view. The 100-point reference for each profile is the best result in the full field, regardless of what the leaderboard is currently filtering to. Filtering by language, hiding tuned entries or searching for a name changes which rows are displayed ; it does not change any score. Without this, filtering to a single language re-based every profile on the best entry of that language \u2014 and because each profile's leader moved by a different factor, the summed ranking could reorder, showing one framework above another only while the filter was applied. Framework types remain separate: engine entries are scored on their own subset of profiles, so an engine result never sets the reference for a framework entry. The Rescale to selection toggle opts back into the other behaviour, normalizing against only the frameworks currently shown. That is the more useful view when the question is how a subset compares against itself \u2014 for example, ranking the Ruby entries against each other rather than against the field. Step 3: Sum across scored profiles The final composite score is the sum of per-profile scores across all scored profiles: composite = sum(scored_profile_scores) Summing instead of averaging means the composite scales with the number of scored profiles: a framework that places well in many profiles separates cleanly from one that only wins a single profile. A perfect-across-the-board framework earns 100 points per profile, so with the current 26 scored profiles for framework (flagship and emerging) entries the raw-throughput ceiling is ~2,600, rising to ~3,900 when the memory-efficiency toggle is on (each profile adds up to 50 more points). Engine entries are scored on a smaller subset and have a correspondingly lower ceiling. Frameworks that don't participate in a scored profile receive 0 for that profile, which lowers their composite by the full 100-point ceiling of that profile. Scored vs reference-only profiles Not all profiles count toward the composite score. Profiles marked as scored contribute to the composite. Reference-only profiles (marked with \\ *) are displayed for comparison but do not affect the ranking. H/1.1 Isolated Profile Scored Workload Baseline Yes Mixed GET/POST with query parsing Pipelined No (*) 16 requests batched per connection. Reference-only - a raw I/O and middleware-efficiency indicator; HTTP/1.1 pipelining is disabled in modern browsers and proxies, so it no longer counts toward the composite ranking Short-lived Yes Connections closed after 10 requests JSON Yes Dataset processing and serialization JSON Compressed Yes JSON with Accept-Encoding: gzip, br and multiplier ?m=N JSON TLS Yes JSON workload over HTTP/1.1 + TLS on port 8081 Upload Yes 20 MB body ingestion, return byte count Static Yes 20 static files served over HTTP/1.1 Async DB Yes Async Postgres query with connection pooling CRUD Yes Realistic REST API against Postgres: cached reads (75%), updates (15%), list (5%), upsert create (5%). Cache-aside with 200ms TTL (in-process or Redis sidecar) Fortunes No (*) DB query + HTML template render. Reference-only - engine-comparison test, not part of the composite ranking H/1.1 Workload Profile Scored Workload API-4 Yes Baseline + JSON + async-db on 4 CPUs API-16 Yes Baseline + JSON + async-db on 16 CPUs H/2 Profile Scored Workload Baseline Yes Query parsing over TLS with multiplexed streams Static Yes 20 static files served over TLS with multiplexed streams Baseline h2c Yes Query parsing over cleartext h2 on port 8082 (prior-knowledge, anti-cheat rejects dual-serving HTTP/1.1) JSON h2c Yes JSON serialization workload over cleartext h2 on port 8082 H/3 Profile Scored Workload Baseline Yes Query parsing over QUIC (UDP) with TLS 1.3 Static Yes 20 static files served over QUIC (UDP) with TLS 1.3 Gateway Profile Scored Workload Gateway H2 Yes Two-service proxy + server stack over HTTP/2 + TLS, mixed workload (static 30%, JSON 35%, baseline 20%, async-db 15%), 64-CPU budget Gateway H3 Yes Same two-service stack over HTTP/3 + QUIC at the edge Production Stack H2 Yes Four-service CRUD API (edge + Redis + JWT auth + server) with 10K-item cache-aside, JWT verified every request, concurrent reads + writes gRPC Profile Scored Workload Unary Yes gRPC unary call over cleartext HTTP/2 Unary TLS Yes gRPC unary call over TLS Stream Yes Server-streaming gRPC over cleartext HTTP/2 Stream TLS Yes Server-streaming gRPC over TLS WebSocket Profile Scored Workload Echo Yes WebSocket echo throughput Echo Pipelined Yes Batched WebSocket echo throughput Echo Short-lived Yes WebSocket echo with each connection closed after 10 messages Fortunes and Pipelined are the reference-only profiles - shown on the board as faded columns for comparison, but not counted in the composite score. Memory efficiency bonus An optional toggle rewards memory efficiency with an additive bonus per profile. It never scales down the raw-throughput score - it only adds on top of it, up to +50 points for the most memory-efficient framework in that profile. This uses an efficiency ratio ( rps / memoryMB ), not absolute memory usage. A framework that is fast and lean gets the largest bonus; a framework that uses little memory only because it is slow earns less, because its rps is in the numerator of the ratio. CPU efficiency was intentionally dropped: a framework that leaves CPU on the table already scores worse on RPS, so penalizing it a second time for \"low efficiency\" double-counted the same signal and flattened the throughput differentiation that the benchmark exists to measure. How the memory bonus is computed For each profile, compute the efficiency ratio for every framework: memEfficiency = sqrt(rps) / memoryMB Why sqrt(rps) instead of rps ? A plain rps / MB ratio double-counts throughput: high-rps frameworks would win both rpsScore and memScore because rps dominates the ratio. Taking the square root dampens rps to log-scale - it still matters (a dead framework shouldn't win \"efficiency\"), but memory can now actually move the needle. Normalize against the best efficiency in that profile: memScore = (framework_memEff / best_memEff) \u00d7 100 Add half of it on top of the RPS score: profileScore = rpsScore + 0.5 \u00d7 memScore With the toggle on, per-profile scores range 0\u2013150 (up to 100 from throughput, up to 50 from memory efficiency). Frameworks with no memory data keep their plain rpsScore . Example Framework RPS Mem (MB) sqrt(rps)/MB A 500,000 50 14.14 B 100,000 20 15.81 RPS scores: A = 100, B = 20 Memory efficiency scores: A = 89.4, B = 100 (best) With the memory toggle on: A: 100 + 0.5 \u00d7 89.4 = 144.7 B: 20 + 0.5 \u00d7 100 = 70.0 B actually wins the memory term despite A's 5\u00d7 throughput advantage, because sqrt(rps) only gives A a \u221a5 \u2248 2.24\u00d7 boost in the numerator - not enough to beat B's 2.5\u00d7 memory savings. A still wins overall thanks to its raw throughput lead, but B's lean memory footprint is now rewarded meaningfully instead of being drowned out. Type-specific scoring Types are scored separately - each has its own composite ranking and normalization pool. The scored profiles differ by type: Frameworks (Flagship, Emerging and Experimental, in either Standard or Tuned mode) are scored on all scored profiles across H/1.1, H/2, H/3, gRPC, and WebSocket. Engines are scored on a reduced set: Baseline, Pipelined, Short-lived, API-4, H/2 (both), H/3 (both), gRPC (both), and WebSocket, since most engines don't implement the heavier endpoints (JSON, upload). The Type filter on the composite leaderboard switches between these rankings. Flagship, Emerging and Experimental can be combined (they share the framework normalization pool); Engine is exclusive. Experimental is hidden by default and shown only when selected. Tuned entries (a mode , not a type) are shown within whichever framework types are selected, marked with a ring. Why this approach Sum across profiles - larger numbers separate strong all-rounders from frameworks that only win a single profile; a framework that covers 15 profiles at 80% crushes one that wins one profile at 100% Normalization - each profile contributes equally regardless of absolute RPS scale (baseline at 1M vs JSON at 200K), and is capped at 100 points per profile Additive memory bonus - memory-efficient frameworks earn up to +50 per profile on top of their RPS score; slow frameworks can't game the bonus because rps is in the efficiency numerator Average across connections - each framework is scored on its average RPS across all connection counts, rewarding consistent scaling"},{"u":"test-profiles","t":"Test Profiles","c":"Knowledge Base","d":"Every HttpArena benchmark profile, each isolating a different performance dimension so frameworks are compared on equal terms.","x":"HttpArena runs every framework through multiple benchmark profiles. Each profile isolates a different performance dimension, ensuring frameworks are compared fairly across varied workloads. Your framework must implement endpoints depending on which test profiles it participates in. All HTTP/1.1 endpoints are served on port 8080 . HTTPS/H2/H3 endpoints are served on port 8443 . Each profile is run at multiple connection counts to show how frameworks scale under increasing concurrency. API Specification All benchmark endpoints are described in machine-readable OpenAPI 3.0 specifications. Each spec covers request/response schemas, status codes, standard and tuned implementation rules, and links back to the relevant documentation pages. The endpoints are split across two files: Spec Profiles covered openapi.json All HTTP/1.1, HTTP/2, HTTP/3, gRPC, and WebSocket profiles Browse openapi-gateway.json Gateway profiles (production-stack) Browse Benchmark parameters Five load generators are dispatched per profile - each one is built for a specific protocol + workload shape. See Load Generators for per-tool details. Parameter Value Load generators gcannon (HTTP/1.1, upload, WebSocket), wrk (static + json-tls rotation), h2load (HTTP/2, h2c, gateway), h2load-h3 (HTTP/3 / QUIC), ghz (gRPC) Threads 64 for gcannon / wrk / h2load / h2load-h3 ( $THREADS / $H2THREADS / $H3THREADS ); ghz scales workers dynamically as connections \u00d7 4 Duration 5s default; async-db 10s; api-4 , api-16 , crud 15s (hardcoded in the profile dispatcher) Runs 3 per (profile, connection count) - best RPS wins Networking Docker --network host for all containers (server + load generator + Postgres + Redis sidecars) Data mounts Data files are mounted automatically by the benchmark runner - your Dockerfile does not need to include them. The following paths are available inside the container at runtime: Path Description /data/dataset.json 50-item dataset for /json , /db , and /async-db /data/static/ 20 static assets for /static/* (HTML, JS, CSS, SVG, WebP, woff2, JSON). 15 assets ship with pre-built .gz and .br sibling files (e.g. app.js , app.js.gz , app.js.br ) so frameworks that support precompressed serving can skip on-the-fly compression. The 5 already-binary formats ( hero.webp , thumb1.webp , thumb2.webp , bold.woff2 , regular.woff2 ) have no precompressed variants. See the Static profile for how to wire Accept-Encoding lookup. /certs/server.crt , /certs/server.key TLS certificate and key for HTTPS / H2 / H2 h2c (port 8082 is cleartext) / H3 Environment variables Set by the benchmark runner when the relevant profile runs - your process will see them via os.environ / std::env::var / equivalent. Variable Profiles Value DATABASE_URL async-db , crud , api-4 , api-16 Postgres connection string ( postgres://bench:bench@127.0.0.1:5432/benchmark ) DATABASE_MAX_CONN same as above 256 - the Postgres sidecar's max_connections ; size your pool \u2264 this REDIS_URL crud redis://127.0.0.1:6379 - multi-process frameworks can use Redis as a cross-process cache; single-heap frameworks (Go, ASP.NET, etc.) typically ignore it and keep their in-process cache Gateway and production-stack profiles are compose-orchestrated, so their services receive additional env (e.g. JWT_SECRET for the production-stack auth sidecar) via their compose.*.yml files rather than through the runner. See the per-profile pages under Gateway for details. H/1.1 Isolated single-endpoint benchmarks and multi-endpoint workload mixes over plain TCP. H/2 Baseline and static file benchmarks over encrypted TLS connections with stream multiplexing. Gateway Multi-service deployments: proxy + server (H2/H3) and full CRUD production stack with JWT auth + cache-aside. H/3 Baseline and static file benchmarks over QUIC for frameworks with native H/3 support. gRPC Unary RPC throughput over cleartext HTTP/2 using Protocol Buffers serialization. WebSocket WebSocket echo throughput measuring frame processing performance."},{"u":"test-profiles/gateway","t":"Gateway","c":"Knowledge Base \u203a Test Profiles","d":"Multi-service benchmark profiles: reverse proxy plus application server, with optional auth sidecars, caches and a database.","x":"Gateway test profiles benchmark multi-service deployments - proxy + server, with optional auth sidecars, caches, and databases. Unlike isolated tests that measure a single framework container, gateway tests measure the end-to-end throughput of the entire stack as a unit. All gateway tests use Docker Compose for orchestration, pin services to specific CPU cores via cpuset , and give entries full control over their architecture within a fixed 64-CPU budget. Gateway H2 Two-service proxy + server stack over HTTP/2 + TLS. Mixed workload: static 30%, JSON 35%, baseline 20%, async-db 15%. Gateway H3 Same two-service stack as Gateway H2 but with HTTP/3 + QUIC at the edge. Production Stack H2 Four-service CRUD API: edge + Redis + JWT auth sidecar + server. 10K-item cache-aside, JWT verified every request, concurrent reads + writes."},{"u":"test-profiles/gateway/gateway-h2","t":"Gateway H2","c":"Knowledge Base \u203a Test Profiles \u203a Gateway","d":"A two-service proxy and server stack over HTTP/2 with TLS: the proxy serves static files from disk and forwards dynamic endpoints.","x":"Two-service proxy + server stack over HTTP/2 + TLS. Proxy serves static files directly from disk, forwards dynamic endpoints (baseline, JSON, async-db) to the application server. 64 CPUs split freely between the two services. Implementation Guidelines Compose file layout, endpoint responsibilities, proxy-to-server protocol, CPU allocation. Validation Checks executed by validate.sh against the running compose stack."},{"u":"test-profiles/gateway/gateway-h2/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a Gateway \u203a Gateway H2","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Gateway H2 proxy and server stack.","x":"Standard Tuned Engine Must ship exactly two services - one reverse proxy and one application server. The proxy must be a widely-used, production-grade server (Nginx, Caddy, Envoy, HAProxy, Traefik, etc.). No custom proxy implementations. No caches, load balancers, or additional sidecars beyond the two services. The proxy must serve /static/* directly from disk; the server must serve /baseline2, /json, and /async-db using standard framework middleware. Same two-service shape as production. May optimize proxy configuration (worker counts, buffer sizes, keepalive tuning, connection pooling). May tune the proxy-to-server protocol (h2c, Unix sockets, etc.). Server may use any caching or optimization strategy on its own endpoints. No specific rules. May use custom proxy implementations. Ranked separately from frameworks. The Gateway-64 test benchmarks a proxy + server combination as a unit. The load generator sends TLS-encrypted HTTP/2 requests to port 8443; the proxy terminates TLS, serves /static/* directly from disk, and forwards dynamic endpoints to the application server over the entry's choice of internal protocol. Architecture Exactly two services - nothing else. One proxy, one server. Splitting dynamic endpoints across multiple servers, adding a caching layer, load-balancing across replicas, or running a single combined service are all not allowed for this test. The shape is fixed so entries compete on proxy choice, proxy tuning, proxy-to-server protocol, and CPU split - not on architectural creativity. TLS (h2) proxy \u2192 server \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2500\u2500\u2500\u2500\u2500\u2500> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 h2load \u2502 \u2502 Proxy \u2502 \u2502 Server \u2502 \u2502 (load \u2502 port 8443 \u2502 TLS term \u2502 any proto \u2502 baseline\u2502 \u2502 gen) \u2502 HTTPS/h2 \u2502 /static/* \u2502 \u2502 json \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 async-db\u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 CPU: N of 64 CPU: 64-N Endpoint responsibilities Path Handled by Role /static/* Proxy Static files served directly from /data/static/ /baseline2?a=N&b=M Server Query-parameter sum /json Server Dataset processing (~10 KB JSON response) /async-db?min=N&max=M Server Postgres range query Rules: The proxy must serve /static/* from disk. Forwarding static files to the server is not allowed. The server must serve all three dynamic endpoints. Proxy-level caching of dynamic responses is not allowed. The proxy must terminate TLS. Passing raw TLS through to the server is not allowed. See the individual test profile docs for each endpoint's exact request/response format: /static/* /baseline2 /json /async-db Docker Compose Every gateway entry is orchestrated via a compose.gateway.yml file with exactly two services named proxy and server . The benchmark script builds, starts, and tears down the stack for each run. Example services: proxy: build: ./proxy network_mode: host cpuset: \"0-7,64-71\" ulimits: memlock: -1 nofile: soft: 1048576 hard: 1048576 security_opt: - seccomp:unconfined volumes: - ${CERTS_DIR}:/certs:ro - ${DATA_DIR}/static:/data/static:ro depends_on: - server server: build: context: ../../ dockerfile: frameworks/my-framework/Dockerfile network_mode: host cpuset: \"8-31,72-95\" ulimits: memlock: -1 nofile: soft: 1048576 hard: 1048576 security_opt: - seccomp:unconfined environment: - DATABASE_URL=${DATABASE_URL} - DATABASE_MAX_CONN=256 volumes: - ${DATA_DIR}/dataset.json:/data/dataset.json:ro In this split: Proxy (Nginx) gets 8 physical cores (16 logical: 0-7,64-71 ) - terminates TLS, serves /static/* directly from /data/static/ , forwards dynamic endpoints to the server on localhost. Server gets 24 physical cores (48 logical: 8-31,72-95 ) - listens on an internal port (e.g. 8080 plain HTTP/1.1 or h2c) and handles /baseline2 , /json , /async-db . Total: 16 + 48 = 64 logical CPUs. Environment variables The benchmark script exports three environment variables before every compose command. Your compose file must use these - do not hardcode paths. Variable Value CERTS_DIR Absolute path to the TLS certificate directory ( server.crt , server.key ) DATA_DIR Absolute path to the data directory ( static/ , dataset.json ) DATABASE_URL Postgres connection string for /async-db (sidecar is started by the benchmark script) Required compose settings Every service in your compose file must include these settings: Setting Value Why network_mode: host Both services Bridge networking adds measurable latency; host networking keeps proxy-to-server at native localhost speed. cpuset CPU range string Pins the service to specific cores. See CPU allocation . security_opt: [seccomp:unconfined] Both services Allows io_uring and other syscalls that the default seccomp profile blocks. ulimits.memlock: -1 Both services Allows memory locking for performance-critical operations. ulimits.nofile: { soft: 1048576, hard: 1048576 } Both services Raises the file descriptor limit. Proxy \u2192 server protocol The proxy-to-server transport is the entry's choice and one of the most important tuning decisions: Protocol Pros Cons HTTP/1.1 over TCP Simplest to configure, universally supported No multiplexing - one request per connection at a time HTTP/1.1 + keepalive pool Reuses connections, avoids handshake per request Still no multiplexing h2c (HTTP/2 cleartext) Multiplexing without the TLS cost of a second hop Not all frameworks support h2c Unix domain sockets Lowest latency, no TCP stack overhead Server must listen on a UDS The benchmark measures end-to-end throughput from the load generator's perspective. How the proxy talks to the server is an implementation detail, but it materially affects the score. CPU allocation The test uses 64 logical CPUs - 32 physical cores (0\u201331) plus their SMT siblings (64\u201395). The entry's compose.gateway.yml defines how these are split between proxy and server using the cpuset directive. The split is the entry's choice - give the proxy as little or as much as you want, as long as the total across both services equals exactly 64 logical CPUs. CPU topology rules CPUs are allocated in physical core pairs - each allocation includes both the physical core and its SMT sibling. This avoids two services sharing a physical core and ensures consistent per-service performance. Proxy cpuset Server cpuset Split 0-1,64-65 2-31,66-95 4 + 60 = 64 0-3,64-67 4-31,68-95 8 + 56 = 64 0-7,64-71 8-31,72-95 16 + 48 = 64 0-15,64-79 16-31,80-95 32 + 32 = 64 Understanding SMT pairing Each physical core has two logical CPUs: the core itself and its SMT (HyperThreading) sibling. On the benchmark machine, physical core N maps to logical CPUs N and N+64 : Physical core 0 \u2192 logical CPUs 0 and 64 Physical core 15 \u2192 logical CPUs 15 and 79 Physical core 31 \u2192 logical CPUs 31 and 95 When you allocate cores, you must always allocate both siblings to the same service. Two threads sharing a physical core compete for ALU, cache, and branch predictor - splitting siblings across services causes unpredictable cross-service interference. Correct - proxy gets physical cores 0\u20137 (16 logical CPUs): cpuset: \"0-7,64-71\" Incorrect - splits a physical core across services: proxy: cpuset: \"0-3\" # gets core 3 without its sibling (67) server: cpuset: \"4-31,64-95\" # gets sibling 67 without core 3 Incorrect - doesn't allocate all 64 CPUs: proxy: cpuset: \"0-3,64-67\" # 8 CPUs server: cpuset: \"4-15,68-79\" # 24 CPUs - 32 CPUs wasted Choosing the split Lightweight proxy (plain forwarding, little static traffic) - 2\u20134 physical cores is usually enough TLS-terminating proxy with heavy static - 4\u20138 physical cores. TLS handshakes and static I/O compete for CPU at high connection counts. Even split - 16+16 physical cores is a good starting point if you don't know which side is the bottleneck meta.json { \"display_name\": \"my-framework + nginx\", \"language\": \"C#\", \"type\": \"flagship\", \"mode\": \"standard\", \"engine\": \"kestrel\", \"description\": \"ASP.NET minimal API behind Nginx reverse proxy.\", \"repo\": \"https://github.com/dotnet/aspnetcore\", \"tests\": [\"gateway-64\"] } The tests array only needs gateway-64 for gateway-only entries. Frameworks that also participate in other tests can subscribe to both - the standard Dockerfile is used for non-gateway tests and compose.gateway.yml for gateway-64 . Directory structure frameworks/my-framework/ compose.gateway.yml # Two services: proxy + server Dockerfile # Server image meta.json proxy/ Dockerfile # Proxy image (e.g. Nginx with custom config) nginx.conf # Proxy configuration Workload The load generator ( h2load ) requests 20 URIs in a round-robin across multiplexed HTTP/2 streams, all requests sent with Accept-Encoding: br;q=1, gzip;q=0.8 : Category URIs Count Weight Handled by Static files /static/reset.css , components.css , app.js , vendor.js , header.html , hero.webp - a mix of CSS, JS, HTML, and an image for sendfile -path coverage 6 30% Proxy JSON /json/{count} with count \u2208 {1, 5, 10, 15, 25, 40, 50} - 7 payload sizes, same set as the h1-isolated JSON profile 7 35% Server Baseline /baseline2?a=N&b=M with 4 distinct parameter combinations to defeat URI-keyed caches 4 20% Server Async DB /async-db?min=10&max=50&limit=N with limit \u2208 {10, 25, 50} 3 15% Server The mix is JSON-weighted (35%) because server-side compute is the most expensive part of the stack; static serving (30%) keeps the proxy's I/O path under meaningful load; baseline (20%) measures raw forwarding efficiency at minimal server cost; async-db (15%) is the smallest slice because it's latency-bound on the Postgres round-trip rather than CPU-bound on either service. The leaderboard shows a colored breakdown of how many requests each category handled. What it measures Reverse proxy overhead - how much throughput is lost by adding a proxy layer vs. direct server access TLS termination efficiency - the proxy's cost to terminate HTTPS/h2 at high connection counts HTTP/2 multiplexing through a proxy - whether the proxy can efficiently forward multiplexed streams Static file serving from the proxy - disk I/O, precompressed asset selection, kernel sendfile usage Mixed workload throughput - static I/O (proxy) vs. compute (server JSON) vs. database (server async-db) all competing for the same 64-CPU budget Proxy-to-server protocol choice - HTTP/1.1, h2c, or Unix domain sockets CPU split - how the entry balances proxy and server workload on a fixed CPU budget Parameters Parameter Value Endpoints /static/* , /json , /async-db , /baseline2 Connections 512, 1,024 Streams per connection 32 ( -m 32 ) Duration 5s Runs 3 (best taken) Load generator h2load with -i (multi-URI round-robin) Total CPU budget 64 logical (32 physical + 32 SMT), split freely between proxy and server Memory limit Unlimited Port 8443 (HTTPS/H2) Orchestration Docker Compose ( compose.gateway.yml )"},{"u":"test-profiles/gateway/gateway-h2/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a Gateway \u203a Gateway H2","d":"The correctness checks validate.sh runs against the Gateway H2 proxy and server stack before a framework's results are accepted.","x":"The following checks are executed by validate.sh for every framework subscribed to the gateway-64 test. The validation script builds and starts the full compose stack from compose.gateway.yml before running checks. All requests are sent over HTTPS with HTTP/2 to port 8443 - the same port the load generator uses during benchmarking. This validates the full end-to-end path through the proxy (or directly to the server if no proxy is used), not just the server in isolation. Stack startup The Postgres sidecar is started (needed for /async-db endpoint) The compose stack is built and started via docker compose -f compose.gateway.yml up --build -d Validation waits up to 30 seconds for HTTPS on port 8443 to respond All checks run against https://localhost:8443 The compose stack is torn down after validation completes HTTP/2 protocol negotiation Sends a request to https://localhost:8443/static/reset.css and verifies the response uses HTTP/2 (via ALPN). This confirms TLS and h2 are correctly configured at the entry point (proxy or server). Static file checks Content-Type headers Verifies correct Content-Type headers for representative file types over HTTPS with HTTP/2: GET /static/reset.css - expects Content-Type: text/css GET /static/app.js - expects Content-Type: application/javascript Note: text/javascript is accepted as equivalent to application/javascript per RFC 9239. Response size Requests GET /static/app.js over HTTP/2 and verifies the response size is greater than 0 bytes. This confirms the proxy is correctly forwarding to the server and the server is returning file content. 404 for nonexistent file Sends GET /static/nonexistent.txt over HTTP/2 and verifies the response is HTTP 404 . The 404 must propagate correctly through the proxy. JSON endpoint checks Response structure Sends GET /json over HTTP/2 and validates: Response contains exactly 50 items Every item carries the full schema - id , name , category , price , quantity , active , tags (array), rating (object with score and count ), and total Each total is correctly computed as price * quantity (rounded to 2 decimal places) This is the same validation as the JSON Processing test , but routed through the proxy. Content-Type header Verifies the response has Content-Type: application/json . Async database checks Response structure Sends GET /async-db?min=10&max=50 over HTTP/2 and validates: Response count is between 1 and 50 Every item has a nested rating object with a score field Every item has a tags array Every item's active field is a boolean (not a string or integer) This is the same validation as the Async Database test , but routed through the proxy. Content-Type header Verifies the response has Content-Type: application/json . Anti-cheat: empty range Sends GET /async-db?min=9999&max=9999 and verifies the response returns count: 0 . This detects hardcoded or cached responses that don't actually query the database. Baseline endpoint checks Fixed input Sends GET /baseline2?a=13&b=42 over HTTP/2 and verifies the response body is 55 (the sum of the two query parameters). This confirms the proxy correctly forwards query parameters to the application server. Anti-cheat: randomized input Sends GET /baseline2?a=&b= with random values and verifies the response matches the expected sum. This detects hardcoded responses. Prerequisite checks The gateway-64 test relies on endpoint implementations that are validated individually in other test profiles: /json - JSON Processing validation /static/* - Static Files validation /async-db - Async Database validation /baseline2 - Baseline H2 validation Frameworks subscribing to gateway-64 should also subscribe to these individual tests to ensure each endpoint passes validation independently before testing through the proxy."},{"u":"test-profiles/gateway/gateway-h3","t":"Gateway-H3","c":"Knowledge Base \u203a Test Profiles \u203a Gateway","d":"The HTTP/3 sibling of the Gateway H2 profile: QUIC at the edge, the same mixed workload and the same 64-CPU budget.","x":"Proxy + server stack with HTTP/3 at the edge and a realistic mixed workload - static files served by the proxy from disk, dynamic endpoints forwarded to the application server. Implementation Guidelines Compose file layout, endpoint responsibilities, proxy-to-server protocol choices, CPU allocation. Validation Checks executed by validate.sh against the running compose stack."},{"u":"test-profiles/gateway/gateway-h3/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a Gateway \u203a Gateway-H3","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Gateway H3 proxy and server stack.","x":"Standard Tuned Engine Must ship exactly two services - one HTTP/3-capable reverse proxy and one application server. The proxy must be a widely-used, production-grade server with QUIC support (Caddy, nginx 1.25+ with ngx_http_v3_module, Envoy, HAProxy 2.8+, h2o). No custom QUIC implementations. No caches, load balancers, or additional sidecars beyond the two services. The proxy must serve /static/* directly from disk; the server must serve /baseline2, /json, and /async-db using standard framework middleware. Same two-service shape as production. May optimize proxy configuration (worker counts, buffer sizes, keepalive tuning, QUIC parameter tuning). May tune the proxy-to-server protocol (h1/h2c/UDS). Server may use any caching or optimization strategy on its own endpoints. No specific rules. May use custom QUIC implementations. Ranked separately from frameworks. The Gateway-H3 test is the HTTP/3 sibling of Gateway-64 . Same endpoint surface, same two-service shape, same 64-CPU budget, same 20-URI round-robin mix - the only difference is the edge protocol . The load generator sends requests over QUIC to port 8443 (UDP), the proxy terminates h3 + TLS, and the upstream backend is still reached over plain h1 (or whatever the entry chooses internally). Architecture Exactly two services: one HTTP/3-capable reverse proxy and one application server. The proxy handles QUIC termination and serves /static/* directly from disk. The application server handles /baseline2 , /json/{count} , and /async-db . h3/QUIC (UDP) proxy \u2192 server \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2500\u2500\u2500\u2500\u2500\u2500> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 h2load \u2502 \u2502 Proxy \u2502 \u2502 Server \u2502 \u2502 (-h3) \u2502 port 8443/udp \u2502 h3 + TLS \u2502 any proto \u2502 baseline\u2502 \u2502 \u2502 \u2502 /static/* \u2502 \u2502 json \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 async-db\u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 CPU: N of 64 CPU: 64-N Why split out from Gateway-64? HTTP/3 shifts work around compared to HTTP/2 in ways that are worth measuring separately: No head-of-line blocking at the TCP layer - QUIC streams are independent, so a slow response on one stream doesn't stall others on the same connection Stream and datagram framing happens in userspace , not in the kernel's TCP stack - moves CPU cost from softirq to the proxy process Encryption is per-packet, not per-record - different cost profile than TLS-over-TCP UDP send/recv syscall overhead is higher than TCP sendfile() , but SO_TXTIME / SO_TIMESTAMPING / GRO/GSO mitigations vary by kernel version and proxy implementation Connection migration and 0-RTT are h3-specific features that production proxies handle very differently The H/2 Gateway numbers can't predict any of this. Running the same workload over h3 gives you the other half of the picture. Endpoint responsibilities Same as Gateway-64 : Path Handled by Role /static/* Proxy Static files served directly from /data/static/ (precompressed .br / .gz sidecars allowed) /baseline2?a=N&b=M Server Query-parameter sum /json/{count} Server Dataset processing (~10 KB JSON response) /async-db?min=N&max=M&limit=L Server Postgres range query Rules (identical to Gateway-64): The proxy must serve /static/* from disk. Forwarding static files to the server is not allowed. The server must serve all three dynamic endpoints. Proxy-level caching of dynamic responses is not allowed. The proxy must terminate QUIC + TLS at the edge. Docker Compose Entries ship a compose.gateway-h3.yml file with exactly two services named proxy and server . The benchmark script builds, starts, and tears down the stack for each run. Example services: proxy: build: ./proxy network_mode: host cpuset: \"0-19,64-83\" ulimits: memlock: -1 nofile: soft: 1048576 hard: 1048576 security_opt: - seccomp:unconfined volumes: - ${CERTS_DIR}:/certs:ro - ${DATA_DIR}/static:/data/static:ro depends_on: - server server: build: context: ../../ dockerfile: frameworks/my-framework/Dockerfile network_mode: host cpuset: \"20-31,84-95\" ulimits: memlock: -1 nofile: soft: 1048576 hard: 1048576 security_opt: - seccomp:unconfined environment: - DATABASE_URL=${DATABASE_URL} - DATABASE_MAX_CONN=256 volumes: - ${DATA_DIR}/dataset.json:/data/dataset.json:ro Proxy options (pick one): Caddy - h3 is enabled by default when you bind a TLS listener. Stock caddy:2-alpine image works out of the box. See the reference entry at frameworks/aspnet-minimal_caddy/ for a minimal working Caddyfile. nginx with QUIC - nginx 1.25+ supports h3 via ngx_http_v3_module , but the stock nginx:alpine image is not built with it. You need to either build from source or use a community image that includes QUIC. Envoy - supports h3 via the envoy.quic.connection_id_generator + QuicProtocolOptions listener config. HAProxy 2.8+ - supports h3 via the quic4@:8443 bind spec. Required compose settings Setting Value Why network_mode: host Both services Bridge networking adds measurable latency; host networking keeps proxy-to-server at native localhost speed, and lets the proxy bind UDP 8443 directly on the host for QUIC. cpuset CPU range string Pins the service to specific cores. See CPU allocation . security_opt: [seccomp:unconfined] Both services Allows io_uring and other syscalls the default seccomp profile blocks. QUIC-specific syscalls like SO_TXTIME also benefit. ulimits.memlock: -1 Both services Allows memory locking for performance-critical operations. ulimits.nofile: { soft: 1048576, hard: 1048576 } Both services Raises the file descriptor limit. CPU allocation Identical to Gateway-64 - 64 logical CPUs (32 physical + 32 SMT siblings) split freely between proxy and server, with SMT-sibling pairing required. See the Gateway-64 page for the full rules. Workload The load generator ( h2load-h3 ) requests 20 URIs in a round-robin across multiplexed HTTP/3 streams. All requests include Accept-Encoding: br;q=1, gzip;q=0.8 : Category URIs Count Weight Handled by Static files /static/reset.css , components.css , app.js , vendor.js , header.html , hero.webp 6 30% Proxy JSON /json/{count} with count \u2208 {1, 5, 10, 15, 25, 40, 50} 7 35% Server Baseline /baseline2?a=N&b=M with 4 distinct parameter combinations 4 20% Server Async DB /async-db?min=10&max=50&limit=N with limit \u2208 {10, 25, 50} 3 15% Server Same mix and weighting as Gateway-64 - the requests/gateway-64-uris.txt URI file is shared between both profiles so benchmark numbers are directly comparable across the edge protocol dimension. What it measures QUIC termination cost at the proxy at realistic connection counts HTTP/3 stream multiplexing through a proxy Static file serving over h3 - disk I/O + precompressed asset selection + UDP send path Mixed workload throughput when the edge is QUIC instead of TCP+TLS h3-vs-h2 delta for the same stack - comparing Gateway-H3 to Gateway-64 numbers tells you how much of a framework's gateway performance is attributable to edge protocol choice Parameters Parameter Value Endpoints /static/* , /json/{count} , /async-db , /baseline2 Connections 64, 256 Streams per connection 32 ( -m 32 ) Duration 5s Runs 3 (best taken) Load generator h2load-h3 with -i (multi-URI round-robin) and --alpn-list=h3 Total CPU budget 64 logical (32 physical + 32 SMT), split freely between proxy and server Memory limit Unlimited Port 8443 (UDP for h3, TCP as fallback for h1/h2 depending on proxy) Orchestration Docker Compose ( compose.gateway-h3.yml )"},{"u":"test-profiles/gateway/gateway-h3/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a Gateway \u203a Gateway-H3","d":"The correctness checks validate.sh runs against the Gateway H3 proxy and server stack before a framework's results are accepted.","x":"The Gateway-H3 validation flow reuses the same checks as Gateway-64 - same endpoints, same expected responses, same anti-cheat probes. The only differences: A separate compose.gateway-h3.yml is built and started (instead of compose.gateway.yml ). Endpoint probes go to the same proxy on port 8443 but use curl --http2 rather than curl --http3 . Why curl --http2 for an h3 test? Most curl builds don't ship HTTP/3 support by default, and requiring QUIC-enabled curl would break validate.sh on contributors' machines. The compromise: h3-capable proxies (Caddy, nginx-quic, Envoy, HAProxy) advertise h2 on the same port anyway, so curl can reach the same endpoints for correctness validation. The h3-specific path is exercised at benchmark time by h2load-h3 with --alpn-list=h3 - if h3 is broken, the benchmark will show 0 req/s and you'll see it immediately. Checks performed Same set as Gateway-64 validation : HTTPS port responds within 30 seconds HTTP/2 protocol negotiation (as a proxy-health sanity check) /static/reset.css - Content-Type: text/css /static/app.js - Content-Type: application/javascript /static/app.js - non-zero response body /static/nonexistent.txt - HTTP 404 /json/50 - returns 50 items, each with the full schema ( id , name , category , price , quantity , active , tags , rating with score + count ) and a computed total /json/50 - Content-Type: application/json /async-db?min=10&max=50&limit=50 - returns 1\u201350 items with nested rating , tags , boolean active /async-db - Content-Type: application/json /async-db?min=9999&max=9999 - returns count: 0 (anti-cheat) /baseline2?a=13&b=42 - returns 55 /baseline2?a=&b= - returns correct sum (anti-cheat) What validation does NOT check HTTP/3 protocol negotiation at the edge - requires QUIC-capable curl, not available in most builds. Covered implicitly by the benchmark: if the proxy can't speak h3, h2load-h3 will report 0 req/s. QUIC connection migration, 0-RTT, or specific QUIC features - out of scope for correctness validation. Precompressed sidecar serving - validated at runtime by the benchmark's Accept-Encoding: br;q=1, gzip;q=0.8 request header. If the proxy serves the raw file instead of the .br / .gz sidecar, response size will be larger and bandwidth numbers will reflect that."},{"u":"test-profiles/gateway/production-stack","t":"Production Stack","c":"Knowledge Base \u203a Test Profiles \u203a Gateway","d":"A four-service CRUD API deployment: reverse proxy, JWT auth sidecar, Redis cache and application server under concurrent reads and writes.","x":"The Production Stack profile benchmarks a realistic multi-service CRUD API deployment - reverse proxy, JWT auth sidecar, Redis cache, application server, and Postgres database - with a 10,000-item working set that exercises a real three-tier cache hierarchy (L1 in-process \u2192 L2 Redis \u2192 Postgres) under authenticated load. This is the closest any HttpArena test comes to modeling real production traffic: JWT authentication on every API call - a shared Rust sidecar verifies HMAC-SHA256 signatures with no caching. Real cryptographic work on every request, not a cached lookup. Cache-aside required - frameworks must implement cache-aside on reads (check cache \u2192 miss \u2192 DB \u2192 populate) and invalidation on writes. How the caching works (in-process, Redis, two-tier, framework-native) is the framework's choice - the cache strategy is part of the competition. Cache-aside with short TTL - items cached \u22641 second so the cache constantly cycles: L1 hits \u2192 L2 (Redis) hits \u2192 Postgres queries \u2192 populate both layers. 10K unique IDs mean the cache hierarchy is under real pressure, not permanently warm. CRUD writes - POST requests parse a JSON body, UPDATE in Postgres, and invalidate both cache layers. Reads and writes target overlapping IDs to create realistic cache churn. Implementation Guidelines Four-service compose, JWT auth contract, HybridCache rules, cache-aside pattern, endpoint specs, CPU allocation. Validation 15 checks: auth wall (4), cache-aside cycle, POST invalidation, user lookup chain."},{"u":"test-profiles/gateway/production-stack/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a Gateway \u203a Production Stack","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the four-service Production Stack deployment.","x":"Standard Tuned Engine Must ship exactly four services: edge (reverse proxy), cache (Redis), authsvc (the shared JWT verifier from frameworks/_shared/authsvc/, built as-is), and server (the framework). No custom auth implementations - JWT verification must happen at the edge via auth_request / forward_auth using the shared authsvc. The framework must implement cache-aside on /api/items reads (check cache \u2192 miss \u2192 query DB \u2192 populate cache with \u22641 second TTL) and cache invalidation on /api/items writes (clear cache after DB update). How the caching is implemented is the framework's choice - any combination of in-process cache, Redis, or framework-specific cache abstraction is allowed. Same four-service shape as production. May tune proxy configuration, connection pools, CPU split, and cache TTLs. May NOT replace authsvc with a custom implementation or skip JWT verification. No specific rules. May replace any service with a custom implementation. Ranked separately from frameworks. Overview The Production Stack test benchmarks a realistic multi-service CRUD API deployment as a unit. The load generator sends HTTPS/h2 requests to the edge. Request flow depends on the path: Path Flow /static/* edge serves from disk (no auth, no backend) /public/* edge \u2192 server (no auth, no cache) /api/* edge \u2192 authsvc (JWT verification) \u2192 server (HybridCache L1 \u2192 Redis L2 \u2192 Postgres) Architecture Four services, plus the shared Postgres sidecar (external, managed by the benchmark script): h2 + TLS \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 auth_request \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 h2load \u2502 port 8443 \u2502 edge \u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25ba \u2502 authsvc \u2502 \u2502 \u2502 \u2502 (nginx) \u2502 \u2502 (Rust) \u2502 \u2502 \u2502 Authorization \u2502 \u2502 \u25c4\u2500\u2500 200 + X-User-Id \u2502 JWT+HMAC \u2502 \u2502 \u2502 Bearer \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 \u2502 \u2502 \u2502 /api/* \u2502 \u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25ba \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u2502 X-User-Id header \u2502 server \u2502 \u2502 \u2502 \u2502(framework\u2502 \u2502 \u2502 /public/* \u2502 \u2502 \u2502 \u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25ba \u2502 L1 cache \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 L2 Redis \u2502 \u2502 Postgres \u2502 \u2514\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2518 \u25bc \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 cache \u2502 \u2502 (Redis) \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 Authentication - JWT HMAC-SHA256 Every /api/* request carries an Authorization: Bearer header. The edge proxy fires an auth_request subrequest to the shared authsvc sidecar on every single API call - no caching, no shortcuts. authsvc: Reads the Authorization: Bearer header Splits the JWT into header.payload.signature Computes HMAC-SHA256(secret, header.payload) and compares with the provided signature Base64-decodes the payload and extracts the sub claim (user_id) Returns 200 OK with X-User-Id: or 401 Unauthorized The JWT secret is shared between the token generator ( data/jwt-token.txt ) and authsvc via the JWT_SECRET environment variable. The pre-generated token embeds {\"sub\":\"42\",\"name\":\"Alice Chen\",\"exp\":} . Key rules: Entries must use the shared authsvc binary unmodified. The Rust sidecar at frameworks/_shared/authsvc/ is the same for every framework entry. Do not reimplement JWT verification in the framework's language. No auth caching at the edge. No proxy_cache on the /_auth location. Every /api/* request must trigger a real HMAC-SHA256 verification. The CPU cost of this verification is part of what the test measures. No auth logic in the framework. The framework receives requests with a trusted X-User-Id header set by the edge after successful JWT verification. The framework never parses JWTs, never validates tokens, never touches the Authorization header. Caching The framework must implement cache-aside on /api/items reads: check cache first, fall through to Postgres on miss, populate cache with a short TTL (\u22641 second). On writes, the framework must invalidate the cache entry so the next read sees fresh data. How the caching is implemented is entirely the framework's choice. Examples: Two-tier L1+L2 : in-process memory cache + Redis (e.g. .NET HybridCache, Rails ActiveSupport::Cache with memory + Redis). Highest performance because hot keys never leave the process. Redis-only : every cache-aside read goes to Redis. Simpler but slower - Redis single-thread becomes the ceiling at high rps. In-process only : no Redis for caching, just a local hashmap with TTL. Works but loses the shared cache on multi-instance deployments. Framework-native cache : whatever the framework ships (Django cache, Spring Cache, etc.). The .NET reference entry uses HybridCache (L1 in-process + L2 Redis) because that's the idiomatic .NET 9+ pattern. Other frameworks should use whatever caching approach is natural and documented for their ecosystem. The test measures how well the framework + its cache choice perform together - the cache strategy is part of the competition. Cache-aside pattern GET /api/items/{id} : Check L1 (in-process memory) by key item:{id} L1 miss \u2192 check L2 (Redis via the distributed cache abstraction) L2 miss \u2192 SELECT ... FROM items WHERE id = $1 in Postgres Populate both L1 and L2 with the result, TTL \u2264 1 second Return JSON with X-Cache: HIT or X-Cache: MISS header POST /api/items/{id} : Parse JSON body ( name , price , quantity ) UPDATE items SET ... WHERE id = $1 in Postgres Invalidate cache key item:{id} via the abstraction's RemoveAsync / equivalent (must clear both L1 and L2) Return 204 No Content GET /api/me : Read X-User-Id header (set by edge from authsvc JWT verification) Cache-aside lookup on user:{id} with TTL \u2264 30 seconds Miss \u2192 SELECT id, name, email, plan FROM users WHERE id = $1 Return user JSON Cache TTLs Cache key L1 TTL L2 TTL Rationale item:{id} \u2264 1 second \u2264 1 second Short TTL so the cache constantly cycles and Postgres sees regular traffic. At 10K unique IDs and ~250K rps, each ID is read ~12\u00d7/sec \u2192 ~92% L1 hit rate with 1s TTL. user:{id} \u2264 30 seconds \u2264 30 seconds User profiles change rarely. Longer TTL means near-100% hit rate during a 5-second benchmark. What the cache hierarchy looks like under load With 10,000 unique item IDs at ~250K rps (50% items): Layer Ops/sec What it does L1 (in-process memory) ~115K hits ~100 ns hashmap lookup L2 (Redis) ~5\u201310K HMGET on L1 miss, ~50 \u00b5s Postgres ~5\u201310K SELECT on L2 miss, ~200 \u00b5s L2 writeback ~5\u201310K HMSET + EXPIRE on Postgres hit This is a real three-tier cache hierarchy under real load. Every layer does measurable work. Endpoint responsibilities Endpoint Method Auth Cache Database What the framework does /static/* GET no no no Never reached - edge serves from disk /public/baseline GET no no no a + b query-sum /public/json/{count} GET no no no Slice dataset, serialize JSON /api/items/{id} GET JWT L1 \u2192 L2 \u2192 DB SELECT on miss Cache-aside read /api/items/{id} POST JWT invalidate L1+L2 UPDATE Parse body, write DB, invalidate cache /api/me GET JWT L1 \u2192 L2 \u2192 DB SELECT on miss Read user by X-User-Id Workload Two h2load instances run in parallel against the same compose stack: Reads (20,000 URIs in production-stack-reads.txt , round-robin): Category Count Share Handled by /static/* 6,000 30% edge (disk, gzip_static) /public/baseline 2,000 10% server (no auth, no cache) /api/items/{id} (IDs 1\u201310,000) 10,000 50% edge \u2192 authsvc \u2192 server (cache-aside) /api/me 2,000 10% edge \u2192 authsvc \u2192 server (cache-aside) Writes (20 URIs in production-stack-writes.txt , round-robin, with JSON body): Category URIs What POST /api/items/{id} (IDs 1\u201320) 20 UPDATE + cache invalidate The reads instance uses -c $conns -m 16 . The writes instance uses -c $(conns/8) -m 8 . Both carry Authorization: Bearer so all /api/* requests authenticate successfully. IDs 1\u201320 are targeted by both reads and writes, creating realistic cache churn on those entries. IDs 21\u201310,000 are read-only with stable cache behavior. Docker Compose Every production-stack entry ships compose.production-stack.yml with exactly four services: Service Role Image edge Reverse proxy, TLS, static files, auth_request nginx (or equivalent) cache Redis for L2 cache (framework's HybridCache backend) redis:7-alpine with seed entrypoint authsvc JWT HMAC-SHA256 verifier (shared, unmodified) Built from frameworks/_shared/authsvc/ server The framework - CRUD handlers with HybridCache Built from the framework's Dockerfile Required compose settings Same as Gateway-64 : network_mode: host , pinned cpuset , seccomp:unconfined , and memlock/nofile ulimits on all four services. Environment variables Variable Set on Value JWT_SECRET authsvc httparena-bench-secret-do-not-use-in-production AUTHSVC_LISTEN authsvc 0.0.0.0:9090 DATABASE_URL server Postgres connection string (set by benchmark script) REDIS_URL server redis://127.0.0.1:6379 CERTS_DIR edge TLS certificate directory (set by benchmark script) DATA_DIR edge, cache Dataset + static files + seed data CPU allocation 64 logical CPUs (32 physical + 32 SMT siblings) split across four services. The split is the entry's choice, but the reference entry's empirically-tuned split is: Service Physical Logical Rationale edge 15 30 TLS termination + h2 framing + auth_request subrequests cache 1 2 Redis is single-threaded; more cores don't help authsvc 4 8 HMAC-SHA256 is CPU-bound and parallelizable. 4 cores is empirically optimal on the reference hardware - going to 5 causes a cliff (likely CCX/L3 boundary). server 12 24 Framework CRUD handlers + HybridCache + Postgres client Important tuning finding: authsvc scales linearly with cores (HMAC-SHA256 is embarrassingly parallel) BUT stealing cores from server or edge to give to authsvc often makes overall throughput worse because the downstream services can't keep up. The optimal split is where edge, authsvc, and server are all near their utilization ceiling simultaneously. Database Two tables, both seeded by data/pgdb-seed.sql : items - 100,000 rows, used by /api/items/{id} : CREATE TABLE items ( id INTEGER PRIMARY KEY, name TEXT, category TEXT, price INTEGER, quantity INTEGER, active BOOLEAN, tags JSONB, rating_score INTEGER, rating_count INTEGER ); users - 4 rows, used by /api/me : CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT, email TEXT, plan TEXT ); What this test measures Full production stack throughput with real JWT auth, real cache hierarchy, real DB writes Framework cache abstraction efficiency - HybridCache, Rails.cache, Django cache, etc. under L1/L2 pressure with 10K-item working set JWT verification cost - every /api/* request does real HMAC-SHA256 crypto at the edge Cache-aside correctness - reads populate cache on miss, writes invalidate, TTL cycles naturally CRUD write path - JSON body parsing, Postgres UPDATE, cache invalidation CPU allocation strategy - how entries balance edge/auth/server on a fixed 64-CPU budget Parameters Parameter Value Endpoints /static/* , /public/baseline , /public/json/{count} , /api/items/{id} (GET+POST), /api/me Connections 256, 1,024 Streams per connection 16 ( -m 16 ) for reads, 8 for writes Duration 5s Runs 3 (best taken) Load generator Two parallel h2load instances (reads + writes) Auth JWT HMAC-SHA256 verified on every /api/* request (no caching) Cache L1 in-process + L2 Redis, \u22641s TTL for items, \u226430s for users Item working set 10,000 unique IDs (IDs 1\u201310,000) Write targets 20 IDs (1\u201320), overlapping with reads Total CPU budget 64 logical, split across 4 services Port 8443 (HTTPS/h2) Orchestration Docker Compose ( compose.production-stack.yml )"},{"u":"test-profiles/gateway/production-stack/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a Gateway \u203a Production Stack","d":"The correctness checks validate.sh runs against the four-service Production Stack deployment before a framework's results are accepted.","x":"validate.sh brings up the full production-stack compose (edge + cache + authsvc + server) with up --build -d , waits up to 60 seconds for the HTTPS port to respond, runs the checks below, and tears the stack down. Checks performed Protocol and static files HTTP/2 protocol negotiation - curl --http2 /static/reset.css must report HTTP/2 /static/reset.css - Content-Type text/css /static/app.js - non-zero response body Public endpoints (no auth) /public/baseline?a=13&b=42 - returns 55 /public/baseline?a=&b= - correct sum (anti-cheat) /public/json/25 - 25 items, each with the full schema ( id , name , category , price , quantity , active , tags , rating with score + count ) and computed total = price \u00d7 quantity Auth wall - JWT required GET /api/items/1 (no Authorization header) - HTTP 401 GET /api/items/1 (Authorization: Bearer invalid.token.here) - HTTP 401 POST /api/items/1 (no Authorization header) - HTTP 401 POST /api/items/1 (Authorization: Bearer invalid.token.here) - HTTP 401 Authenticated CRUD - valid JWT GET /api/items/1 with valid JWT - returns item with id=1 Cache-aside cycle - GET /api/items/7 twice: First call: X-Cache: MISS (L1+L2 cold \u2192 Postgres query \u2192 populate both layers) Second call: X-Cache: HIT (served from L1 or L2) POST /api/items/2 with valid JWT + JSON body - returns 204 No Content (Postgres UPDATE + cache invalidation) POST invalidation - warm cache for item 3, POST to item 3, GET item 3 again: GET after POST shows X-Cache: MISS (proves RemoveAsync cleared both L1 and L2) GET /api/me with valid JWT - returns user JSON with id=42 (authsvc extracts sub:42 from the JWT, edge forwards X-User-Id: 42 , server reads user from Postgres via HybridCache) Total: 15 production-stack checks plus the compose startup itself. What validation proves JWT verification works end-to-end : valid tokens authenticate, invalid/missing tokens get 401 Both GET and POST are behind the auth wall : can't read or write without a valid JWT Cache-aside populates on miss : first read of a cold key hits Postgres and populates cache Cache-aside serves from cache on hit : second read returns cached data POST invalidates cache : write clears both L1 and L2, forcing next read to re-query Postgres User lookup chain works : JWT sub claim \u2192 authsvc \u2192 X-User-Id header \u2192 server \u2192 Postgres/cache \u2192 user JSON JWT token for validation Validation uses the pre-generated token at data/jwt-token.txt , signed with the secret httparena-bench-secret-do-not-use-in-production . The token contains {\"sub\":\"42\",\"name\":\"Alice Chen\",\"exp\":} . authsvc verifies the HMAC-SHA256 signature and returns X-User-Id: 42 ."},{"u":"test-profiles/grpc","t":"gRPC","c":"Knowledge Base \u203a Test Profiles","d":"gRPC benchmark profiles measuring Protocol Buffers over HTTP/2, in both cleartext (h2c) and TLS variants.","x":"gRPC test profiles measure framework performance using Protocol Buffers over HTTP/2. The server listens on port 8080 (h2c) and port 8443 (h2 TLS) and implements the BenchmarkService defined in benchmark.proto . Unary Single unary RPC throughput - GetSum request/response over h2c and h2 TLS. Server Streaming Server-streaming throughput in messages/sec - one request, N replies per call over h2c and h2 TLS."},{"u":"test-profiles/grpc/stream","t":"Server Streaming (gRPC)","c":"Knowledge Base \u203a Test Profiles \u203a gRPC","d":"Measures server-streaming gRPC throughput in messages per second, with many replies emitted on a single HTTP/2 stream.","x":"Measures gRPC server-streaming throughput in messages per second. Each call sends one request and the server emits N replies on the same HTTP/2 stream. Runs over both h2c (port 8080) and h2 TLS (port 8443). Implementation Guidelines Endpoint specification, expected request/response format, and type-specific rules. Validation All checks executed by the validation script for this test profile."},{"u":"test-profiles/grpc/stream/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a gRPC \u203a Server Streaming (gRPC)","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the server-streaming gRPC benchmark.","x":"Standard Tuned Engine Must use the framework's standard gRPC server implementation. No bypassing of protobuf serialization or HTTP/2 framing. May tune HTTP/2 frame sizes, flow-control window sizes, and server concurrency limits beyond defaults. No specific rules. Ranked separately from frameworks. The Server Streaming profile measures how efficiently a framework can emit a stream of protobuf messages from a single server-streaming gRPC call. One unary-style request lands on the server, and the handler writes N replies to a single IServerStreamWriter (or equivalent) before completing the call. The load generator ( ghz ) opens many concurrent streams and sums the total messages delivered per second. Connections: 64 Streams per connection: 4 (64 conns \u00d7 256 workers = 4-way stream multiplexing per conn) Messages per call: 5,000 How it works Client issues StreamSum(StreamRequest{ a, b, count: 5000 }) on a new HTTP/2 stream Server responds with count SumReply messages, each carrying result = a + b + i for i in 0..count-1 Client consumes all count replies before closing the stream and opening another call ghz reports calls/sec; the benchmark runner multiplies by msgs/call and records messages/sec as the headline throughput The shape rewards frameworks that amortize per-call overhead across many stream writes - a single call incurs one gRPC framing setup, one protobuf marshal of the request, and then a tight loop emitting replies through Kestrel's HTTP/2 frame writer (or the equivalent in other frameworks). Frameworks that do per-message context allocation or contention on a shared writer will lose ground. What it measures Stream dispatch efficiency - per-message cost inside a live HTTP/2 stream, not per-call cost HTTP/2 frame writer throughput - how fast the server can serialize protobuf messages into DATA frames Flow-control handling - with 4 concurrent streams per TCP connection, WINDOW_UPDATE frames must not stall the stream Per-stream CPU efficiency - a single stream runs on a single logical thread in most frameworks; scaling comes from many parallel streams Protobuf service service BenchmarkService { rpc StreamSum (StreamRequest) returns (stream SumReply); } message StreamRequest { int32 a = 1; int32 b = 2; int32 count = 3; } message SumReply { int32 result = 1; } Handler contract For every incoming StreamRequest : Compute sum = request.a + request.b Loop request.count times emitting SumReply { result: sum + i } through the server-stream writer Clamp count to >= 1 defensively (anti-crash only, the load gen always sends 5,000) Parameters Parameter Value Endpoint BenchmarkService/StreamSum Profiles stream-grpc (h2c :8080) and stream-grpc-tls (h2 TLS :8443) Connections 64 Concurrent workers 256 (4 streams per TCP connection) Messages per call 5,000 Duration 5s Runs 3 (best taken) Load generator ghz Metric Messages per second (calls/sec \u00d7 msgs/call) Why messages/sec instead of calls/sec Streaming RPC calls are not comparable to unary calls on a per-call basis - a single server-streaming call can deliver thousands of messages through the framework's dispatch path. Reporting calls/sec would make a 100\u00d7 msgs/call workload look 100\u00d7 slower than unary even when the framework is actually pushing more aggregate protobuf work. Messages/sec normalizes against unary throughput: for aspnet-grpc on this hardware, unary hits ~2.3M req/sec (via h2load) and server-streaming hits ~6M msg/sec (via ghz). The streaming number is ~3\u00d7 the unary number because amortization more than compensates for the per-call overhead savings h2load gets by not doing real client-side gRPC work. Notes The streaming test does not subscribe to the -r request-per-conn rotation that gcannon-based profiles use - ghz's streaming model opens fresh calls continuously until the duration elapses Frameworks must return exactly count replies per call - validation checks reply.length == count Use of server-push or trailing-only responses to \"fake\" streaming is not allowed. Each reply must be a distinct gRPC DATA frame containing a valid SumReply ."},{"u":"test-profiles/grpc/stream/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a gRPC \u203a Server Streaming (gRPC)","d":"The correctness checks validate.sh runs against the server-streaming gRPC benchmark before a framework's results are accepted.","x":"The following checks are executed by validate.sh for every framework subscribed to the stream-grpc or stream-grpc-tls tests. Server-streaming response shape Calls BenchmarkService/StreamSum with {a: 13, b: 42, count: 10} over h2c (or h2 TLS for the stream-grpc-tls variant) and verifies: The call completes with OK status (no CANCELLED , UNAVAILABLE , etc.) Exactly 10 SumReply messages are received Each result equals 13 + 42 + i where i is the zero-based index of the message in the stream Large-count stream Calls StreamSum with count: 5000 and verifies the full stream is delivered without deadline exceeded and the final reply carries result = 13 + 42 + 4999 = 5054 . Catches frameworks that silently truncate long streams or drop trailing messages under pressure. Empty stream (anti-cheat) Calls StreamSum with count: 0 and verifies the call completes with OK and zero messages delivered. Catches frameworks that hard-code a minimum message count."},{"u":"test-profiles/grpc/unary","t":"Unary (gRPC)","c":"Knowledge Base \u203a Test Profiles \u203a gRPC","d":"Measures unary gRPC call throughput over cleartext HTTP/2 using a simple GetSum remote procedure call.","x":"Measures unary gRPC call throughput over cleartext HTTP/2 (h2c) using a simple GetSum RPC. Implementation Guidelines Endpoint specification, expected request/response format, and type-specific rules. Validation All checks executed by the validation script for this test profile."},{"u":"test-profiles/grpc/unary/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a gRPC \u203a Unary (gRPC)","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the unary gRPC benchmark.","x":"Standard Tuned Engine Must use the standard gRPC library for the language with default configuration. No custom protobuf serialization. May optimize gRPC channel settings, thread pools, and use custom protobuf serialization. No specific rules. Ranked separately from frameworks. Measures unary gRPC call throughput over cleartext HTTP/2 (h2c). The server implements a simple GetSum RPC that adds two integers. Connections: 256, 1,024 Concurrent streams per connection: 100 Proto definition syntax = \"proto3\"; package benchmark; service BenchmarkService { rpc GetSum (SumRequest) returns (SumReply); } message SumRequest { int32 a = 1; int32 b = 2; } message SumReply { int32 result = 1; } Workload POST /benchmark.BenchmarkService/GetSum sent as a gRPC unary call over h2c. The load generator ( h2load ) sends pre-encoded protobuf frames with gRPC headers ( content-type: application/grpc , te: trailers ). The request payload is a 9-byte gRPC frame: 5-byte frame header + 4-byte protobuf-encoded SumRequest{a=1, b=2} . What it measures gRPC/HTTP2 frame processing overhead Protocol Buffers serialization/deserialization performance HTTP/2 stream multiplexing efficiency for gRPC Server-side gRPC service dispatch latency Expected request/response POST /benchmark.BenchmarkService/GetSum HTTP/2 content-type: application/grpc te: trailers HTTP/2 200 OK content-type: application/grpc grpc-status: 0 How it differs from HTTP/2 baseline Baseline (HTTP/2) Unary (gRPC) Protocol HTTP/2 over TLS gRPC over h2c Serialization Plain text Protocol Buffers Port 8443 8080 Request method GET POST Load generator h2load h2load (raw gRPC frames) Parameters Parameter Value RPC BenchmarkService/GetSum Connections 256, 1,024 Streams per connection 100 ( -m 100 ) Duration 5s Runs 3 (best taken) Load generator h2load"},{"u":"test-profiles/grpc/unary/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a gRPC \u203a Unary (gRPC)","d":"The correctness checks validate.sh runs against the unary gRPC benchmark before a framework's results are accepted.","x":"The gRPC unary profile does not have dedicated validation checks in validate.sh . Correctness is verified during the benchmark run itself: The load generator (h2load) sends pre-encoded protobuf SumRequest{a=1, b=2} frames and counts successful 2xx responses with grpc-status: 0 Failed responses (wrong protobuf encoding, missing trailers, non-zero grpc-status) are counted as errors and excluded from the RPS score Frameworks subscribed to unary-grpc must correctly implement the BenchmarkService/GetSum RPC as defined in the proto definition. The benchmark runner validates this implicitly through successful response counting."},{"u":"test-profiles/h1","t":"H/1.1","c":"Knowledge Base \u203a Test Profiles","d":"HTTP/1.1 profiles, split into isolated single-endpoint benchmarks and multi-endpoint workload mixes.","x":"H/1.1 test profiles are split into Isolated (single-endpoint benchmarks) and Workload (multi-endpoint realistic mixes). Isolated Single-endpoint benchmarks - baseline, JSON, upload, static files, and more. Workload Multi-endpoint mixes that exercise multiple code paths under realistic conditions."},{"u":"test-profiles/h1/isolated","t":"Isolated","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1","d":"Single-endpoint benchmarks that measure one dimension at a time: throughput, JSON serialization, uploads, static files and database access.","x":"Single-endpoint benchmarks that measure framework performance on one task at a time. Baseline Primary throughput benchmark with persistent keep-alive connections and mixed GET/POST workload. Short-lived Connection Connections closed after 10 requests, measuring TCP handshake and connection setup overhead. JSON Processing Loads a dataset, computes derived fields, and serializes a JSON response - testing real-world API workloads. JSON Compressed Same JSON workload with Accept-Encoding: gzip, br and a multiplier parameter - measures serialization plus compression throughput. JSON over TLS Same JSON workload transported over HTTP/1.1 + TLS on port 8081 - measures the cost of encryption on top of serialization. Upload (20 MB) Sends a 20 MB binary payload, server returns byte count. Measures body ingestion throughput. Async Database (Postgres) Async Postgres range query over 100K rows, connection pooling, and JSON serialization. Framework-only benchmark. Static Files Serves 20 static files - CSS, JS, HTML, fonts, images - over HTTP/1.1. Pipelined (16x) * 16 requests sent back-to-back per connection, testing raw I/O and pipeline batching. Reference-only - not part of the composite score. CRUD (REST API) Realistic REST API with paginated list, cached reads, create, and update against Postgres. Fortunes (Templates) * DB query + HTML template rendering with auto-escape. Reference-only - measures template-engine throughput, not part of the composite score."},{"u":"test-profiles/h1/isolated/async-database","t":"Async Database (Postgres)","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated","d":"Measures concurrent asynchronous Postgres queries over a network connection, exercising the framework's connection pooling and async I/O.","x":"Measures how efficiently a framework handles concurrent async database queries over a network connection with connection pooling. Implementation Guidelines Endpoint specification, expected request/response format, and type-specific rules. Validation All checks executed by the validation script for this test profile."},{"u":"test-profiles/h1/isolated/async-database/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated \u203a Async Database (Postgres)","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the async Postgres benchmark.","x":"Standard Tuned Engine Must use an async PostgreSQL driver with standard connection pooling. Size the pool from DATABASE_MAX_CONN (currently 256), not from CPU count. May use custom pool sizes, prepared statement caching, or driver-specific optimizations beyond defaults. No specific rules. The Async Database profile measures how efficiently a framework handles concurrent database queries over a network connection - exercising async I/O scheduling, connection pooling, and async Postgres driver efficiency. This test is for framework-type entries only - engines (nginx, h2o, etc.) are excluded. Connections: 1,024 How it works A Postgres container runs alongside the framework container on the same host, listening on localhost:5432 The framework reads the DATABASE_URL environment variable at startup and initializes a connection pool On each GET /async-db?min=10&max=50&limit=20 request, the framework: Parses min , max , and limit as integers (defaults: min=10 , max=50 , limit=50 ; limit clamped to 1\u201350) Executes an async range query with the parameterized LIMIT against the Postgres items table Restructures rating_score and rating_count into a nested rating object Serializes the result as JSON Returns Content-Type: application/json What it measures Async I/O scheduling - how efficiently the event loop handles network round-trips to Postgres while serving concurrent HTTP requests Connection pooling - maintaining and multiplexing a pool of Postgres connections across thousands of concurrent requests Async driver quality - the efficiency of the language's async Postgres driver (e.g., asyncpg , tokio-postgres , pg ) Result parsing + JSON serialization - converting Postgres rows to structured JSON with nested objects Database schema The items table in Postgres (100,000 rows): CREATE TABLE items ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, category TEXT NOT NULL, price INTEGER NOT NULL, quantity INTEGER NOT NULL, active BOOLEAN NOT NULL, tags JSONB NOT NULL, rating_score INTEGER NOT NULL, rating_count INTEGER NOT NULL ); -- No index on price - forces sequential scan SQL query SELECT id, name, category, price, quantity, active, tags, rating_score, rating_count FROM items WHERE price BETWEEN $1 AND $2 LIMIT $3 Expected response GET /async-db?min=10&max=50&limit=20 HTTP/1.1 { \"items\": [ { \"id\": 42, \"name\": \"Alpha Widget 42\", \"category\": \"electronics\", \"price\": 30, \"quantity\": 5, \"active\": true, \"tags\": [\"fast\", \"new\"], \"rating\": { \"score\": 42, \"count\": 127 } } ], \"count\": N } All numeric fields ( price , quantity , rating.score , rating.count ) are integers - no floats anywhere. The count field must be dynamically computed from the number of returned items, not hardcoded. When Postgres is unavailable or the query returns no rows, return: {\"items\":[],\"count\":0} Environment variables The benchmark runner provides these environment variables to your container: Variable Value Description DATABASE_URL postgres://bench:bench@localhost:5432/benchmark Postgres connection string. Always read from this - never hardcode. DATABASE_MAX_CONN 256 Maximum connections allowed by the Postgres instance. Use this to size your connection pool. May be lower for CPU-constrained tests (e.g. API-4, API-16). Implementation notes Async driver required - use your language's async Postgres driver (e.g., asyncpg for Python, tokio-postgres for Rust, pg for Node.js, r2d2 / deadpool for connection pools) Connection pool - initialize a pool at startup. Size it from DATABASE_MAX_CONN (currently 256). Going higher than that will cause Postgres to reject connections under load Prepared statements - prepare the query once per connection, reuse across requests Default parameters - all three query parameters are integers. If min or max is missing, default to 10 and 50 . If limit is missing, default to 50 . Clamp limit to the range 1\u201350 Integer types matter - price and rating_score are INTEGER columns. Read them as i32 / int /equivalent - using f64 / double will fail with type-mismatch errors in strict drivers like tokio-postgres Tags are JSONB - Postgres returns them as native JSON, no string parsing needed Important: environment variables and initialization Never hardcode connection details. Always read DATABASE_URL for the connection string and DATABASE_MAX_CONN for pool sizing. The benchmark runner starts Postgres and waits for the seed data to be fully loaded before starting your framework container. By the time your server starts, Postgres is ready and accepting connections. Recommended: lazy initialization with retry. As a safety net, handle the case where the initial connection fails gracefully. Do not crash the server - return the empty fallback response and retry on the next request. # Pseudocode pg_pool = null on_startup: try: pg_pool = connect(DATABASE_URL) catch: pg_pool = null # don't crash on_request /async-db: if pg_pool is null: try: pg_pool = connect(DATABASE_URL) catch: return {\"items\":[],\"count\":0} try: return query(pg_pool) catch: pg_pool = null; return {\"items\":[],\"count\":0} Parameters Parameter Value Endpoint GET /async-db?min=X&max=Y&limit=N Limits 5, 10, 20, 35, 50 (rotated with -r 25 ) Connections 1,024 Pipeline 1 Duration 10s Runs 3 (best taken) Database Postgres 18 (Debian, glibc), 100,000 rows, no index on price"},{"u":"test-profiles/h1/isolated/async-database/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated \u203a Async Database (Postgres)","d":"The correctness checks validate.sh runs against the async Postgres benchmark before a framework's results are accepted.","x":"The following checks are executed by validate.sh for every framework subscribed to the async-db test. A Postgres sidecar container is started automatically before these checks run. Response structure with varying limits Sends GET /async-db?min=M&max=N&limit=L with varying price ranges and limits (different from the benchmark values to prevent hardcoded responses). Tested combinations: min=5&max=80&limit=7 , min=20&max=150&limit=18 , min=100&max=400&limit=33 , min=10&max=50&limit=50 . For each request, verifies: Item count equals the requested limit Every item has a nested rating object with a score field Every item has a tags field that is an array Every item has an active field that is a boolean ( true / false ) Content-Type header Sends GET /async-db?min=10&max=50&limit=50 and verifies the Content-Type response header is application/json . Anti-cheat: empty range Sends GET /async-db?min=9999&max=9999&limit=50 (a price range with no matching items) and verifies the response has count equal to 0 . This detects hardcoded responses or implementations that ignore the query parameters."},{"u":"test-profiles/h1/isolated/baseline","t":"Baseline","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated","d":"The primary throughput benchmark: one request at a time per connection over persistent keep-alive connections.","x":"The primary throughput benchmark. Each connection sends one request at a time over persistent keep-alive connections. Implementation Guidelines Endpoint specification, expected request/response format, and type-specific rules. Validation All checks executed by the validation script for this test profile."},{"u":"test-profiles/h1/isolated/baseline/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated \u203a Baseline","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/1.1 baseline throughput benchmark.","x":"Standard Tuned Engine Must use the framework standard HTTP server with default configuration. No custom TCP tuning, no experimental flags, no worker count beyond framework defaults. May adjust worker counts, thread pools, TCP socket options, and use framework-specific performance flags. Custom buffer sizes allowed. No specific rules. Ranked separately from frameworks. The primary throughput benchmark. Each connection sends one request at a time over persistent keep-alive connections. Connections: 512, 4,096 CPU limit: 64 threads (container pinned to cores 0-31, 64-95 via --cpuset-cpus ) Workload A mix of three request types, rotated across connections: GET /baseline11?a=13&b=42 - query parameter parsing, response: sum of values POST /baseline11?a=13&b=42 with Content-Length body - query params + body parsing POST /baseline11?a=13&b=42 with chunked Transfer-Encoding body - chunked decoding This exercises the full HTTP handling path: request line parsing, header parsing, query string extraction, body reading (both Content-Length and chunked), integer arithmetic, and response serialization. Expected request/response GET - sum of query parameters: GET /baseline11?a=13&b=42 HTTP/1.1 HTTP/1.1 200 OK Content-Type: text/plain 55 POST with body - sum of query parameters + body: POST /baseline11?a=13&b=42 HTTP/1.1 Content-Type: text/plain Content-Length: 2 20 HTTP/1.1 200 OK Content-Type: text/plain 75 What it measures Raw request throughput under ideal conditions Full HTTP parsing pipeline performance Keep-alive connection handling efficiency How frameworks scale with increasing connection counts"},{"u":"test-profiles/h1/isolated/baseline/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated \u203a Baseline","d":"The correctness checks validate.sh runs against the HTTP/1.1 baseline throughput benchmark before a framework's results are accepted.","x":"The following checks are executed by validate.sh for every framework subscribed to the baseline or limited-conn test. GET with query parameters Sends GET /baseline11?a=13&b=42 and verifies the response body is 55 (sum of a and b ). POST with Content-Length body Sends POST /baseline11?a=13&b=42 with body 20 and Content-Type: text/plain . Verifies the response body is 75 (sum of a , b , and body). POST with chunked Transfer-Encoding Sends POST /baseline11?a=13&b=42 with body 20 and Transfer-Encoding: chunked . Verifies the response body is 75 . Anti-cheat: randomized query parameters Generates random values for a and b (100-999), sends GET /baseline11?a={a}&b={b} , and verifies the response matches the expected sum. This detects hardcoded responses. Anti-cheat: POST body cache detection Sends two POST requests with different random body values to the same endpoint ( /baseline11?a=13&b=42 ). Verifies each response reflects the correct sum for that specific body. This detects response caching or hardcoded POST handling. Request 1: body= {random1} - expects 13 + 42 + random1 Request 2: body= {random2} - expects 13 + 42 + random2 TCP fragmentation Each request below is sent over a raw TCP socket ( TCP_NODELAY , no Nagle coalescing) in multiple sendall() writes with a 30 ms pause between fragments. Every framework's HTTP parser must reassemble these partial reads and produce the correct response. Simulates realistic network behavior - slow clients, small MTU, intermediate proxies that chunk data. Every fragmented request sets Connection: close so the server closes the socket after the response and the test can read until EOF. Split request line - the request line arrives in two halves ( \"GET /baseli\" + \"ne11?a=13&b=42 HTTP/1.1\\r\\n\u2026\" ). The parser sees an incomplete method/path on the first recv() . Expects body 55 . Split before headers - the request line arrives in one write, then each header line arrives in its own write ( Host: , User-Agent: , Connection: ). Expects body 55 . POST split headers/body - the full header block (including terminating \\r\\n\\r\\n ) is one write, then the body arrives in a separate write after the pause. Expects body 75 . POST split body bytes - headers in one write, then the 2-byte body ( \"20\" ) arrives as two 1-byte writes. Stresses the parser's ability to reassemble a Content-Length body across multiple recv() calls. Expects body 75 ."},{"u":"test-profiles/h1/isolated/crud","t":"CRUD (REST API)","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated","d":"A realistic REST API workload against Postgres: paginated list, cached single-item read, create and update, with cache-aside invalidation.","x":"Realistic REST API benchmark with paginated list, cached single-item read, create, and update operations against Postgres. Implementation Guidelines Endpoint specification, expected request/response format, and type-specific rules. Validation All checks executed by the validation script for this test profile."},{"u":"test-profiles/h1/isolated/crud/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated \u203a CRUD (REST API)","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the CRUD REST API benchmark.","x":"Standard Tuned Engine Must use a standard async Postgres driver with connection pooling. Cache-aside with 200 ms absolute TTL on single-item reads, invalidated on PUT. In-process cache is the default; multi-process runtimes (e.g. SO_REUSEPORT with one process per core) may use the provided Redis sidecar for a shared cache. No pre-warming or background refresh. May use custom pool sizes, prepared statements, multi-tier caches, or any cache backend including the Redis sidecar. No specific rules. The CRUD profile benchmarks a realistic REST API with four operations against Postgres: paginated list, cached single-item read, create (upsert), and update with cache invalidation. This test is for framework-type entries only - engines (nginx, h2o, etc.) are excluded. Connections: 4096 Endpoints GET /crud/items - Paginated list Accepts query parameters: category (string, default \"electronics\" ) - filter by category page (integer, default 1 ) - page number (1-indexed) limit (integer, default 10 , max 50 ) - items per page Executes a single SQL query: SELECT ... FROM items WHERE category = $1 ORDER BY id LIMIT $2 OFFSET $3 \"Load-more\" pagination: the response returns the items on the requested page. The total field reports the number of items in this response (equivalent to the client's items.length ) - not the full-filter row count. A separate SELECT COUNT(*) was originally part of the spec but removed because concurrent writes kept the visibility map dirty, making it ~90% of Postgres CPU for a value most real-world list APIs either skip or compute out-of-band. Returns: { \"items\": [ { \"id\": 42, \"name\": \"Alpha Widget 42\", \"category\": \"electronics\", \"price\": 30, \"quantity\": 5, \"active\": true, \"tags\": [\"fast\", \"new\"], \"rating\": { \"score\": 42, \"count\": 127 } } ], \"total\": 10, \"page\": 1, \"limit\": 10 } GET /crud/items/{id} - Single item read (cached) Reads a single item by ID using a cache with 200 ms absolute expiration. Cache backend options: In-process (e.g. IMemoryCache , HashMap , sync.Map ) - the default. Works for single-process frameworks and for multi-threaded runtimes that share a heap. Redis (the provided sidecar at REDIS_URL ) - for multi-process frameworks (Bun with reusePort , PHP FPM, Python with uWSGI workers, etc.) where a per-process cache would fragment the working set. Cache the pre-serialized JSON body so HIT responses skip re-serialization. Behavior: On cache miss: query Postgres, populate cache, return item with X-Cache: MISS header On cache hit: return cached item with X-Cache: HIT header If item not found: return HTTP 404 { \"id\": 1, \"name\": \"Alpha Widget 1\", \"category\": \"electronics\", \"price\": 30, \"quantity\": 5, \"active\": true, \"tags\": [\"fast\", \"new\"], \"rating\": { \"score\": 42, \"count\": 127 } } POST /crud/items - Create item Accepts a JSON body: { \"id\": 200001, \"name\": \"New Product\", \"category\": \"test\", \"price\": 25, \"quantity\": 10 } Inserts into Postgres with ON CONFLICT (id) DO UPDATE (upsert). Returns HTTP 201 with the created item. PUT /crud/items/{id} - Update item Accepts a JSON body: { \"name\": \"Updated Name\", \"price\": 30, \"quantity\": 5 } Updates the item in Postgres and invalidates the cache entry for the updated ID (from whichever cache backend is in use). Returns HTTP 200 with the updated fields. Returns 404 if the item doesn't exist. What it measures Connection pooling - maintaining a Postgres connection pool under mixed read/write load Cache-aside correctness - cache hit/miss with TTL-based expiration and write-through invalidation, whether the cache is in-process or external Query diversity - paginated list queries mixed with high-rate single-item lookups, inserts, and updates running concurrently JSON parsing and serialization - deserializing request bodies (POST/PUT) and serializing response payloads Workload mix The load generator (gcannon) rotates across 20 raw HTTP templates. Each connection reconnects every 200 requests ( -r 200 ) so templates rotate within a connection's lifetime rather than sticking to whichever template it first picked. Operation Templates Weight ID distribution Read (GET /crud/items/{id}) 15 75% Random IDs via {RAND:1:50000} Update (PUT /crud/items/{id}) 3 15% Random IDs via {RAND:1:50000} List (GET /crud/items) 1 5% category=office , random page via {RAND:1:10} (OFFSET \u2208 0..90) Create (POST /crud/items) 1 5% Sequential IDs via {SEQ:100001} - iteration 1 is pure INSERT, iterations 2+ upsert via ON CONFLICT (gcannon resets the counter per invocation) Environment variables Variable Value Description DATABASE_URL postgres://bench:bench@localhost:5432/benchmark Postgres connection string DATABASE_MAX_CONN 256 Hint for pool sizing. Frameworks should honor this rather than hardcoding. REDIS_URL redis://localhost:6379 Optional - present when the harness runs the crud profile. Use only if the framework's architecture (multi-process) needs a shared cache. Parameters Parameter Value Connections 4096 Pipeline 1 Requests per connection 200 (then reconnect) CPU limit (server) 62 threads (cores 1-31, 65-95) CPU limit (Redis sidecar, when used) 2 threads (cores 0, 64), --io-threads 2 Duration 15s per run Runs 3 (best taken) Database Postgres 18 (Debian/glibc), 100,000 rows, max_connections=256 , tmpfs-backed"},{"u":"test-profiles/h1/isolated/crud/validation","t":"Validation","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated \u203a CRUD (REST API)","d":"The correctness checks validate.sh runs against the CRUD REST API benchmark before a framework's results are accepted.","x":"The following checks are executed by validate.sh for every framework subscribed to the crud test. A Postgres sidecar container is started automatically before these checks run. List pagination Sends GET /crud/items?category=electronics&page=1&limit=5 and verifies: Exactly 5 items returned total field is present and greater than 0 (with load-more semantics, total equals the returned item count, so a successful response with 5 items satisfies this) page equals 1 Every item has a nested rating object Single item read Sends GET /crud/items/1 and verifies the response contains id equal to 1 . Cache-aside (MISS then HIT) Sends two consecutive GET /crud/items/42 requests and checks the X-Cache response header: First request must return X-Cache: MISS Second request must return X-Cache: HIT Not found Sends GET /crud/items/999999 and verifies the response status is HTTP 404. Create (POST) Sends POST /crud/items with body {\"id\":200001,\"name\":\"Bench Test\",\"category\":\"test\",\"price\":25,\"quantity\":10} and verifies: Response status is HTTP 201 Read back created item Sends GET /crud/items/200001 and verifies the response contains id equal to 200001 . Update with cache invalidation Warms the cache with GET /crud/items/200001 Sends PUT /crud/items/200001 with updated fields and verifies HTTP 200 Sends GET /crud/items/200001 and verifies X-Cache: MISS (cache was invalidated by the PUT)"},{"u":"test-profiles/h1/isolated/fortunes","t":"Fortunes (Templates)","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated","d":"Database-backed HTML rendering end to end: a Postgres read, runtime row injection, sorting and escape-aware template output.","x":"Database-backed HTML rendering benchmark - measures template-engine throughput end-to-end: Postgres read, runtime row injection, sort, escape-aware HTML rendering. Reference-only profile (not part of the composite score). Implementation Guidelines Endpoint specification, expected output, and type-specific rules. Validation All checks executed by the validation script for this test profile."},{"u":"test-profiles/h1/isolated/fortunes/implementation","t":"Implementation Guidelines","c":"Knowledge Base \u203a Test Profiles \u203a H/1.1 \u203a Isolated \u203a Fortunes (Templates)","d":"Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Fortunes template rendering benchmark.","x":"Standard Tuned Engine Must render the response with a real template engine - one with a documented templating syntax, variable interpolation, control flow (loop/if), and HTML auto-escaping by default. Examples: Razor / Razor Pages / Razor Components, Jinja2, ERB, Twig, Blade, html/template, Thymeleaf, Freemarker, Handlebars, Pug, Liquid, Tera, Askama, Maud, templ. The template must be a separate artifact (file, embedded resource, or compile-time component) - not inline string concatenation in the handler. No pre-rendered or cached response bodies; the template must execute per request. May use any rendering strategy, including hand-rolled string concatenation, custom HTML emitters, StringBuilder / Buffer-based builders, byte-slice writers, or compile-time templating with framework-specific source generators. The handler must still query the database, append the runtime-injected row in memory, sort, and HTML-escape user content per request - pre-rendered response bodies and bypass-the-engine response caches are not allowed on either type. The runtime row's text is fixed, but the page still must be rendered per request because validation reads the body byte-for-byte. No specific rules. Engines without an HTTP application layer typically don't subscribe to this profile. The Fortunes profile measures template-engine throughput on a realistic page-rendering pipeline: query 200 rows from Postgres, append a runtime row in memory, sort, and render an HTML page via the framework's chosen template engine. Diverges from TechEmpower Fortunes (12-row spec) by design. With only 12 rows the per-request render time is dwarfed by the PG round-trip, so the profile ends up measuring the database driver more than the template engine. Bumping the seed to 200 rows scales render cost linearly while leaving query cost effectively constant (still one round-trip, still single-page table read), shifting the bottleneck from PG-throughput to framework-CPU - which is what the profile name actually claims to measure. This test is reference-only - it does not contribute to the composite score. It exists for engine-to-engine comparison (Razor vs Jinja2 vs ERB vs Askama, etc.), not framework ranking. Frameworks without a template engine should leave it out of meta.json.tests . Connections: 1,024 How it works A Postgres container runs alongside the framework container on the same host, listening on localhost:5432 . The same connection pool used by async-db / crud is shared. On each GET /fortunes request the framework: Reads all 200 rows from the fortune table ( id , message ). Appends a runtime row in memory: { id: 0, message: \"Additional fortune added at request time.\" } - total 201 rows. Sorts the combined list by message using ASCII / ordinal byte order (not locale-aware). Renders an HTML page containing a with one per fortune. Returns Content-Type: text/html (with optional ; charset=utf-8 ). The runtime-injected row is the load-bearing design decision - it forces the rendered HTML to differ structurally from the raw DB result, which makes \"cache the whole page once and serve bytes\" optimizations invalid. What it measures Template engine throughput - interpolation, loop expansion, layout/partial composition. HTML escape correctness - row 11 contains a raw as the message of row 11. The validator asserts: Body contains <script> (the escape happened), AND Body does NOT contain the raw as the message of row 11. The validator asserts: Body contains <script> (the escape happened), AND Body does NOT contain the raw