Skip to content

casei: make the audited result publish-ready - #9

Merged
tsenart merged 29 commits into
masterfrom
publish-readiness
Aug 21, 2026
Merged

casei: make the audited result publish-ready#9
tsenart merged 29 commits into
masterfrom
publish-readiness

Conversation

@tsenart

@tsenart tsenart commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Result

  • The corrected arena has 28 first-match rows and five overlap-allowed single-needle count rows.
  • casei wins all 33 on Ice Lake and Sapphire Rapids with AVX-512F/BW/VBMI. The median lead over the fastest correct alternative is 1.9x and 1.6x.
  • The direct Rebar audit covers every representable workload. On the five rows with the same Unicode folding contract, casei wins two and loses three on both hosts. The worst loss is 9.86x on Ice Lake and 9.18x on Sapphire Rapids.

What this changes

  • exercises Go 1.22, the amd64 scalar route, native arm64, race detection, and the pinned native competitor field in CI;
  • refreshes the pinned field and makes its preparation reproducible;
  • adds runnable examples and rewrites the README and implementation explainer from the user question down to the kernels;
  • records the complete Rebar inventory, both-host losses, and their measured causes;
  • links the public Perfloop Cases aimed at shared Unicode anchors, dispersed probes, and raw-byte confirmation;
  • preserves the failed complete Go SIMD backend as a measured negative result;
  • verifies all 36 reachable assembly entry points and retains the raw publication receipts.

Benchmark coverage correction

Five single-needle count scenarios existed during the original engine build, but BenchmarkBar mistakenly timed only their first match. Commit c4392e7 corrected that wiring before the publication runs, and casei still won all five. The arena still has no multi-pattern enumeration row and none of Rebar's real count/count-spans workloads. The README and Rebar audit now state this process gap near the top.

Acceptance evidence

  • all 99 publication samples per host are below x_vs_best=1, with five to seven entrants per row;
  • Vectorscan and casei report 512-bit dispatch, with Vectorscan VBMI active;
  • the root and race suites pass;
  • the Rebar runner tests, audit receipt summaries, publication summaries, and baseline-isolation check pass;
  • the open performance work must win all five Unicode-equivalent Rebar rows on both hosts while preserving the 33-row sweep.

Release gate

v0.1.0 is retracted because its AVX-512 pair-tail route could miss a match. After this PR merges, the corrected tree needs a new patch tag before the public go get github.com/tsenart/casei instruction is safe.

tsenart added 28 commits August 18, 2026 07:32
The ceiling benchmarks no longer use these folding helpers, and no test calls them. Removing the dead copies keeps the independent reference implementation focused and makes the package clean under staticcheck.
The module promises Go 1.22 support and identical results on its scalar and non-amd64 paths. Test the minimum Go release, disable x86 vector dispatch explicitly, and execute the portable implementation on a native arm64 runner. Also keep race detection in the regular candidate gate.
The full experimental Go SIMD migration is a measured negative result: it preserved correctness but regressed a required field row. Record the alternating measurements and the generated-code mechanism, and align the novelty decisions with the repository's result-based contribution bar so known techniques remain available as ingredients.
The full table contains a 1.07x lead even though the narrowest long streaming row is 1.10x. State the overall range from the complete 33-row result, and describe the linked Perfloop measurements as public rather than sealed.
The public documentation should prove the usage it advertises. Add external-package examples for Unicode IndexFold, ContainsFold, and a compiled multi-pattern Matcher so pkg.go.dev displays them and CI checks their output.
@tsenart

tsenart commented Aug 18, 2026

Copy link
Copy Markdown
Owner Author

Closing this draft for now. The Perfloop dev canary completed against casei master at f3eaaba, not this PR head at c8942c6. That run is not evidence for this change. We will reopen or replace this PR after the exact proposed tree has its own complete proof.

@tsenart tsenart closed this Aug 18, 2026
@tsenart tsenart reopened this Aug 21, 2026
@tsenart tsenart changed the title casei: strengthen publication readiness casei: make the audited result publish-ready Aug 21, 2026
@tsenart

tsenart commented Aug 21, 2026

Copy link
Copy Markdown
Owner Author

Exact-tree publication proof for 5902011de2657d47be8b260c85b201ea253bea03 is complete.

host CPU contract BenchmarkBar throughput verifier log SHA-256
Ice Lake Intel family 6, model 106; AVX-512F/BW/VBMI 33/33; worst median 0.8528; worst sample 0.8597; median speedup 1.89x; 5-7 entrants 33/33; narrowest lead 1.09x c0fa3e291f4ac94dee21bdd71ae268aba0e52aef91cad65aed70635f57fe6b32
Sapphire Rapids Intel family 6, model 143; AVX-512F/BW/VBMI 33/33; worst median 0.9295; worst sample 0.9307; median speedup 1.58x; 5-7 entrants 33/33; narrowest lead 1.11x 7b578eb5f780827004c6711151eb375311cb674d23994f0c8d528b9589fcd829

Each host cloned the PR branch, detached the exact commit above, and ran the unmodified ./scripts/reproduce.sh. Each run rebuilt PCRE2, Vectorscan 5.4.12, rure, rustac, and StringZilla from pinned source. The verifier confirmed casei at 512 bits and Vectorscan at 512-bit VBMI on every applicable row.

Hosted CI is also green across the candidate, minimum-Go, portable-arm64, and native-field arena jobs. This closes the exact-tree evidence mismatch recorded in the earlier closing comment.

@tsenart
tsenart marked this pull request as ready for review August 21, 2026 17:11
@tsenart
tsenart merged commit 185da34 into master Aug 21, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant