Age | Commit message (Collapse) | Author |
---|
| |
| Notes: Merged: https://github.com/ruby/ruby/pull/12074 |
| Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/12074 |
| Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/12074 |
| Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |
| Notes: Merged: https://github.com/ruby/ruby/pull/11760 |
| This is slowing down benchmarks on x86, so lets revert it for now. Notes: Merged: https://github.com/ruby/ruby/pull/11275 |
| As the document states, it should return `self`, not `nil`. Fix up of f4b313f7338f5fbe37f73aae29f70aeb474f7f5b. |
| Speeds up ChunkyPNG. The interpreter is about 70% faster: ``` before: ruby 3.4.0dev (2024-07-03T15:16:17Z master 786cf9db48) [arm64-darwin23] after: ruby 3.4.0dev (2024-07-03T15:32:25Z ruby-downto 0b8b744ce2) [arm64-darwin23] ---------- ----------- ---------- ---------- ---------- ------------- ------------ bench before (ms) stddev (%) after (ms) stddev (%) after 1st itr before/after chunky-png 892.2 0.1 526.3 1.0 1.65 1.70 ---------- ----------- ---------- ---------- ---------- ------------- ------------ Legend: - after 1st itr: ratio of before/after time for the first benchmarking iteration. - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup. ``` YJIT is 2.5x faster: ``` before: ruby 3.4.0dev (2024-07-03T15:16:17Z master 786cf9db48) +YJIT [arm64-darwin23] after: ruby 3.4.0dev (2024-07-03T15:32:25Z ruby-downto 0b8b744ce2) +YJIT [arm64-darwin23] ---------- ----------- ---------- ---------- ---------- ------------- ------------ bench before (ms) stddev (%) after (ms) stddev (%) after 1st itr before/after chunky-png 709.4 0.1 278.8 0.3 2.35 2.54 ---------- ----------- ---------- ---------- ---------- ------------- ------------ Legend: - after 1st itr: ratio of before/after time for the first benchmarking iteration. - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup. ``` |
| Prefer built-in features over method calls that may be overridden. |
| * YJIT: Allow inlining ISEQ calls with a block * Leave a TODO comment about u16 inline_block |
| Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |
| Notes: Merged-By: peterzhu2118 <peter@peterzhu.ca> |
| 'Document-method' string in C file has a special treatment. In Ruby source file, however, it is considered to be part of the documentation. Note Numeric#size was migrated from C to Ruby, in 3208a5df2dfb429752a130a36274464e9924cf44 Notes: Merged: https://github.com/ruby/ruby/pull/7682 Merged-By: nobu <nobu@ruby-lang.org> |
| |
| Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |
| |
| Following up 465bd972ec2. If the actual implementation still resides in C, it should be documented in C just like all other places. |
| 465bd972ec2 didn't need to leave the obsoleted code. |
| Fixes [Bug #19343] Notes: Merged-By: mrkn <mrkn@ruby-lang.org> |
| * Improve some Integer and Float methods * Using alias and Remove unnecessary code * Remove commentout code Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |
| This patch is suggested by nobu. Benchmark result: ``` require 'benchmark' n = 10 ** 7 Benchmark.bm do |x| x.report("Fixnum/Fixnum") { a, b = 5, 2; n.times { a.ceildiv(b) } } x.report("Bignum/Bignum") { a, b = 10**100, 10**99 - 1; n.times { a.ceildiv(b) } } x.report("Bignum/Fixnum") { a, b = 10**100, 3; n.times { a.ceildiv(b) } } end ``` Original: ``` user system total real Fixnum/Fixnum 3.340009 0.043029 3.383038 ( 3.384022) Bignum/Bignum 8.229500 0.118543 8.348043 ( 8.349574) Bignum/Fixnum 8.328971 0.097842 8.426813 ( 8.426952) ``` Improved: ``` user system total real Fixnum/Fixnum 0.699140 0.000961 0.700101 ( 0.700199) Bignum/Bignum 5.076165 0.083160 5.159325 ( 5.159360) Bignum/Fixnum 5.548684 0.115372 5.664056 ( 5.666735) ``` Notes: Merged: https://github.com/ruby/ruby/pull/5965 |
| Notes: Merged: https://github.com/ruby/ruby/pull/5268 Merged-By: nobu <nobu@ruby-lang.org> |
| |
| |
| Treats: #allbits? #anybits? #nobits? #succ #pred #chr` #to_s #+ #- Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> |
| Notes: Merged: https://github.com/ruby/ruby/pull/4791 |
| |
| * Improve perfomance for Integer#size method [Feature #17135] * re-run ci * Let MJIT frame skip work for Integer#size Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |
| |
| Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |
| Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |
| forgotten in https://github.com/ruby/ruby/pull/4018 |
| Notes: Merged-By: k0kubun <takashikkbn@gmail.com> |