> Section: [11. Project](https://jaque.sh/docs/project/status.md)
> Next: project/roadmap
> Index: https://jaque.sh/llms.txt


These numbers come from soak runs of `scripts/bench.sh`, one cell per
row, read from the summary each run writes.

## Machine

| | |
|---|---|
| CPU(s) | 12 |
| Model | Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz |
| Cores / threads | 6 cores, 2 threads per core, 1 socket |
| Kernel | 7.1.10-200.fc44.x86_64 |

## Parameters

Every cell below shares these parameters:

- `soak_seconds`: 900
- `global_concurrency`: 50, `host_concurrency`: 4 (every host in the
  synthetic estate shares one address, so `host_concurrency` binds
  nothing here)
- `ticks_per_second`: 100
- harness: `just bench-matrix`

## Results

| cell | profile | objects | drift p50 (s) | drift p99 (s) | drift max (s) | queue depth max | checks executed | check timeouts | cpu % mean |
|---|---|---|---|---|---|---|---|---|---|
| tcp-10000 | tcp | 10000 | 0.003 | 0.025 | 2.500 | 10000 | 150800 | 0 | 25.0 |
| exec-10000 | exec | 10000 | 0.003 | 0.005 | 0.100 | 10000 | 150315 | 0 | 25.0 |
| tcp-50000-batched | tcp | 50000 | 0.003 | 0.113 | 1.000 | 50000 | 754276 | 0 | 81.0 |
| tcp-50000-sync | tcp | 50000 | 0.005 | 0.371 | 5.000 | 49272 | 207630 | 0 | 35.5 |

`tcp-50000-batched` and `tcp-50000-sync` differ in whether the event log
groups concurrent decisions into one append (batched) or flushes one per
decision (sync); batched is the shipped default. The `tcp-10000` and
`exec-10000` rows are the run taken after that batched/sync comparison.
Two further fixes landed afterwards, a config loading change and a
scheduling fix, each verified with its own narrower measurement (memory
allocation, load time, CPU share) rather than a re-run of this table.

## Reproducing a cell

```
scripts/bench.sh <profile> <objects> [soak_seconds]
```

`profile` is `tcp` or `exec`, `objects` is a positive even integer (half
hosts, half services), and `soak_seconds` defaults to 900. `just
bench-matrix` runs the baseline matrix in sequence.
