From: naruse@... Date: 2020-05-11T16:46:39+00:00 Subject: [ruby-core:98264] [Ruby master Feature#16837] Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions? Issue #16837 has been updated by naruse (Yui NARUSE). I want Ruby 2.8/3.0 is faster than 2.7 by default. NDEBUG is not acceptable. I think Microsoft's _DEBUG approach is more reasonable. ---------------------------------------- Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions? https://bugs.ruby-lang.org/issues/16837#change-85502 * Author: k0kubun (Takashi Kokubun) * Status: Open * Priority: Normal ---------------------------------------- ## 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. -- https://bugs.ruby-lang.org/ Unsubscribe: