mix lemon.bench (lemon_core v0.1.0)

View Source

Runs the benchmark suites in bench/ and prints their results.

These measure platform primitives — store throughput, bus fanout, coalescer burst absorption, per-conversation process lifecycle — not model quality. For model behaviour see the simulation arenas (mix sim.bench).

Usage

mix lemon.bench              # every suite
mix lemon.bench store        # one suite
mix lemon.bench bus process  # several

Suites

  • storeLemonCore.Store put/get/list, ETS vs SQLite, one instance vs several
  • busLemonCore.Bus fanout by subscriber count, PubSub vs Registry
  • coalescer — stream and tool-status coalescers under burst
  • process — registry-named GenServer spawn, lookup and memory

Notes

Each suite runs in its own VM via mix run --no-start, for two reasons: nothing in the umbrella starts unless a suite starts it deliberately, and no suite inherits another's leftover processes.

Results are written to stdout. Published numbers, with the caveats that belong next to them, live in docs/benchmarks/platform.md.

These are deliberately not part of any CI lane — see the rationale in that document.