diff --git a/frameworks/zix-grpc/Dockerfile b/frameworks/zix-grpc/Dockerfile index 1d3ed6fa1..0a095f82d 100644 --- a/frameworks/zix-grpc/Dockerfile +++ b/frameworks/zix-grpc/Dockerfile @@ -5,7 +5,7 @@ ARG RETRY=6 ARG TARGETARCH ARG RETRY_DELAY=3 ARG ZIG_VERSION=0.16.0 -ARG ZIX_VERSION=0.4.x +ARG ZIX_VERSION=0.4.x-rc3 RUN apk add --no-cache ca-certificates curl git tar xz RUN set -eu; \ @@ -19,9 +19,9 @@ RUN set -eu; \ mv "/opt/zig-${ZIG_ARCH}-linux-${ZIG_VERSION}" /opt/zig ENV PATH="/opt/zig:${PATH}" -# Vendor zix 0.4.x, separate layer so source-only rebuilds skip the fetch. +# Vendor zix X.Y.Z, separate layer so source-only rebuilds skip the fetch. # The Http1 raw engine work this image needs (large-body drain plus the per-worker -# response cache used by the /json endpoint) must be present on the 0.4.x branch. +# response cache used by the /json endpoint) must be present on the X.Y.Z branch. # Four ordered attempts before giving up: curl the archive tarball from github then # codeberg, then a shallow git clone from github then codeberg. The github archive # redirects to codeload.github.com (which the benchmark runner may not resolve), so diff --git a/frameworks/zix-grpc/meta.json b/frameworks/zix-grpc/meta.json index 2e090dc69..4aac2379e 100644 --- a/frameworks/zix-grpc/meta.json +++ b/frameworks/zix-grpc/meta.json @@ -3,7 +3,7 @@ "language": "Zig", "type": "engine", "engine": "zix", - "description": "Zig gRPC h2c server using the zix network backend library. Shared-nothing io_uring: each worker owns its own ring and listener, multiplexing streams per connection. Implements GetSum (unary) and StreamSum (server-streaming).", + "description": "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).", "repo": "https://codeberg.org/prothegee/zix", "enabled": true, "tests": [ diff --git a/frameworks/zix-grpc/src/main.zig b/frameworks/zix-grpc/src/main.zig index 3923ca3e9..3c8305303 100644 --- a/frameworks/zix-grpc/src/main.zig +++ b/frameworks/zix-grpc/src/main.zig @@ -1,5 +1,4 @@ //! HttpArena: zix-grpc -//! zix version: 0.4.x //! //! zix HttpArena gRPC (h2c) entry point. //! diff --git a/site/data/frameworks.json b/site/data/frameworks.json index 7e9620a6a..4e2ca1dde 100644 --- a/site/data/frameworks.json +++ b/site/data/frameworks.json @@ -901,7 +901,7 @@ }, "zix-grpc": { "dir": "zix-grpc", - "description": "Zig gRPC h2c server using the zix network backend library. Shared-nothing io_uring: each worker owns its own ring and listener, multiplexing streams per connection. Implements GetSum (unary) and StreamSum (server-streaming).", + "description": "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).", "repo": "https://codeberg.org/prothegee/zix", "type": "engine", "engine": "zix" diff --git a/site/data/stream-grpc-64.json b/site/data/stream-grpc-64.json index 55b277b75..190dc6588 100644 --- a/site/data/stream-grpc-64.json +++ b/site/data/stream-grpc-64.json @@ -59,18 +59,18 @@ { "framework": "zix-grpc", "language": "Zig", - "rps": 8468000, - "avg_latency": "146.13ms", - "p99_latency": "385.19ms", - "cpu": "37.9%", - "memory": "141MiB", + "rps": 8504000, + "avg_latency": "146.01ms", + "p99_latency": "441.82ms", + "cpu": "35.6%", + "memory": "139MiB", "connections": 64, "threads": 64, "duration": "5s", "pipeline": 1, "bandwidth": "0", "reconnects": 0, - "status_2xx": 8468, + "status_2xx": 8504, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/unary-grpc-1024.json b/site/data/unary-grpc-1024.json index 7890ca6a0..4b91a19a9 100644 --- a/site/data/unary-grpc-1024.json +++ b/site/data/unary-grpc-1024.json @@ -157,18 +157,18 @@ { "framework": "zix-grpc", "language": "Zig", - "rps": 7122075, - "avg_latency": "7.63ms", - "p99_latency": "84.09ms", - "cpu": "3008.6%", + "rps": 6938181, + "avg_latency": "8.26ms", + "p99_latency": "103.84ms", + "cpu": "4092.8%", "memory": "1.2GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "453.67MB/s", + "bandwidth": "441.96MB/s", "reconnects": 0, - "status_2xx": 36037700, + "status_2xx": 35107200, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/unary-grpc-256.json b/site/data/unary-grpc-256.json index 51682e375..9cd76f194 100644 --- a/site/data/unary-grpc-256.json +++ b/site/data/unary-grpc-256.json @@ -157,18 +157,18 @@ { "framework": "zix-grpc", "language": "Zig", - "rps": 7239103, - "avg_latency": "2.22ms", - "p99_latency": "45.43ms", - "cpu": "2927.0%", - "memory": "394MiB", + "rps": 7039761, + "avg_latency": "2.43ms", + "p99_latency": "25.63ms", + "cpu": "3956.5%", + "memory": "393MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "457.47MB/s", + "bandwidth": "445.76MB/s", "reconnects": 0, - "status_2xx": 36340300, + "status_2xx": 35410000, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0