AMD Ryzen 7 9700X 8-Core Processor with 32 GB DDR5 6000
6.17.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 14 Nov 2025 06:54:20 +0000 x86_64 GNU/Linux
Puma version: 7.2.0 ("On The Corner")

Before: ruby 4.1.0dev (2026-01-06T04:38:13Z master ad6b85450d) +PRISM [x86_64-linux]
After: https://github.com/ruby/ruby/pull/15840/changes/66eec4a8c97c7927087a288fb8714532cbf7ac9d

---

Before:
Each worker sleeps for 5ms during each request with many requests
./benchmarks/local/long_tail_hey.sh -w2 -t5:5 -R100 -d0.005
Mult    RPS     50%      99%    ───────────────────── Hey Command ─────────────────────
6.00   1954   0.0306   0.0317   hey -c  60 -n  6000  http://127.0.0.1:40001/sleep0.005
4.00   1954   0.0204   0.0212   hey -c  40 -n  4000  http://127.0.0.1:40001/sleep0.005
3.00   1957   0.0153   0.0156   hey -c  30 -n  3000  http://127.0.0.1:40001/sleep0.005
2.00   1952   0.0102   0.0104   hey -c  20 -n  2000  http://127.0.0.1:40001/sleep0.005
1.50   1871   0.0067   0.0101   hey -c  15 -n  1500  http://127.0.0.1:40001/sleep0.005
1.00   1937   0.0051   0.0057   hey -c  10 -n  1000  http://127.0.0.1:40001/sleep0.005
Avg RPS: 1937

After:
./benchmarks/local/long_tail_hey.sh -w2 -t5:5 -R100 -d0.005
Mult    RPS     50%      99%    ───────────────────── Hey Command ─────────────────────
6.00   1913   0.0306   0.0348   hey -c  60 -n  6000  http://127.0.0.1:40001/sleep0.005
4.00   1953   0.0204   0.0214   hey -c  40 -n  4000  http://127.0.0.1:40001/sleep0.005
3.00   1955   0.0153   0.0155   hey -c  30 -n  3000  http://127.0.0.1:40001/sleep0.005
2.00   1953   0.0102   0.0106   hey -c  20 -n  2000  http://127.0.0.1:40001/sleep0.005
1.50   1901   0.0068   0.0103   hey -c  15 -n  1500  http://127.0.0.1:40001/sleep0.005
1.00   1936   0.0051   0.0055   hey -c  10 -n  1000  http://127.0.0.1:40001/sleep0.005
Avg RPS: 1935 (No difference)

---

Before:
Small sleep (100 micros) with many requests
./benchmarks/local/long_tail_hey.sh -w2 -t5:5 -R100 -d0.0001

Mult    RPS     50%      99%    ───────────────────── Hey Command ─────────────────────
6.00  35663   0.0014   0.0128   hey -c  60 -n  6000  http://127.0.0.1:40001/sleep0.0001
4.00  38265   0.0009   0.0023   hey -c  40 -n  4000  http://127.0.0.1:40001/sleep0.0001
3.00  44723   0.0006   0.0012   hey -c  30 -n  3000  http://127.0.0.1:40001/sleep0.0001
2.00  41101   0.0004   0.0013   hey -c  20 -n  2000  http://127.0.0.1:40001/sleep0.0001
1.50  43513   0.0003   0.0009   hey -c  15 -n  1500  http://127.0.0.1:40001/sleep0.0001
1.00  32079   0.0002   0.0010   hey -c  10 -n  1000  http://127.0.0.1:40001/sleep0.0001
Avg RPS: 39224

After:

Mult    RPS     50%      99%    ───────────────────── Hey Command ─────────────────────
6.00  37598   0.0013   0.0156   hey -c  60 -n  6000  http://127.0.0.1:40001/sleep0.0001
4.00  42681   0.0008   0.0022   hey -c  40 -n  4000  http://127.0.0.1:40001/sleep0.0001
3.00  42236   0.0006   0.0019   hey -c  30 -n  3000  http://127.0.0.1:40001/sleep0.0001
2.00  46691   0.0004   0.0010   hey -c  20 -n  2000  http://127.0.0.1:40001/sleep0.0001
1.50  43714   0.0003   0.0010   hey -c  15 -n  1500  http://127.0.0.1:40001/sleep0.0001
1.00  32928   0.0002   0.0010   hey -c  10 -n  1000  http://127.0.0.1:40001/sleep0.0001
Avg RPS: 40974 (increase 4.5%)


---

Before:
Even smaller sleep (1/100 ms) = 10 microseconds
./benchmarks/local/long_tail_hey.sh -w2 -t5:5 -R100 -d0.00001

Mult    RPS     50%      99%    ────────────────────── Hey Command ──────────────────────
6.00  36688   0.0013   0.0128   hey -c  60 -n  6000  http://127.0.0.1:40001/sleep0.00001
4.00  38687   0.0009   0.0029   hey -c  40 -n  4000  http://127.0.0.1:40001/sleep0.00001
3.00  45955   0.0006   0.0012   hey -c  30 -n  3000  http://127.0.0.1:40001/sleep0.00001
2.00  46138   0.0004   0.0012   hey -c  20 -n  2000  http://127.0.0.1:40001/sleep0.00001
1.50  44064   0.0003   0.0009   hey -c  15 -n  1500  http://127.0.0.1:40001/sleep0.00001
1.00  40188   0.0002   0.0009   hey -c  10 -n  1000  http://127.0.0.1:40001/sleep0.00001
Avg RPS: 41953

After:

Mult    RPS     50%      99%    ────────────────────── Hey Command ──────────────────────
6.00  40325   0.0012   0.0098   hey -c  60 -n  6000  http://127.0.0.1:40001/sleep0.00001
4.00  40766   0.0008   0.0027   hey -c  40 -n  4000  http://127.0.0.1:40001/sleep0.00001
3.00  49218   0.0006   0.0013   hey -c  30 -n  3000  http://127.0.0.1:40001/sleep0.00001
2.00  44074   0.0004   0.0014   hey -c  20 -n  2000  http://127.0.0.1:40001/sleep0.00001
1.50  42861   0.0003   0.0010   hey -c  15 -n  1500  http://127.0.0.1:40001/sleep0.00001
1.00  41182   0.0002   0.0008   hey -c  10 -n  1000  http://127.0.0.1:40001/sleep0.00001
Avg RPS: 43071 (increase 2.7%)

=====

Before
./benchmarks/local/response_time_wrk.sh -s tcp -w2 -t8

wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a1'    http://127.0.0.1:40001 | 635610 requests in 10.10s,  44.26MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c1'    http://127.0.0.1:40001 | 629108 requests in 10.10s,  43.81MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s1'    http://127.0.0.1:40001 | 625136 requests in 10.10s,  43.53MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i1'    http://127.0.0.1:40001 | 624840 requests in 10.10s,  43.51MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a10'   http://127.0.0.1:40001 | 626204 requests in 10.10s,  43.61MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c10'   http://127.0.0.1:40001 | 629091 requests in 10.10s,  43.81MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s10'   http://127.0.0.1:40001 | 623521 requests in 10.10s,  43.42MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i10'   http://127.0.0.1:40001 | 622795 requests in 10.10s,  43.37MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a100'  http://127.0.0.1:40001 | 625776 requests in 10.10s,  43.58MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c100'  http://127.0.0.1:40001 | 621155 requests in 10.10s,  43.25MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s100'  http://127.0.0.1:40001 | 625699 requests in 10.10s,  43.57MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i100'  http://127.0.0.1:40001 | 621540 requests in 10.10s,  43.28MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a256'  http://127.0.0.1:40001 | 626027 requests in 10.10s,  43.59MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c256'  http://127.0.0.1:40001 | 623811 requests in 10.10s,  43.44MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s256'  http://127.0.0.1:40001 | 619864 requests in 10.10s,  43.16MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i256'  http://127.0.0.1:40001 | 616002 requests in 10.10s,  42.90MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a512'  http://127.0.0.1:40001 | 616503 requests in 10.10s,  42.93MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c512'  http://127.0.0.1:40001 | 623171 requests in 10.10s,  43.40MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s512'  http://127.0.0.1:40001 | 625244 requests in 10.10s,  43.54MB read

After
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a1'    http://127.0.0.1:40001 | 685349 requests in 10.10s,  47.72MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c1'    http://127.0.0.1:40001 | 676782 requests in 10.10s,  47.13MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s1'    http://127.0.0.1:40001 | 669920 requests in 10.10s,  46.65MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i1'    http://127.0.0.1:40001 | 674729 requests in 10.10s,  46.99MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a10'   http://127.0.0.1:40001 | 680236 requests in 10.10s,  47.37MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c10'   http://127.0.0.1:40001 | 672238 requests in 10.10s,  46.81MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s10'   http://127.0.0.1:40001 | 665337 requests in 10.10s,  46.33MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i10'   http://127.0.0.1:40001 | 672931 requests in 10.10s,  46.86MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a100'  http://127.0.0.1:40001 | 678857 requests in 10.10s,  47.27MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c100'  http://127.0.0.1:40001 | 672657 requests in 10.10s,  46.84MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s100'  http://127.0.0.1:40001 | 666323 requests in 10.10s,  46.40MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i100'  http://127.0.0.1:40001 | 672034 requests in 10.10s,  46.80MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a256'  http://127.0.0.1:40001 | 673171 requests in 10.10s,  46.88MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c256'  http://127.0.0.1:40001 | 672113 requests in 10.10s,  46.80MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s256'  http://127.0.0.1:40001 | 670322 requests in 10.10s,  46.68MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: i256'  http://127.0.0.1:40001 | 670511 requests in 10.10s,  46.69MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: a512'  http://127.0.0.1:40001 | 665171 requests in 10.10s,  46.32MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: c512'  http://127.0.0.1:40001 | 664028 requests in 10.10s,  46.24MB read
wrk -t12 -c24 -d10s --latency -H 'Body-Conf: s512'  http://127.0.0.1:40001 | 668110 requests in 10.10s,  46.52MB read

Before avg: 624268
After avg: 672148
Increase 7.6%

---

Before:
./benchmarks/local/response_time_wrk.sh -s tcp -w2 -t16

wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a1'    http://127.0.0.1:40001 | 623502 requests in 10.10s,  43.42MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c1'    http://127.0.0.1:40001 | 616437 requests in 10.10s,  42.93MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s1'    http://127.0.0.1:40001 | 612220 requests in 10.10s,  42.63MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i1'    http://127.0.0.1:40001 | 605980 requests in 10.10s,  42.20MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a10'   http://127.0.0.1:40001 | 600353 requests in 10.10s,  41.81MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c10'   http://127.0.0.1:40001 | 608470 requests in 10.10s,  42.37MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s10'   http://127.0.0.1:40001 | 617892 requests in 10.10s,  43.03MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i10'   http://127.0.0.1:40001 | 610860 requests in 10.10s,  42.54MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a100'  http://127.0.0.1:40001 | 607454 requests in 10.10s,  42.30MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c100'  http://127.0.0.1:40001 | 603170 requests in 10.10s,  42.00MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s100'  http://127.0.0.1:40001 | 597098 requests in 10.10s,  41.58MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i100'  http://127.0.0.1:40001 | 596787 requests in 10.10s,  41.56MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a256'  http://127.0.0.1:40001 | 604227 requests in 10.10s,  42.08MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c256'  http://127.0.0.1:40001 | 599670 requests in 10.10s,  41.76MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s256'  http://127.0.0.1:40001 | 614165 requests in 10.10s,  42.77MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i256'  http://127.0.0.1:40001 | 608335 requests in 10.10s,  42.36MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a512'  http://127.0.0.1:40001 | 602950 requests in 10.10s,  41.99MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c512'  http://127.0.0.1:40001 | 598934 requests in 10.10s,  41.71MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s512'  http://127.0.0.1:40001 | 593387 requests in 10.10s,  41.32MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i512'  http://127.0.0.1:40001 | 587209 requests in 10.10s,  40.89MB read

Avg: 605455

After:
./benchmarks/local/response_time_wrk.sh -s tcp -w2 -t16

wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a1'    http://127.0.0.1:40001 | 665302 requests in 10.10s,  46.33MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c1'    http://127.0.0.1:40001 | 658080 requests in 10.10s,  45.83MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s1'    http://127.0.0.1:40001 | 654259 requests in 10.10s,  45.56MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i1'    http://127.0.0.1:40001 | 644970 requests in 10.10s,  44.91MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a10'   http://127.0.0.1:40001 | 649780 requests in 10.10s,  45.25MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c10'   http://127.0.0.1:40001 | 653826 requests in 10.10s,  45.53MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s10'   http://127.0.0.1:40001 | 657356 requests in 10.10s,  45.78MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i10'   http://127.0.0.1:40001 | 650105 requests in 10.10s,  45.27MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a100'  http://127.0.0.1:40001 | 644248 requests in 10.10s,  44.86MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c100'  http://127.0.0.1:40001 | 637471 requests in 10.10s,  44.39MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s100'  http://127.0.0.1:40001 | 630748 requests in 10.10s,  43.92MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i100'  http://127.0.0.1:40001 | 625006 requests in 10.10s,  43.52MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a256'  http://127.0.0.1:40001 | 618438 requests in 10.10s,  43.07MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c256'  http://127.0.0.1:40001 | 634689 requests in 10.10s,  44.20MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s256'  http://127.0.0.1:40001 | 660912 requests in 10.10s,  46.02MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i256'  http://127.0.0.1:40001 | 652599 requests in 10.10s,  45.44MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: a512'  http://127.0.0.1:40001 | 646365 requests in 10.10s,  45.01MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: c512'  http://127.0.0.1:40001 | 640518 requests in 10.10s,  44.60MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: s512'  http://127.0.0.1:40001 | 635738 requests in 10.10s,  44.27MB read
wrk -t25 -c50 -d10s --latency -H 'Body-Conf: i512'  http://127.0.0.1:40001 | 629550 requests in 10.10s,  43.84MB read

Avg: 644498
Increase: 6.5%
