Benchmarks

fs-bench-pro

Agent filesystem workflows on a real Store: forking and merging Branches, editing files of every size, dedup across Branches, reading old history and mixed load. Each case runs once (seed 1) from a cloned prepared input, and an independent proof checks what it produced. The suite now lives in benchmark/fs-bench-pro, frozen and broken: it does not run at HEAD until it is reopened. The v0.1.4 to v0.1.6 results below were measured by its v0.1.6-era predecessor against the reference implementation retired in R9c (reproducible from tag reference-v0.1.6-final); 1.0.0 results wait on issue #332.

LayerFS against per-case targets

vs per-case targets
KindAgent workloadsCommit & historyLayerFS suitelegacy
LayerFSv0.1.4v0.1.5v0.1.6v0.1.7v1.0.0pending
Ran on

v0.1.6

LayerFS
reference implementation at 823f556ca (retired R9c)
Harness
final3 seed-1 matrices, --setup clone
Host
14 CPUs · load 6.7–8.8 (1 min)
Image
layerfs-bench-infra sha256:2bd697b9… · SQLite 3.51.0

v0.1.5

LayerFS
reference implementation (retired R9c)
Harness
host Store harness, issue #120 campaign; report-only release

v0.1.4

LayerFS
reference implementation at 9cfb4be47 (retired R9c)
Harness
host Store harness, issue #98 campaign
Image
sha256:42eb806f…
Releases measured
3
Families measured
20
Case results
432
Proofs passed
472 / 490

Releases

  1. v0.1.4

    Issue #98 terminal campaign

    198 cases · 16 families

    195PASS3MISS

    Timer: each case's own timer (pure call sum, edit + commit, init).

    Result: an absolute target per case.

    proofs 226/227 PASS

    Release record
  2. v0.1.5

    Issue #120 campaign (report-only for the release)

    198 cases · 16 families

    56PASS125WARN1FAIL16REUSED

    Timer: each case's own timer, as in v0.1.4.

    Result: the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above.

    proofs 210/227 PASS

    Release record
  3. New case set and a different timer: complete command wall instead of per-case timers.

    v0.1.6

    final3 seed-1 matrices

    36 cases · 6 families

    25PASS3EXCEPTION8N/A

    Timer: the complete command wall, setup excluded (--setup clone).

    Result: the 15 s family target; EXCEPTION is above it but inside a declared allowance.

    proofs 36/36 PASS

    Release record
  4. New core implementation, JavaScript SDK and Store schemas; the v0.1.6 reference is retired.

    v0.1.7

    No benchmarks published

    not measured

    The release makes no performance claim.

    Release record
  5. v1.0.0

    Pending

    pending

    Benchmark preparation is tracked in issue #332.

Families by release

Familyv0.1.4v0.1.5v0.1.6v0.1.7v1.0.0
branch development——
6 cases
——
dedup branch history
20 cases
20 cases
6 cases
——
dedup cdc locality
20 cases
20 cases
———
dedup cross file
10 cases
10 cases
———
dedup workspace reuse
14 cases
14 cases
———
directory construction traversal
12 cases
12 cases
———
edit canonical chunk count
12 cases
12 cases
———
edit length changing
32 cases
32 cases
———
edit length preserving
12 cases
12 cases
———
file size transition——
7 cases
——
git tool workflow
4 cases
4 cases
———
historical access——
6 cases
——
init namespace
4 cases
4 cases
———
mixed load bearing
4 cases
4 cases
6 cases
——
multi workspace development——
5 cases
——
namespace mutation
4 cases
4 cases
———
payload create read
8 cases
8 cases
———
store footprint
6 cases
6 cases
———
tiny file churn
20 cases
20 cases
———
workspace change locality
16 cases
16 cases
———

Every case

Bars use a log scale from 1 ms to 100 s; each release's number is its own timer, so compare within a release.

branch developmentFork a Branch, edit in a Workspace, commit and merge, from small trees to 500 MiB.v0.1.6

v0.1.66 cases5PASS1EXCEPTION

  • v016-branch-convergent-content-v12.118 s PASS
  • v016-branch-fork-descendant-v11.979 s PASS
  • v016-branch-mixed-100mb-5000-k10-v13.325 s PASS
  • v016-branch-mixed-100mb-5000-k100-v17.373 s PASS
  • v016-branch-mixed-500mb-30000-k10-v16.771 s PASS
  • v016-branch-mixed-500mb-30000-k100-v116.49 s EXCEPTION

the complete command wall, setup excluded (--setup clone) · the 15 s family target; EXCEPTION is above it but inside a declared allowance

dedup branch historyBranches that share most of their files, related and unrelated.v0.1.4 · v0.1.5 · v0.1.6

v0.1.420 cases19PASS1MISS

  • dedup-history-distributed-135.0 ms PASS
  • dedup-history-distributed-1097.5 ms PASS
  • dedup-history-distributed-100679.3 ms PASS
  • dedup-history-distributed-5003.405 s PASS
  • dedup-history-hotset-132.7 ms PASS
  • dedup-history-hotset-10135.3 ms PASS
  • dedup-history-hotset-100926.9 ms PASS
  • dedup-history-hotset-5003.845 s PASS
  • dedup-history-recurring-129.1 ms PASS
  • dedup-history-recurring-1089.0 ms PASS
  • dedup-history-recurring-100600.2 ms PASS
  • dedup-history-recurring-5002.878 s PASS
  • dedup-history-metadata-130.1 ms PASS
  • dedup-history-metadata-1097.8 ms PASS
  • dedup-history-metadata-100751.7 ms PASS
  • dedup-history-metadata-5003.482 s PASS
  • dedup-history-unrelated-11.033 s PASS
  • dedup-history-unrelated-109.477 s PASS
  • dedup-history-unrelated-100-mixed-v24.575 s PASS
  • dedup-history-unrelated-500-mixed-v223.66 s MISS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.520 cases7PASS12WARN1FAIL

  • dedup-history-distributed-117.1 ms PASS
  • dedup-history-distributed-1069.6 ms PASS
  • dedup-history-distributed-100735.4 ms WARN
  • dedup-history-distributed-5004.304 s WARN
  • dedup-history-hotset-123.4 ms PASS
  • dedup-history-hotset-10125.4 ms WARN
  • dedup-history-hotset-100985.4 ms WARN
  • dedup-history-hotset-5004.914 s WARN
  • dedup-history-recurring-124.1 ms PASS
  • dedup-history-recurring-10101.6 ms WARN
  • dedup-history-recurring-100618.6 ms WARN
  • dedup-history-recurring-5002.787 s WARN
  • dedup-history-metadata-129.6 ms WARN
  • dedup-history-metadata-10101.6 ms WARN
  • dedup-history-metadata-100918.5 ms WARN
  • dedup-history-metadata-5004.442 s WARN
  • dedup-history-unrelated-1453.8 ms PASS
  • dedup-history-unrelated-105.666 s PASS
  • dedup-history-unrelated-100-mixed-v23.190 s PASS
  • dedup-history-unrelated-500-mixed-v216.11 s FAIL

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

v0.1.66 cases6PASS

  • v016-history-boundary-cycle-k10-v12.045 s PASS
  • v016-history-boundary-cycle-k100-v12.503 s PASS
  • v016-history-large-hotset-k10-v12.051 s PASS
  • v016-history-large-hotset-k100-v12.257 s PASS
  • v016-history-namespace-inode-k10-v12.115 s PASS
  • v016-history-namespace-inode-k100-v12.821 s PASS

the complete command wall, setup excluded (--setup clone) · the 15 s family target; EXCEPTION is above it but inside a declared allowance

dedup cdc localityContent-defined chunking: an edit stays local to the chunks it touches.v0.1.4 · v0.1.5

v0.1.420 cases20PASS

  • dedup-cdc-overwrite-16.98 ms PASS
  • dedup-cdc-overwrite-1017.8 ms PASS
  • dedup-cdc-overwrite-10042.6 ms PASS
  • dedup-cdc-overwrite-500156.6 ms PASS
  • dedup-cdc-insert-16.17 ms PASS
  • dedup-cdc-insert-1016.4 ms PASS
  • dedup-cdc-insert-10046.8 ms PASS
  • dedup-cdc-insert-500178.9 ms PASS
  • dedup-cdc-delete-16.56 ms PASS
  • dedup-cdc-delete-1019.3 ms PASS
  • dedup-cdc-delete-10047.8 ms PASS
  • dedup-cdc-delete-500179.8 ms PASS
  • dedup-cdc-common-body-16.51 ms PASS
  • dedup-cdc-common-body-1022.0 ms PASS
  • dedup-cdc-common-body-100114.2 ms PASS
  • dedup-cdc-common-body-500516.6 ms PASS
  • dedup-cdc-scattered-19.01 ms PASS
  • dedup-cdc-scattered-1046.9 ms PASS
  • dedup-cdc-scattered-100284.4 ms PASS
  • dedup-cdc-scattered-5001.462 s PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.520 cases2PASS17WARN1REUSED

  • dedup-cdc-overwrite-18.15 ms WARN
  • dedup-cdc-overwrite-1018.3 ms REUSED
  • dedup-cdc-overwrite-10061.0 ms WARN
  • dedup-cdc-overwrite-500243.2 ms WARN
  • dedup-cdc-insert-17.59 ms WARN
  • dedup-cdc-insert-1018.8 ms PASS
  • dedup-cdc-insert-10064.4 ms WARN
  • dedup-cdc-insert-500257.6 ms WARN
  • dedup-cdc-delete-18.25 ms WARN
  • dedup-cdc-delete-1019.0 ms PASS
  • dedup-cdc-delete-10057.4 ms WARN
  • dedup-cdc-delete-500243.0 ms WARN
  • dedup-cdc-common-body-18.86 ms WARN
  • dedup-cdc-common-body-1024.9 ms WARN
  • dedup-cdc-common-body-100131.2 ms WARN
  • dedup-cdc-common-body-500552.1 ms WARN
  • dedup-cdc-scattered-111.5 ms WARN
  • dedup-cdc-scattered-1040.9 ms WARN
  • dedup-cdc-scattered-100308.3 ms WARN
  • dedup-cdc-scattered-5001.426 s WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

dedup cross fileThe same content stored once across different files.v0.1.4 · v0.1.5

v0.1.410 cases10PASS

  • dedup-cross-file-anchor-16.36 ms PASS
  • dedup-cross-file-unique-1033.4 ms PASS
  • dedup-cross-file-unique-100283.4 ms PASS
  • dedup-cross-file-unique-5001.222 s PASS
  • dedup-cross-file-identical-1018.0 ms PASS
  • dedup-cross-file-identical-10036.7 ms PASS
  • dedup-cross-file-identical-500117.4 ms PASS
  • dedup-cross-file-mixed-1029.4 ms PASS
  • dedup-cross-file-mixed-100259.9 ms PASS
  • dedup-cross-file-mixed-5001.148 s PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.510 cases8WARN2REUSED

  • dedup-cross-file-anchor-17.61 ms WARN
  • dedup-cross-file-unique-1034.4 ms WARN
  • dedup-cross-file-unique-100312.5 ms WARN
  • dedup-cross-file-unique-5001.291 s REUSED
  • dedup-cross-file-identical-1019.2 ms REUSED
  • dedup-cross-file-identical-10054.4 ms WARN
  • dedup-cross-file-identical-500209.9 ms WARN
  • dedup-cross-file-mixed-1035.1 ms WARN
  • dedup-cross-file-mixed-100276.2 ms WARN
  • dedup-cross-file-mixed-5001.233 s WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

dedup workspace reuseA Workspace reuses committed content instead of copying it.v0.1.4 · v0.1.5

v0.1.414 cases14PASS

  • dedup-workspace-exact-1-compact-v235.4 ms PASS
  • dedup-workspace-exact-10-compact-v291.4 ms PASS
  • dedup-workspace-exact-100663.7 ms PASS
  • dedup-workspace-exact-5003.929 s PASS
  • dedup-workspace-local-1-compact-v234.2 ms PASS
  • dedup-workspace-local-10-compact-v298.3 ms PASS
  • dedup-workspace-local-100695.0 ms PASS
  • dedup-workspace-local-5003.700 s PASS
  • dedup-workspace-unique-1-compact-v233.8 ms PASS
  • dedup-workspace-unique-10-compact-v2104.7 ms PASS
  • dedup-workspace-unique-100772.1 ms PASS
  • dedup-workspace-unique-5003.772 s PASS
  • dedup-workspace-unique-1-base128-v337.4 ms PASS
  • dedup-workspace-unique-10-base128-v3107.5 ms PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.514 cases8PASS5WARN1REUSED

  • dedup-workspace-exact-1-compact-v234.8 ms WARN
  • dedup-workspace-exact-10-compact-v281.9 ms REUSED
  • dedup-workspace-exact-100524.6 ms PASS
  • dedup-workspace-exact-5003.900 s PASS
  • dedup-workspace-local-1-compact-v230.2 ms PASS
  • dedup-workspace-local-10-compact-v279.0 ms PASS
  • dedup-workspace-local-100532.4 ms PASS
  • dedup-workspace-local-5004.509 s WARN
  • dedup-workspace-unique-1-compact-v237.9 ms WARN
  • dedup-workspace-unique-10-compact-v296.0 ms PASS
  • dedup-workspace-unique-100635.0 ms PASS
  • dedup-workspace-unique-5004.708 s WARN
  • dedup-workspace-unique-1-base128-v339.1 ms WARN
  • dedup-workspace-unique-10-base128-v393.5 ms PASS

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

directory construction traversalBuild and walk large directory trees.v0.1.4 · v0.1.5

v0.1.412 cases12PASS

  • directory-construct-1-compact-v223.1 ms PASS
  • directory-construct-10-compact-v247.0 ms PASS
  • directory-construct-100-mixed-v4228.1 ms PASS
  • directory-construct-500-mixed-v41.084 s PASS
  • directory-metadata-scan-1-compact-v284.2 ms PASS
  • directory-metadata-scan-10-compact-v2112.9 ms PASS
  • directory-metadata-scan-100-mixed-v4304.1 ms PASS
  • directory-metadata-scan-500-mixed-v4640.3 ms PASS
  • directory-content-scan-1-compact-v2119.6 ms PASS
  • directory-content-scan-10-compact-v2390.5 ms PASS
  • directory-content-scan-100-mixed-v41.424 s PASS
  • directory-content-scan-500-mixed-v45.252 s PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.512 cases1PASS10WARN1REUSED

  • directory-construct-1-compact-v222.4 ms WARN
  • directory-construct-10-compact-v238.6 ms PASS
  • directory-construct-100-mixed-v4253.4 ms WARN
  • directory-construct-500-mixed-v41.140 s WARN
  • directory-metadata-scan-1-compact-v288.0 ms WARN
  • directory-metadata-scan-10-compact-v2137.6 ms WARN
  • directory-metadata-scan-100-mixed-v4333.0 ms WARN
  • directory-metadata-scan-500-mixed-v4694.7 ms WARN
  • directory-content-scan-1-compact-v2105.5 ms WARN
  • directory-content-scan-10-compact-v2348.6 ms WARN
  • directory-content-scan-100-mixed-v41.231 s WARN
  • directory-content-scan-500-mixed-v44.434 s REUSED

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

edit canonical chunk countHow many chunks an edit produces, against the canonical count.v0.1.4 · v0.1.5

v0.1.412 cases12PASS

  • overwrite-fixed-64k-chunk-count-preserve-on-1mib-ops-111.6 ms PASS
  • overwrite-fixed-64k-chunk-count-preserve-on-10mib-ops-110.6 ms PASS
  • overwrite-fixed-64k-chunk-count-preserve-on-100mib-ops-111.8 ms PASS
  • overwrite-fixed-64k-chunk-count-preserve-on-500mib-ops-112.8 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-1mib-ops-110.8 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-10mib-ops-111.7 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-100mib-ops-112.9 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-500mib-ops-112.6 ms PASS
  • overwrite-fixed-64k-chunk-count-decrease-on-1mib-ops-18.82 ms PASS
  • overwrite-fixed-64k-chunk-count-decrease-on-10mib-ops-19.29 ms PASS
  • overwrite-fixed-64k-chunk-count-decrease-on-100mib-ops-110.8 ms PASS
  • overwrite-fixed-64k-chunk-count-decrease-on-500mib-ops-111.5 ms PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.512 cases6PASS6WARN

  • overwrite-fixed-64k-chunk-count-preserve-on-1mib-ops-111.0 ms WARN
  • overwrite-fixed-64k-chunk-count-preserve-on-10mib-ops-113.1 ms WARN
  • overwrite-fixed-64k-chunk-count-preserve-on-100mib-ops-19.27 ms PASS
  • overwrite-fixed-64k-chunk-count-preserve-on-500mib-ops-110.0 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-1mib-ops-18.43 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-10mib-ops-110.3 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-100mib-ops-19.54 ms PASS
  • overwrite-fixed-64k-chunk-count-increase-on-500mib-ops-112.3 ms WARN
  • overwrite-fixed-64k-chunk-count-decrease-on-1mib-ops-17.59 ms PASS
  • overwrite-fixed-64k-chunk-count-decrease-on-10mib-ops-111.8 ms WARN
  • overwrite-fixed-64k-chunk-count-decrease-on-100mib-ops-110.9 ms WARN
  • overwrite-fixed-64k-chunk-count-decrease-on-500mib-ops-115.4 ms WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

edit length changingEdits that grow or shrink a file.v0.1.4 · v0.1.5

v0.1.432 cases32PASS

  • insert-middle-4k-on-1mib-ops-19.87 ms PASS
  • insert-middle-4k-on-10mib-ops-19.98 ms PASS
  • insert-middle-4k-on-100mib-ops-19.87 ms PASS
  • insert-middle-4k-on-500mib-result-capped-v2-ops-112.2 ms PASS
  • delete-middle-4k-on-1mib-ops-18.08 ms PASS
  • delete-middle-4k-on-10mib-ops-19.31 ms PASS
  • delete-middle-4k-on-100mib-ops-110.4 ms PASS
  • delete-middle-4k-on-500mib-ops-112.9 ms PASS
  • append-tail-4k-on-1mib-ops-19.52 ms PASS
  • append-tail-4k-on-10mib-ops-17.85 ms PASS
  • append-tail-4k-on-100mib-ops-19.16 ms PASS
  • append-tail-4k-on-500mib-result-capped-v2-ops-19.45 ms PASS
  • prepend-head-4k-on-1mib-ops-18.61 ms PASS
  • prepend-head-4k-on-10mib-ops-19.62 ms PASS
  • prepend-head-4k-on-100mib-ops-19.10 ms PASS
  • prepend-head-4k-on-500mib-result-capped-v2-ops-19.98 ms PASS
  • replace-grow-middle-2k-to-4k-on-1mib-ops-18.42 ms PASS
  • replace-grow-middle-2k-to-4k-on-10mib-ops-19.06 ms PASS
  • replace-grow-middle-2k-to-4k-on-100mib-ops-110.3 ms PASS
  • replace-grow-middle-2k-to-4k-on-500mib-result-capped-v2-ops-111.6 ms PASS
  • replace-shrink-middle-4k-to-2k-on-1mib-ops-19.90 ms PASS
  • replace-shrink-middle-4k-to-2k-on-10mib-ops-19.25 ms PASS
  • replace-shrink-middle-4k-to-2k-on-100mib-ops-19.71 ms PASS
  • replace-shrink-middle-4k-to-2k-on-500mib-ops-111.1 ms PASS
  • truncate-tail-4k-on-1mib-ops-18.64 ms PASS
  • truncate-tail-4k-on-10mib-ops-17.61 ms PASS
  • truncate-tail-4k-on-100mib-ops-18.85 ms PASS
  • truncate-tail-4k-on-500mib-ops-110.3 ms PASS
  • zero-extend-tail-4k-on-1mib-ops-18.60 ms PASS
  • zero-extend-tail-4k-on-10mib-ops-18.38 ms PASS
  • zero-extend-tail-4k-on-100mib-ops-19.29 ms PASS
  • zero-extend-tail-4k-on-500mib-result-capped-v2-ops-19.52 ms PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.532 cases14PASS16WARN2REUSED

  • insert-middle-4k-on-1mib-ops-18.31 ms REUSED
  • insert-middle-4k-on-10mib-ops-17.93 ms PASS
  • insert-middle-4k-on-100mib-ops-18.65 ms PASS
  • insert-middle-4k-on-500mib-result-capped-v2-ops-19.24 ms PASS
  • delete-middle-4k-on-1mib-ops-18.11 ms REUSED
  • delete-middle-4k-on-10mib-ops-17.89 ms PASS
  • delete-middle-4k-on-100mib-ops-110.0 ms WARN
  • delete-middle-4k-on-500mib-ops-112.8 ms WARN
  • append-tail-4k-on-1mib-ops-19.70 ms WARN
  • append-tail-4k-on-10mib-ops-19.63 ms WARN
  • append-tail-4k-on-100mib-ops-19.34 ms WARN
  • append-tail-4k-on-500mib-result-capped-v2-ops-111.0 ms WARN
  • prepend-head-4k-on-1mib-ops-18.98 ms WARN
  • prepend-head-4k-on-10mib-ops-110.0 ms WARN
  • prepend-head-4k-on-100mib-ops-110.4 ms WARN
  • prepend-head-4k-on-500mib-result-capped-v2-ops-19.50 ms PASS
  • replace-grow-middle-2k-to-4k-on-1mib-ops-18.49 ms PASS
  • replace-grow-middle-2k-to-4k-on-10mib-ops-110.0 ms WARN
  • replace-grow-middle-2k-to-4k-on-100mib-ops-18.43 ms PASS
  • replace-grow-middle-2k-to-4k-on-500mib-result-capped-v2-ops-19.33 ms PASS
  • replace-shrink-middle-4k-to-2k-on-1mib-ops-17.82 ms PASS
  • replace-shrink-middle-4k-to-2k-on-10mib-ops-18.33 ms PASS
  • replace-shrink-middle-4k-to-2k-on-100mib-ops-18.48 ms PASS
  • replace-shrink-middle-4k-to-2k-on-500mib-ops-113.9 ms WARN
  • truncate-tail-4k-on-1mib-ops-110.1 ms WARN
  • truncate-tail-4k-on-10mib-ops-19.17 ms PASS
  • truncate-tail-4k-on-100mib-ops-19.39 ms PASS
  • truncate-tail-4k-on-500mib-ops-110.9 ms WARN
  • zero-extend-tail-4k-on-1mib-ops-17.73 ms PASS
  • zero-extend-tail-4k-on-10mib-ops-19.80 ms WARN
  • zero-extend-tail-4k-on-100mib-ops-19.45 ms WARN
  • zero-extend-tail-4k-on-500mib-result-capped-v2-ops-110.3 ms WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

edit length preservingIn-place edits that keep the file length.v0.1.4 · v0.1.5

v0.1.412 cases12PASS

  • overwrite-head-4k-on-1mib-ops-19.14 ms PASS
  • overwrite-head-4k-on-10mib-ops-112.8 ms PASS
  • overwrite-head-4k-on-100mib-ops-111.6 ms PASS
  • overwrite-head-4k-on-500mib-ops-111.2 ms PASS
  • overwrite-middle-4k-on-1mib-ops-17.75 ms PASS
  • overwrite-middle-4k-on-10mib-ops-19.63 ms PASS
  • overwrite-middle-4k-on-100mib-ops-110.6 ms PASS
  • overwrite-middle-4k-on-500mib-ops-111.0 ms PASS
  • overwrite-tail-4k-on-1mib-ops-17.58 ms PASS
  • overwrite-tail-4k-on-10mib-ops-18.99 ms PASS
  • overwrite-tail-4k-on-100mib-ops-18.79 ms PASS
  • overwrite-tail-4k-on-500mib-ops-110.6 ms PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.512 cases8PASS3WARN1REUSED

  • overwrite-head-4k-on-1mib-ops-110.9 ms WARN
  • overwrite-head-4k-on-10mib-ops-111.8 ms WARN
  • overwrite-head-4k-on-100mib-ops-17.88 ms PASS
  • overwrite-head-4k-on-500mib-ops-18.78 ms PASS
  • overwrite-middle-4k-on-1mib-ops-18.54 ms REUSED
  • overwrite-middle-4k-on-10mib-ops-18.17 ms PASS
  • overwrite-middle-4k-on-100mib-ops-18.83 ms PASS
  • overwrite-middle-4k-on-500mib-ops-111.2 ms WARN
  • overwrite-tail-4k-on-1mib-ops-18.39 ms PASS
  • overwrite-tail-4k-on-10mib-ops-18.57 ms PASS
  • overwrite-tail-4k-on-100mib-ops-19.80 ms PASS
  • overwrite-tail-4k-on-500mib-ops-111.8 ms PASS

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

file size transitionFiles crossing the 128 KiB small/large content boundary, both ways.v0.1.6

v0.1.67 cases7PASS

  • v016-boundary-above-v11.843 s PASS
  • v016-boundary-alias-roundtrip-v12.127 s PASS
  • v016-boundary-below-v11.953 s PASS
  • v016-boundary-exact-v11.925 s PASS
  • v016-boundary-large-control-v11.848 s PASS
  • v016-boundary-roundtrip-v11.774 s PASS
  • v016-boundary-small-control-v11.927 s PASS

the complete command wall, setup excluded (--setup clone) · the 15 s family target; EXCEPTION is above it but inside a declared allowance

git tool workflowGit status, diff, add and commit inside a Workspace.v0.1.4 · v0.1.5

v0.1.44 cases2PASS2MISS

  • git-tool-1-compact-v2359.8 ms PASS
  • git-tool-10-compact-v2692.5 ms PASS
  • git-tool-100-mixed-v42.320 s MISS
  • git-tool-500-mixed-v45.504 s MISS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.54 cases3WARN1REUSED

  • git-tool-1-compact-v2337.1 ms WARN
  • git-tool-10-compact-v2705.4 ms WARN
  • git-tool-100-mixed-v42.838 s WARN
  • git-tool-500-mixed-v48.803 s REUSED

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

historical accessRead old Commits: fork points, divergent heads, either side of a boundary.v0.1.6

v0.1.66 cases6N/A

  • v016-access-boundary-after-v1— N/A
  • v016-access-boundary-before-v1— N/A
  • v016-access-divergent-head-v1— N/A
  • v016-access-fork-point-v1— N/A
  • v016-access-inode-after-v1— N/A
  • v016-access-inode-before-v1— N/A

the complete command wall, setup excluded (--setup clone) · the 15 s family target; EXCEPTION is above it but inside a declared allowance

init namespaceProject Init of a namespace into a new Store.v0.1.4 · v0.1.5

v0.1.44 cases4PASS

  • namespace-100-compact-v320.0 ms PASS
  • namespace-1000-compact-v381.7 ms PASS
  • namespace-10000939.2 ms PASS
  • namespace-1000003.863 s PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.54 cases4WARN

  • namespace-100-compact-v328.7 ms WARN
  • namespace-1000-compact-v3112.7 ms WARN
  • namespace-100001.020 s WARN
  • namespace-1000004.398 s WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

mixed load bearingReads, writes and Commits at once, with exhaustive variants.v0.1.4 · v0.1.5 · v0.1.6

v0.1.44 cases4PASS

  • agent-episodes-1-compact-v232.4 ms PASS
  • agent-episodes-10-compact-v2115.5 ms PASS
  • agent-episodes-100996.7 ms PASS
  • agent-episodes-5007.447 s PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.54 cases1PASS2WARN1REUSED

  • agent-episodes-1-compact-v234.4 ms WARN
  • agent-episodes-10-compact-v262.1 ms PASS
  • agent-episodes-1001.030 s WARN
  • agent-episodes-5008.219 s REUSED

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

v0.1.66 cases3PASS1EXCEPTION2N/A

  • v016-mixed-development-100mb-5000-k10-v13.042 s PASS
  • v016-mixed-development-100mb-5000-k100-v17.423 s PASS
  • v016-mixed-development-500mb-30000-k10-v15.657 s PASS
  • v016-mixed-development-500mb-30000-k100-v118.31 s EXCEPTION
  • v016-mixed-exhaustive-100mb-5000-k100-v1— N/A
  • v016-mixed-exhaustive-500mb-30000-k100-v1— N/A

the complete command wall, setup excluded (--setup clone) · the 15 s family target; EXCEPTION is above it but inside a declared allowance

multi workspace developmentSeveral Workspaces working over one Store at the same time.v0.1.6

v0.1.65 cases4PASS1EXCEPTION

  • v016-workspace-mixed-100mb-5000-k10-v13.304 s PASS
  • v016-workspace-mixed-100mb-5000-k100-v17.524 s PASS
  • v016-workspace-mixed-500mb-30000-k10-v15.960 s PASS
  • v016-workspace-mixed-500mb-30000-k100-v115.76 s EXCEPTION
  • v016-workspace-four-100mb-5000-k100-v17.573 s PASS

the complete command wall, setup excluded (--setup clone) · the 15 s family target; EXCEPTION is above it but inside a declared allowance

namespace mutationRenames, moves and deletes across a namespace.v0.1.4 · v0.1.5

v0.1.44 cases4PASS

  • namespace-subtree-relocate-delete-1-compact-v229.2 ms PASS
  • namespace-subtree-relocate-delete-10-compact-v270.8 ms PASS
  • namespace-subtree-relocate-delete-100-mixed-v477.2 ms PASS
  • namespace-subtree-relocate-delete-500-mixed-v4252.6 ms PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.54 cases4WARN

  • namespace-subtree-relocate-delete-1-compact-v229.6 ms WARN
  • namespace-subtree-relocate-delete-10-compact-v273.5 ms WARN
  • namespace-subtree-relocate-delete-100-mixed-v474.2 ms WARN
  • namespace-subtree-relocate-delete-500-mixed-v4275.0 ms WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

payload create readCreate files of every size and read them back.v0.1.4 · v0.1.5

v0.1.48 cases8PASS

  • payload-create-1m-compact-v245.6 ms PASS
  • payload-create-10m-compact-v294.8 ms PASS
  • payload-create-100m606.2 ms PASS
  • payload-create-500m2.759 s PASS
  • payload-random-read-1-compact-v214.9 ms PASS
  • payload-random-read-10-compact-v221.7 ms PASS
  • payload-random-read-10081.3 ms PASS
  • payload-random-read-500249.8 ms PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.58 cases4PASS3WARN1REUSED

  • payload-create-1m-compact-v229.3 ms PASS
  • payload-create-10m-compact-v282.6 ms PASS
  • payload-create-100m575.9 ms PASS
  • payload-create-500m2.419 s PASS
  • payload-random-read-1-compact-v220.5 ms WARN
  • payload-random-read-10-compact-v225.2 ms REUSED
  • payload-random-read-10069.7 ms WARN
  • payload-random-read-500232.3 ms WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

store footprintWhat the Store occupies after a workload.v0.1.4 · v0.1.5

v0.1.46 cases6PASS

  • store-footprint-unique-1000003.949 s PASS
  • store-footprint-metadata-cardinality-1000006.911 s PASS
  • store-footprint-large-object-500m1.258 s PASS
  • store-footprint-unique-100-low-v148.5 ms PASS
  • store-footprint-metadata-cardinality-100-low-v154.9 ms PASS
  • store-footprint-large-object-10m-low-v151.8 ms PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.56 cases6WARN

  • store-footprint-unique-1000005.397 s WARN
  • store-footprint-metadata-cardinality-1000006.640 s WARN
  • store-footprint-large-object-500m1.254 s WARN
  • store-footprint-unique-100-low-v149.6 ms WARN
  • store-footprint-metadata-cardinality-100-low-v160.4 ms WARN
  • store-footprint-large-object-10m-low-v163.2 ms WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

tiny file churnMany tiny files created, changed and removed.v0.1.4 · v0.1.5

v0.1.420 cases20PASS

  • tiny-create-1-compact-v222.8 ms PASS
  • tiny-create-10-compact-v231.8 ms PASS
  • tiny-create-100-mixed-v468.3 ms PASS
  • tiny-create-500-mixed-v4225.0 ms PASS
  • tiny-stat-1-compact-v219.7 ms PASS
  • tiny-stat-10-compact-v225.1 ms PASS
  • tiny-stat-100-mixed-v461.4 ms PASS
  • tiny-stat-500-mixed-v484.7 ms PASS
  • tiny-unlink-1-compact-v223.6 ms PASS
  • tiny-unlink-10-compact-v233.4 ms PASS
  • tiny-unlink-100-mixed-v482.6 ms PASS
  • tiny-unlink-500-mixed-v4141.7 ms PASS
  • tiny-bulk-create-1-compact-v273.2 ms PASS
  • tiny-bulk-create-10-compact-v2330.0 ms PASS
  • tiny-bulk-create-100-mixed-v31.056 s PASS
  • tiny-bulk-create-500-mixed-v35.050 s PASS
  • tiny-bulk-delete-1-compact-v2106.8 ms PASS
  • tiny-bulk-delete-10-compact-v2169.6 ms PASS
  • tiny-bulk-delete-100-mixed-v3298.1 ms PASS
  • tiny-bulk-delete-500-mixed-v31.093 s PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.520 cases2PASS17WARN1REUSED

  • tiny-create-1-compact-v223.3 ms WARN
  • tiny-create-10-compact-v230.2 ms WARN
  • tiny-create-100-mixed-v479.0 ms WARN
  • tiny-create-500-mixed-v4242.7 ms WARN
  • tiny-stat-1-compact-v221.8 ms WARN
  • tiny-stat-10-compact-v228.6 ms WARN
  • tiny-stat-100-mixed-v445.7 ms WARN
  • tiny-stat-500-mixed-v469.8 ms WARN
  • tiny-unlink-1-compact-v219.6 ms PASS
  • tiny-unlink-10-compact-v228.4 ms WARN
  • tiny-unlink-100-mixed-v463.8 ms WARN
  • tiny-unlink-500-mixed-v4119.6 ms WARN
  • tiny-bulk-create-1-compact-v297.1 ms PASS
  • tiny-bulk-create-10-compact-v2316.8 ms WARN
  • tiny-bulk-create-100-mixed-v3983.3 ms REUSED
  • tiny-bulk-create-500-mixed-v35.733 s WARN
  • tiny-bulk-delete-1-compact-v2110.1 ms WARN
  • tiny-bulk-delete-10-compact-v2209.8 ms WARN
  • tiny-bulk-delete-100-mixed-v3306.9 ms WARN
  • tiny-bulk-delete-500-mixed-v31.185 s WARN

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above

workspace change localityA change costs what it touches, not the size of the tree.v0.1.4 · v0.1.5

v0.1.416 cases16PASS

  • workspace-clean-commit-1-compact-v213.9 ms PASS
  • workspace-clean-commit-10-compact-v216.2 ms PASS
  • workspace-clean-commit-100-mixed-v413.2 ms PASS
  • workspace-clean-commit-500-mixed-v413.5 ms PASS
  • workspace-fixed-move-1-compact-v222.8 ms PASS
  • workspace-fixed-move-10-compact-v224.5 ms PASS
  • workspace-fixed-move-100-mixed-v438.0 ms PASS
  • workspace-fixed-move-500-mixed-v439.3 ms PASS
  • workspace-distributed-sdk-edit-1-compact-v220.3 ms PASS
  • workspace-distributed-sdk-edit-10-compact-v244.3 ms PASS
  • workspace-distributed-sdk-edit-100-mixed-v4412.1 ms PASS
  • workspace-distributed-sdk-edit-500-mixed-v42.947 s PASS
  • workspace-dense-rewrite-1-compact-v2117.9 ms PASS
  • workspace-dense-rewrite-10-compact-v2393.2 ms PASS
  • workspace-dense-rewrite-100-mixed-v41.936 s PASS
  • workspace-dense-rewrite-500-mixed-v47.189 s PASS

each case's own timer (pure call sum, edit + commit, init) · an absolute target per case

v0.1.516 cases3PASS9WARN4REUSED

  • workspace-clean-commit-1-compact-v210.5 ms PASS
  • workspace-clean-commit-10-compact-v211.9 ms PASS
  • workspace-clean-commit-100-mixed-v415.5 ms WARN
  • workspace-clean-commit-500-mixed-v417.8 ms WARN
  • workspace-fixed-move-1-compact-v226.6 ms WARN
  • workspace-fixed-move-10-compact-v228.8 ms WARN
  • workspace-fixed-move-100-mixed-v436.0 ms WARN
  • workspace-fixed-move-500-mixed-v447.8 ms REUSED
  • workspace-distributed-sdk-edit-1-compact-v225.3 ms WARN
  • workspace-distributed-sdk-edit-10-compact-v242.3 ms WARN
  • workspace-distributed-sdk-edit-100-mixed-v4213.1 ms PASS
  • workspace-distributed-sdk-edit-500-mixed-v4666.1 ms REUSED
  • workspace-dense-rewrite-1-compact-v2109.4 ms WARN
  • workspace-dense-rewrite-10-compact-v2583.2 ms WARN
  • workspace-dense-rewrite-100-mixed-v42.894 s REUSED
  • workspace-dense-rewrite-500-mixed-v410.50 s REUSED

each case's own timer, as in v0.1.4 · the v0.1.3 reference: PASS at or under it or within 3 ms per op, WARN above