diff options
| author | Jean Boussier <jean.boussier@gmail.com> | 2025-11-03 14:10:02 +0100 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2025-11-03 13:12:47 +0000 |
| commit | c49e4db680895735643d1001b2a0e4f405f49021 (patch) | |
| tree | 2503b6e9b8ac7d1929b863bf974594c1db625436 | |
| parent | 52a17bbe6d778d56cc600f73f107c1992350f877 (diff) | |
[ruby/json] parser.c: Always inline `json_eat_whitespace`
```
== Parsing activitypub.json (58160 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 1.174k i/100ms
Calculating -------------------------------------
after 11.756k (± 0.9%) i/s (85.06 μs/i) - 59.874k in 5.093438s
Comparison:
before: 11078.6 i/s
after: 11756.1 i/s - 1.06x faster
== Parsing twitter.json (567916 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 130.000 i/100ms
Calculating -------------------------------------
after 1.340k (± 0.3%) i/s (746.06 μs/i) - 6.760k in 5.043432s
Comparison:
before: 1191.1 i/s
after: 1340.4 i/s - 1.13x faster
== Parsing citm_catalog.json (1727030 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 68.000 i/100ms
Calculating -------------------------------------
after 689.451 (± 1.6%) i/s (1.45 ms/i) - 3.468k in 5.031470s
Comparison:
before: 630.3 i/s
after: 689.5 i/s - 1.09x faster
== Parsing float parsing (2251051 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 27.000 i/100ms
Calculating -------------------------------------
after 248.265 (± 0.8%) i/s (4.03 ms/i) - 1.242k in 5.003185s
Comparison:
before: 232.7 i/s
after: 248.3 i/s - 1.07x faster
```
https://github.com/ruby/json/commit/043880f6ab
Co-Authored-By: Scott Myron <samyron@gmail.com>
| -rw-r--r-- | ext/json/parser/parser.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c index 25eeb89e77..20754249e2 100644 --- a/ext/json/parser/parser.c +++ b/ext/json/parser/parser.c @@ -513,7 +513,7 @@ json_eat_comments(JSON_ParserState *state) } } -static inline void +static ALWAYS_INLINE() void json_eat_whitespace(JSON_ParserState *state) { while (true) { |
