Skip to content

Use SWAR for parsing integers on little endian machines#885

Merged
byroot merged 1 commit into
ruby:masterfrom
byroot:parse-digits-swar
Nov 1, 2025
Merged

Use SWAR for parsing integers on little endian machines#885
byroot merged 1 commit into
ruby:masterfrom
byroot:parse-digits-swar

Conversation

@byroot

@byroot byroot commented Nov 1, 2025

Copy link
Copy Markdown
Member

Closes: #878

== Parsing float parsing (2251051 bytes)
ruby 3.4.6 (2025-09-16 revision dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
               after    23.000 i/100ms
Calculating -------------------------------------
               after    214.382 (± 0.5%) i/s    (4.66 ms/i) -      1.081k in   5.042555s

Comparison:
              before:      189.5 i/s
               after:      214.4 i/s - 1.13x  faster

FYI: @samyron

Closes: ruby#878

```
== Parsing float parsing (2251051 bytes)
ruby 3.4.6 (2025-09-16 revision dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
               after    23.000 i/100ms
Calculating -------------------------------------
               after    214.382 (± 0.5%) i/s    (4.66 ms/i) -      1.081k in   5.042555s

Comparison:
              before:      189.5 i/s
               after:      214.4 i/s - 1.13x  faster
```

Co-Authored-By: Scott Myron <samyron@gmail.com>
@byroot byroot force-pushed the parse-digits-swar branch from 1e237d4 to 6348ff0 Compare November 1, 2025 10:16
@byroot byroot merged commit 6f1d3c3 into ruby:master Nov 1, 2025
37 checks passed
@samyron

samyron commented Nov 1, 2025

Copy link
Copy Markdown
Contributor

Thank you for the improvements.

@byroot byroot deleted the parse-digits-swar branch June 16, 2026 07:40
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.

2 participants