[#71439] [Ruby trunk - Feature #11339] [PATCH] io.c: avoid kwarg parsing in C API — matz@...
Issue #11339 has been updated by Yukihiro Matsumoto.
7 messages
2015/11/11
[#71473] Re: [Ruby trunk - Feature #11339] [PATCH] io.c: avoid kwarg parsing in C API
— Eric Wong <normalperson@...>
2015/11/13
Entire series for sockets
[#71450] Ruby 2.3.0-preview1 Released — "NARUSE, Yui" <naruse@...>
Hi,
5 messages
2015/11/11
[#71617] [Ruby trunk - Feature #11664] [PATCH] introduce rb_autoload_value to replace rb_autoload — nobu@...
Issue #11664 has been updated by Nobuyoshi Nakada.
3 messages
2015/11/20
[#71721] [Ruby trunk - Feature #11741] Migrate Ruby to Git from Subversion — me@...
Issue #11741 has been updated by Jon Moss.
4 messages
2015/11/28
[ruby-core:71617] [Ruby trunk - Feature #11664] [PATCH] introduce rb_autoload_value to replace rb_autoload
From:
nobu@...
Date:
2015-11-20 23:44:20 UTC
List:
ruby-core #71617
Issue #11664 has been updated by Nobuyoshi Nakada. Description updated The new function looks fine to me, but why deprecating `rb_autoload`? We used to append `_str` in many cases, IIRC. ---------------------------------------- Feature #11664: [PATCH] introduce rb_autoload_value to replace rb_autoload https://bugs.ruby-lang.org/issues/11664#change-55017 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: ---------------------------------------- `rb_autoload_value` may be safer by preventing premature GC. It can also be more efficient by passing a pre-frozen string that can be deduped using `rb_fstring`. Common autoload callers (e.g. rubygems, rdoc) already use string literals as the file argument. There seems to be no reason to expose `rb_autoload_value` to the public C API since autoload is not performance-critical. Applications may declare autoloads in Ruby code or via `rb_funcall`; so merely deprecate `rb_autoload` without exposing `rb_autoload_value` to new users. Running: `valgrind -v ruby -rrdoc -rubygems -e exit` shows a minor memory reduction (32-bit userspace) before: ~~~ in use at exit: 1,600,621 bytes in 28,819 blocks total heap usage: 55,786 allocs, 26,967 frees, 6,693,790 bytes allocated ~~~ after: ~~~ in use at exit: 1,599,778 bytes in 28,789 blocks total heap usage: 55,739 allocs, 26,950 frees, 6,692,973 bytes allocated ~~~ ---Files-------------------------------- 0001-introduce-rb_autoload_value-to-replace-rb_autoload.patch (3.89 KB) -- https://bugs.ruby-lang.org/