A reproducible benchmark harness for synthetic paper pipelines. It reports client round-trip and server-stage distributions without placing an order, loading a credential, or contacting a broker.
This repository intentionally does not claim to measure live signal-to-broker latency. Live measurements require separately documented clocks, regions, queues, broker acknowledgements, sample windows, and failure accounting.
Terminal 1:
PYTHONPATH=src python -m pipsync_latency_bench.cli serveTerminal 2:
PYTHONPATH=src python -m pipsync_latency_bench.cli run --samples 100The bundled server binds only to a numeric loopback address. Before any measured
POST, the runner performs a redirect-free /health preflight and requires the
bundled server's synthetic-paper-v1 marker. Requests contain no instrument,
direction, price, credential, or order-like payload. The server returns SIM-
tickets and affirms synthetic-paper mode.
- Client HTTP round-trip: min, median, mean, p95, p99, max
- Synthetic server stages: parse, risk, route, simulator acknowledgement, total
- Warm-up samples excluded from the report
Server-stage durations come from differences on the server's monotonic clock. Client round-trip uses the client's monotonic clock; the tool never subtracts clocks from different machines.
Remote targets are not supported. The runner accepts only plain HTTP URLs with a
numeric loopback host and the exact /simulate path. It rejects userinfo, query
strings, fragments, DNS hostnames, redirects, and endpoints that do not pass the
bundled-server preflight; environment-configured HTTP proxies are disabled. This
boundary is intentional: a response received after an order-like POST could never
prove that the POST was side-effect free.
PYTHONPATH=src python -m unittest discover -s tests -vLocal synthetic round trips are useful for harness validation, not production performance claims. PipSync publishes the methodology and qualified hosted measurements on the latency evidence page.
Apache-2.0.