Feature #16837
Updated by k0kubun (Takashi Kokubun) over 4 years ago
## Problem
How can we make Ruby 3.0 as fast as (or faster than) Ruby 2.7?
### Background
* Split ruby.h https://github.com/ruby/ruby/pull/2991 added some new assertions
* While it has been helpful for revealing various bugs, it also made some Ruby programs notably slow, especially Optcarrot https://benchmark-driver.github.io/benchmarks/optcarrot/commits.html
## Possible approaches
I have no strong preference yet. Here are some random ideas:
* Optimize the assertion code somehow
* Enable the new assertions only on CIs, at least ones in hot spots
* Not sure which places have large impact on Optcarrot yet
* Make some other not-so-important assertions CI-only to offset the impact from new ones
* Provide .so for an assertion-enabled mode? (ko1's idea)
I hope people will comment more ideas in this ticket.