diff options
| author | Jean Boussier <jean.boussier@gmail.com> | 2026-01-20 17:59:15 +0100 |
|---|---|---|
| committer | Jean Boussier <jean.boussier@gmail.com> | 2026-01-21 11:23:01 +0100 |
| commit | 519a4bdbc19693be9020419eb4dea9e66a256a41 (patch) | |
| tree | a801eb1c39de0922c529fead5e4d545606d80250 /test/prism/errors/command_calls_21.txt | |
| parent | 0f1eea09490287cf9ed907f7cd84398b03074d98 (diff) | |
The actual algorithm is largely unchanged, just allowed to use
singlebyte checks for common encodings.
It could certainly be optimized much further, as here again it often
scans from the front of the string when we're interested in the back of
it. But the algorithm as many Windows only corner cases so I'd rather
ship a good improvement now and eventually come back to it later.
Most of improvement here is from the reduced setup cost (avodi double
null checks, avoid duping the argument, etc), and skipping the multi-byte
checks.
```
compare-ruby: ruby 4.1.0dev (2026-01-19T03:51:30Z master 631bf19b37) +PRISM [arm64-darwin25]
built-ruby: ruby 4.1.0dev (2026-01-21T08:21:05Z opt-basename 7eb11745b2) +PRISM [arm64-darwin25]
```
| |compare-ruby|built-ruby|
|:----------|-----------:|---------:|
|long | 3.412M| 18.158M|
| | -| 5.32x|
|long_name | 1.981M| 8.580M|
| | -| 4.33x|
|withext | 3.200M| 12.986M|
| | -| 4.06x|
Diffstat (limited to 'test/prism/errors/command_calls_21.txt')
0 files changed, 0 insertions, 0 deletions
