This repository has no description
Zig 37%
Rust 26%
Go 19%
Python 14%
Just 3%
Elixir 1%
Shell <1%

README.md

atproto-bench #

Correctness and performance evaluation for AT Protocol primitives. Shared fixtures compare work across Zig, Go, Rust, Python, and Elixir. Jetstream client conformance and end-to-end measurements now live in the SDK repository, where CI builds the actual checkout under test.

design #

  • correctness before speed — compare events, errors, cursors, and work counts before interpreting throughput differences.
  • shared inputs — use deterministic local fixtures for conformance and the same captured corpus for comparable performance workloads.
  • explicit boundaries — separate SDK primitives, client behavior, and service performance; a decoder timing does not establish end-to-end throughput.
  • reproducible comparisons — pin references, record toolchains, alternate measured runs, and keep setup and compilation outside timing.

develop #

Install just and the toolchains for the lanes you run: Zig 0.16, Go, Rust, Python/uv, or Elixir. Dependency downloads require internet.

just --list                    # available workloads and fixture capture commands
just bench-jetstream-compression # paired local decode timings
just bench-mst                 # synthetic Merkle-tree comparison

Other workloads need captured fixtures; run their corresponding capture-* recipe first. Capture, trust-chain verification, and stress commands access live services. Set ZIG=/path/to/zig to choose a compiler.

docs #

See docs/ for workload contracts, historical results, methodology, and historical Jetstream comparisons. Measurements retain their original versions and context rather than serving as a current universal ranking.