Commit 1d0c362
authored
Optimize
## Why?
The result of `encode(term)` can be cached.
## Benchmark
```
RUBYLIB= BUNDLER_ORIG_RUBYLIB= /Users/naitoh/.rbenv/versions/3.3.4/bin/ruby -v -S benchmark-driver /Users/naitoh/ghq/github.com/naitoh/rexml/benchmark/parse.yaml
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin22]
Calculating -------------------------------------
before after before(YJIT) after(YJIT)
dom 17.546 18.512 32.282 32.306 i/s - 100.000 times in 5.699323s 5.402026s 3.097658s 3.095448s
sax 25.435 28.294 47.526 50.074 i/s - 100.000 times in 3.931613s 3.534310s 2.104122s 1.997057s
pull 29.471 31.870 54.400 57.554 i/s - 100.000 times in 3.393211s 3.137793s 1.838222s 1.737494s
stream 29.169 31.153 51.613 52.898 i/s - 100.000 times in 3.428318s 3.209941s 1.937508s 1.890424s
Comparison:
dom
after(YJIT): 32.3 i/s
before(YJIT): 32.3 i/s - 1.00x slower
after: 18.5 i/s - 1.75x slower
before: 17.5 i/s - 1.84x slower
sax
after(YJIT): 50.1 i/s
before(YJIT): 47.5 i/s - 1.05x slower
after: 28.3 i/s - 1.77x slower
before: 25.4 i/s - 1.97x slower
pull
after(YJIT): 57.6 i/s
before(YJIT): 54.4 i/s - 1.06x slower
after: 31.9 i/s - 1.81x slower
before: 29.5 i/s - 1.95x slower
stream
after(YJIT): 52.9 i/s
before(YJIT): 51.6 i/s - 1.02x slower
after: 31.2 i/s - 1.70x slower
before: 29.2 i/s - 1.81x slower
```
- YJIT=ON : 1.00x - 1.06x faster
- YJIT=OFF : 1.05x - 1.11x fasterIOSource#read_until method (#210)1 parent 622011f commit 1d0c362
2 files changed
+36
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
227 | 228 | | |
228 | 229 | | |
229 | 230 | | |
230 | | - | |
| 231 | + | |
231 | 232 | | |
232 | 233 | | |
233 | 234 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
403 | 403 | | |
404 | 404 | | |
405 | 405 | | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
406 | 440 | | |
407 | 441 | | |
408 | 442 | | |
0 commit comments