Liking cljdoc? Tell your friends :D

Phase 9 Performance Baseline

English counterpart of PERFORMANCE_BASELINE.md. | Türkçe

Environment

  • Date: 2026-08-18
  • Java: Temurin/OpenJDK 25.0.4
  • Clojure: 1.12.5
  • Operating system: Windows
  • Commands: clojure -M:benchmark, clojure -M:soak
  • Network: both tests run entirely in-process; they do not measure Binance latency.

Each microbenchmark performs 30 × 1,000 measured operations after 5,000 warmup operations. p50/p95 are calculated from nanoseconds-per-operation samples for each batch. Results are release regression references and vary with CPU, JVM warmup, and system load.

Microbenchmark

Scenariop50 ns/opp95 ns/opApprox. throughput/sec
Bounded buffer offer/poll9951,7511,004,823
HMAC WebSocket signing125,442176,8457,971
Market JSON parse + normalize11,20516,01289,243
User event normalize8,86410,312112,812

Short Soak

A ten-second single-producer/single-consumer loop combined executionReport normalization with bounded queue offer/poll:

MeasurementResult
Events processed1,383,948
Messages/sec138,394
Final queue depth0
Dropped events0
Thread delta0
Post-GC heap delta2,024 bytes

Interpretation and Limits

  • This local baseline shows capacity well above expected manual-trading bot load; it is not a production-throughput guarantee.
  • HMAC measurement excludes signer construction and measures one payload signature with a reusable client signer.
  • REST latency depends heavily on the Internet path and Testnet load. One acceptance run cannot define an SLA.
  • RSS/CPU/GC profiling is outside this short dependency-free gate. Run long production soak and profiler work in the bot deployment environment.
  • A p95 increase above 2× on the same machine, or any soak drop/thread growth, warrants investigation; no rigid automatic performance threshold is enforced.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close