[#81492] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — normalperson@...

Issue #13618 has been reported by normalperson (Eric Wong).

12 messages 2017/06/01

[ruby-core:81560] [Ruby trunk Bug#13629][Rejected] Improve performance for copying array elements

From: nobu@...
Date: 2017-06-03 12:30:31 UTC
List: ruby-core #81560
Issue #13629 has been updated by nobu (Nobuyoshi Nakada).

Status changed from Open to Rejected

Nothing changed actually.

----------------------------------------
Bug #13629: Improve performance for copying array elements
https://bugs.ruby-lang.org/issues/13629#change-65263

* Author: watson1978 (Shizuo Fujita)
* Status: Rejected
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
ary_memcpy0() has calculated the cache line size every time when copy array elements.
This patch will replace it with pre calculated value of cache line size.

Array#+ will be faster around 2%.

### Before
~~~
      Array#+(other)      5.167M (賊 0.1%) i/s -     25.928M in   5.017629s
~~~

### After
~~~
      Array#+(other)      5.256M (賊 0.2%) i/s -     26.410M in   5.025261s
~~~

### Test code
~~~
require 'benchmark/ips'

Benchmark.ips do |x|
  x.report "Array#+(other)" do |loop|
    ary1 = [1, 2, 3]
    ary2 = [4, 5]
    i = 0
    while i < loop
      ary1 + ary2
      i += 1
    end
  end
end
~~~

### Patch
https://github.com/ruby/ruby/pull/1641



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

In This Thread

Prev Next