[#78949] [Ruby trunk Feature#13095] [PATCH] io.c (rb_f_syscall): remove deprecation notice — kosaki.motohiro@...
Issue #13095 has been updated by Motohiro KOSAKI.
3 messages
2017/01/03
[#78997] [Ruby trunk Bug#13110] Byte-based operations for String — shugo@...
Issue #13110 has been updated by Shugo Maeda.
3 messages
2017/01/06
[#79228] Re: [ruby-cvs:64576] naruse:r57410 (trunk): Prevent GC by volatile [Bug #13150] — Eric Wong <normalperson@...>
naruse@ruby-lang.org wrote:
5 messages
2017/01/23
[#79511] Re: [ruby-cvs:64576] naruse:r57410 (trunk): Prevent GC by volatile [Bug #13150]
— Eric Wong <normalperson@...>
2017/02/13
Eric Wong <normalperson@yhbt.net> wrote:
[#79518] Re: [ruby-cvs:64576] naruse:r57410 (trunk): Prevent GC by volatile [Bug #13150]
— Nobuyoshi Nakada <nobu@...>
2017/02/13
On 2017/02/13 10:04, Eric Wong wrote:
[#79298] [Ruby trunk Bug#13085][Assigned] io.c io_fwrite creates garbage — nobu@...
Issue #13085 has been updated by Nobuyoshi Nakada.
3 messages
2017/01/29
[#79337] Re: [ruby-changes:45397] normal:r57469 (trunk): io.c: recycle garbage on write — SASADA Koichi <ko1@...>
Eric:
4 messages
2017/01/31
[#79352] Re: [ruby-changes:45397] normal:r57469 (trunk): io.c: recycle garbage on write
— Eric Wong <normalperson@...>
2017/01/31
SASADA Koichi <ko1@atdot.net> wrote:
[ruby-core:79125] Re: [Ruby trunk Bug#13085] io.c io_fwrite creates garbage
From:
Eric Wong <normalperson@...>
Date:
2017-01-18 18:39:16 UTC
List:
ruby-core #79125
3-way benchmark results against trunk: copy1: 0001-v2-io.c-io_fwrite-copy-to-hidden-buffer-when-writing.patch built: 0001-basicsocket-Linux-workaround-for-excess-garbage-on-w.patch Execution time (sec) name trunk copy1 built io_copy_stream_write 0.708 0.659 0.707 io_copy_stream_write_socket 1.223 1.050 0.623 Speedup ratio: compare with the result of `trunk' (greater is better) name copy1 built io_copy_stream_write 1.074 1.001 io_copy_stream_write_socket 1.165 1.964 Memory usage (last size) (B) name trunk copy1 built io_copy_stream_write 75628544.000 6508544.000 75706368.000 io_copy_stream_write_socket 117719040.000 6991872.000 7069696.000 Memory consuming ratio (size) with the result of `trunk' (greater is better) name copy1 built io_copy_stream_write 11.620 0.999 io_copy_stream_write_socket 16.837 16.651 I plan to commit 0001-basicsocket-Linux-workaround-for-excess-garbage-on-w.patch in a week or so. It creates no regression other than larger socket.so size and extra method entries. If we find a better solution than copying to temporary buffer (0001-v2-io.c-io_fwrite-copy-to-hidden-buffer-when-writing.patch) we can revert. I don't like 0001-v2-io.c-io_fwrite-copy-to-hidden-buffer-when-writing.patch but it may be the least bad generic solution with current Ruby. Maybe it can be refined to use malloc+free instead of temporary Ruby string object, but that is an implementation detail. Extra memcpy bothers me greatly. Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>