Performance
Fast enough to call on every step.
Context selection takes microseconds, and the action log appends and verifies hundreds of thousands to millions of events per second, in memory. Every figure below is a median with its full range and raw files.
1.67µsHarpe, 10 items10 context items, 60-token budget, 2,000 calls. Median, range 1.64–1.72 µs over 5 runs.Evidence
34.78µsHarpe, 200 items200 context items, 1,500-token budget, 500 calls. Median, range 34.51–35.93 µs over 5 runs.Evidence
893,679events/sArgus appends1,000,000 appends through the public API, in memory. Median, range 886,397–897,344 events/s over 5 runs.Evidence
2,605,457events/sArgus verificationFull re-verification of all 1,000,000 events from the first event. Median, range 2,576,361–2,673,097 events/s over 5 runs.Evidence
Harpe: context selection
| Measurement | Median | Range | Raw data |
|---|---|---|---|
| Harpe call time, 10 items (median call) 10 context items, 60-token budget, 2,000 calls; p50 of the calls in one run | 1.67 µs | 1.64–1.72 | run1 run2 run3 run4 run5 · source · details |
| Harpe call time, 200 items (median call) 200 context items, 1,500-token budget, 500 calls; p50 of the calls in one run | 34.78 µs | 34.51–35.93 | run1 run2 run3 run4 run5 · source · details |
| Average Harpe time per simulated turn 100,000 turns; includes building each turn's item list | 44.9 µs | 44.6–45.3 | run1 run2 run3 run4 run5 · source · details |
Argus: append and verify
| Measurement | Median | Range | Raw data |
|---|---|---|---|
| Appends per second 1,000,000 appends through the public API, in memory; each validated, timestamped and SHA-256 chained | 893,679 events/s | 886,397–897,344 | run1 run2 run3 run4 run5 · source · details |
| Average time per append 1,000,000 appends, in memory | 1.12 µs | 1.11–1.13 | run1 run2 run3 run4 run5 · source · details |
| Verification speed Full re-verification of all 1,000,000 events from the first event | 2,605,457 events/s | 2,576,361–2,673,097 | run1 run2 run3 run4 run5 · source · details |
| Verification speed with an anchor 10,000 events verified against a recorded head (sequence number and hash) | 2,660,694 events/s | 2,480,960–2,697,836 | run1 run2 run3 run4 run5 · source · details |
| Time to reach and report the edit Verification walks from event 1 to the edit at event 500,000, in memory | 183.9 ms | 182.4–185.7 | run1 run2 run3 run4 run5 · source · details |
Kibisis: leases and writes
| Measurement | Median | Range | Raw data |
|---|---|---|---|
| Lease operations per second, 16 threads 16 threads, one shared lease, in-memory coordinator in one process. The benchmark asks for a 50 ms lease; the coordinator stores deadlines in whole seconds and rounds up, so a lease lasts at least its TTL and at most one second longer | 1,608,796 ops/s | 1,534,545–1,881,954 | run1 run2 run3 run4 run5 · source · details |
| Lease operations per second, 32 threads 32 threads, one shared lease, in-memory coordinator in one process. The benchmark asks for a 50 ms lease; the coordinator stores deadlines in whole seconds and rounds up, so a lease lasts at least its TTL and at most one second longer | 1,813,258 ops/s | 1,465,492–1,856,764 | run1 run2 run3 run4 run5 · source · details |
| Vault writes per second (in memory) 10,000 writes to the Rust in-memory vault, each hashed into its audit journal; no disk and no encryption in this measurement | 338,841 ops/s | 315,304–342,238 | run1 run2 run3 run4 run5 · source · details |
Method
How these numbers were measured. Each figure is the median of 5 runs of the telarch-benchmarks programs at release tag v0.1.0-alpha.4, with the range of all runs beside it. 13th Gen Intel Core i5-13500, 20 logical CPUs, Linux 6.18, rustc 1.97.1, pinned to the performance-core threads (CPUs 0-11). Shared server, not isolated; each run started only after the 1-minute load average was below 4 on two checks 20 s apart. Synthetic data; real workloads will differ. Raw output of every run.
- Times are wall-clock inside the benchmark programs, on a shared server; the range column shows how much runs varied.
- Throughput figures are in memory. Disk, encryption and network are not part of these numbers unless the row says so.
- Reproduce any row with the command on the evidence page.