[#78633] ruby/spec needs help from CRuby committers — Benoit Daloze <eregontp@...>
Currently, ruby/spec is maintained mostly by individuals and enjoys the
13 messages
2016/12/13
[#78963] Re: ruby/spec needs help from CRuby committers
— Urabe Shyouhei <shyouhei@...>
2017/01/04
I did ask attendees of last developer meeting to join this
[#78642] Re: ruby/spec needs help from CRuby committers
— Eric Wong <normalperson@...>
2016/12/14
Benoit Daloze <eregontp@gmail.com> wrote:
[ruby-core:78461] [Ruby trunk Feature#12996] Optimize Range#===
From:
co000ri@...
Date:
2016-12-02 05:09:00 UTC
List:
ruby-core #78461
Issue #12996 has been reported by Yuki Kurihara. ---------------------------------------- Feature #12996: Optimize Range#=== https://bugs.ruby-lang.org/issues/12996 * Author: Yuki Kurihara * Status: Open * Priority: Normal * Assignee: ---------------------------------------- The proposal is that Range#=== optimize by reducing method calls. ## Benchmark ~~~shell $ cat t.rb i = 0 while i < 1_000_000 case i when 1..1000 end i += 1 end ~~~ ~~~ $ time ./miniruby -e 1 ./miniruby -e 1 0.01s user 0.00s system 85% cpu 0.013 total ~~~ ### Before ~~~ $ time ./miniruby t.rb ./miniruby t.rb 0.60s user 0.00s system 99% cpu 0.605 total ~~~ ### After ~~~ $ time ./miniruby t.rb ./miniruby t.rb 0.41s user 0.00s system 99% cpu 0.420 total ~~~ ## Important point Break compatibility in this case. https://github.com/ruby/ruby/blob/80045bc2a9e12012d6d16517ea5cb037e67eb2c1/test/ruby/test_range.rb#L333-L355 I don't know how to fix this issue. But I think, This is a key sentence maybe. https://github.com/ruby/ruby/blob/8130ee5c9dea6d1323d41271cc01c8dc5d8bcc5d/range.c#L1176 ---Files-------------------------------- range-eqq.patch (1.35 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>