Skip to content

Merge train 181: #10201 - #10202

Merged
proggeramlug merged 3 commits into
mainfrom
train181
Sep 13, 2026
Merged

proggeramlug merged 3 commits into
mainfrom
train181

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Merge train 181: lands #10201 (take perex 0.1.4, where the required-text search starts at the requested start; part of #10165) at head b141b85b84, plus the workspace version bump to 0.5.1554.

Both PR commits were cherry-picked onto ad6925b09 without conflicts. The tree before the bump differs from the PR head only by main's own commits since the PR's base.

This lands perex 0.1.4, lock checksum 1542e48011813fbdf3c075da4a4ed53ee93c816eef62e36eb5064a6fd2be10a5, verified against the downloaded crate. It was locked with a one-time publish-age override that Ralph approved for 0.1.4 only. Every step below ran with the override unset.

Local validation (perrymaster, Linux x86_64; --locked):

  • cargo metadata --locked, cargo fmt --all -- --check
  • cargo check -p perry-runtime --no-default-features --features full --lib (regex feature off): 0 warnings
  • cargo check -p perry-runtime --lib --tests: no warnings outside the known global_this_webassembly.rs dead code
  • cargo test -p perry-runtime --lib -- --test-threads=1: 3711 passed, 1 failed. The failure is native_stack::tests::stack_top_respects_custom_thread_stack_sizes, red on main.
  • cargo clippy -p perry-runtime --lib --tests: the same 12 approx_constant errors as main. The warning diff equals train 180's, with nothing from this change.
  • scripts/run_lint_gates.sh script tier: 76 of 77 pass. The failure is public benchmark evidence freshness, identical on main. The compile tier was not run.
  • check_changeset_fragment.sh PerryTS/perry 10201: pass

The witness is on #10201. 2,000 execs of /[a-z]+[0-9]+ /g starting 10,000 units before the end of a 400,000-unit subject drop from 3,218 ms to 3.0 ms, flat in length. A /([a-z]+)([0-9]+) /y loop over 200,000 characters drops from 21 s to 85 ms. Results match Node.

https://claude.ai/code/session_01Da12JXeG5XuVBma5yWp5C9

Summary by CodeRabbit

  • Performance

    • Improved regular-expression searches involving repeated character classes, significantly reducing processing time on large ASCII strings.
  • Documentation

    • Added release notes documenting the regular-expression performance improvement.
  • Chores

    • Updated the application version to 0.5.1554.

Ralph Küpper added 3 commits September 13, 2026 12:38
perex 0.1.4 (published 2026-09-13T12:17:29Z from 0d3d3f2) starts the initial required-text search at the requested start on ASCII storage for programs carrying the forward-admission claim. Before this, a pattern such as /[a-z]+[0-9]+ /g paid for every earlier occurrence of its required text on each search, so JS exec/test loops over it were O(lastIndex) per call.

Checksum 1542e48011813fbdf3c075da4a4ed53ee93c816eef62e36eb5064a6fd2be10a5, verified against the downloaded crate. Locked with a one-time publish-age override approved for this version only.

Claude-Session: https://claude.ai/code/session_01Da12JXeG5XuVBma5yWp5C9
@proggeramlug
proggeramlug merged commit 5d3bf85 into main Sep 13, 2026
21 of 23 checks passed
@proggeramlug
proggeramlug deleted the train181 branch September 13, 2026 12:45
@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: e803cd9a-231c-4ad7-8064-3dfe0e5c69f1

📥 Commits

Reviewing files that changed from the base of the PR and between ad6925b and a8d00ae.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • CLAUDE.md
  • Cargo.toml
  • changelog.d/10201-regex-perex-0.1.4.md

📝 Walkthrough

Walkthrough

The workspace version changes from 0.5.1553 to 0.5.1554. The shared perex dependency changes from 0.1.3 to 0.1.4. Documentation and the changelog record the corresponding regex performance fix.

Changes

Version and dependency update

Layer / File(s) Summary
Package release metadata
Cargo.toml, CLAUDE.md, changelog.d/10201-regex-perex-0.1.4.md
The workspace version and documented version change to 0.5.1554. The shared perex dependency changes to 0.1.4. The changelog records the regex performance improvement.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: jdalton

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch train181

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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