Feature #16837

Updated by k0kubun (Takashi Kokubun) 3 months ago

## Problem 
 How can we make Ruby 3.0 as fast as (or faster than) Ruby 2.7? 

 ### Background 
 * Split ruby.h added some new assertions 
 * While it has been helpful for revealing various bugs, it also made some Ruby programs notably slow, especially Optcarrot 

 ## 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.