[#71815] [Ruby trunk - Bug #11768] [Open] Add a polymorphic inline cache — tenderlove@...
Issue #11768 has been reported by Aaron Patterson.
tenderlove@ruby-lang.org wrote:
On Thu, Dec 03, 2015 at 10:51:08PM +0000, Eric Wong wrote:
Aaron Patterson <tenderlove@ruby-lang.org> wrote:
[#71818] [Ruby trunk - Feature #11769] [Open] optimize case / when for `nil` — tenderlove@...
Issue #11769 has been reported by Aaron Patterson.
tenderlove@ruby-lang.org wrote:
[#71931] [Ruby trunk - Feature #11786] [Open] [PATCH] micro-optimize case dispatch even harder — normalperson@...
Issue #11786 has been reported by Eric Wong.
Oops, I forgot to free the table when iseq is destroyed :x
On 2015/12/08 12:43, Eric Wong wrote:
SASADA Koichi <ko1@atdot.net> wrote:
On 2015/12/08 13:53, Eric Wong wrote:
[#72028] [Ruby trunk - Feature #11405] [Assigned] [PATCH] hash.c: minor speedups to int/fixnum keys — mame@...
Issue #11405 has been updated by Yusuke Endoh.
mame@ruby-lang.org wrote:
[#72045] Ruby 2.3.0-preview2 Released — "NARUSE, Yui" <naruse@...>
We are pleased to announce the release of Ruby 2.3.0-preview2.
Please add your optimizations before RC1.
SASADA Koichi <ko1@atdot.net> wrote:
On 2015/12/11 18:06, Eric Wong wrote:
SASADA Koichi <ko1@atdot.net> wrote:
[#72069] [Ruby trunk - Feature #11405] [PATCH] hash.c: minor speedups to int/fixnum keys — mame@...
Issue #11405 has been updated by Yusuke Endoh.
[#72115] Re: [ruby-cvs:60264] duerst:r53112 (trunk): * enc/ebcdic.h: new dummy encoding EBCDIC-US — "U.NAKAMURA" <usa@...>
Hi,
On 2015/12/14 22:34, U.NAKAMURA wrote:
Hi,
[ruby-core:72467] Re: Ruby 2.3.0-preview2 Released
Thank you for your summary. I added entries in NEWS (r53268). For release announcement like that https://www.ruby-lang.org/en/news/2015/12/11/ruby-2-3-0-preview2-released/ I'm afraid that your summary is too long. So that I tried to summarize typical achievements. <2.3.0preview2> Ruby 2.3 includes many performance tuning fixes. For example, optimizing Proc#call, reconsidering method entry data structure, introducing new table data structure, machine code level tuning for object allocation and method calling code, and many other optimizations. </2.3.0preview2> <2.3.0> Ruby 2.3 includes many performance tuning fixes. For example, optimizing Proc#call, reconsidering method entry data structure, introducing new table data structure, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on. Check NEWS (Implementation improvements section) for details. </2.3.0> Corrections are welcome. (Proc#call is too trivial?) https://github.com/ruby/www.ruby-lang.org/pull/1250 is prepared announcement by naruse-san. On 2015/12/23 12:12, Eric Wong wrote: > OK. I will try (maybe Zachary and others can help edit)... > > Case dispatch is now optimized for all special constant literals > including nil, true, and false. Previously, only literal strings, > symbols, integers and floats compiled to optimized case dispatch. > https://bugs.ruby-lang.org/issues/11769 > (ed. I'm really not noticing this) > > Instance variables on non-pure Ruby classes (T_DATA, T_FILE, > etc..) is less expensive to store than before. > https://bugs.ruby-lang.org/issues/11170 > > All accesses to members of big Struct objects are performed in > constant-time. Previously, Struct elements beyond the first 10 > 10 elements used a linear scan. > https://bugs.ruby-lang.org/issues/10585 > > Fiddle::Function#call releases the GVL, allowing parallel execution > when calling 3rd-party libraries. This may expose threading bugs > in existing code using Fiddle, but Fiddle usage is currently uncommon. > https://bugs.ruby-lang.org/issues/11607 > > The Set class got several speedps: r52591 and > https://bugs.ruby-lang.org/issues/10754 > > > == Socket and I/O related changes: > > All non-blocking I/O (including socket) methods allow > `exception: false' to suppress expensive and noisy exceptions > in common usage: > https://bugs.ruby-lang.org/issues/10532 > https://bugs.ruby-lang.org/issues/11229 > > Furthermore, calling overhead of most of these keyword-using I/O > methods is reduced by avoiding the inefficient C API to parse keywords: > https://bugs.ruby-lang.org/issues/11339 > > Finally, the standard library is updated to use the improved > exception-free non-blocking I/O. This has the additional > benefit of quieter $DEBUG output in addition to reducing expensive > exceptions. > https://bugs.ruby-lang.org/issues/11044 > > Additionally, the Socket#recv* methods allow an optional > destination buffer to reduce GC pressure, based on the > existing behavior of IO#read* methods. > https://bugs.ruby-lang.org/issues/11242 > > > > (Linux-only) waiting on a single FD anywhere in the stdlib no longer > uses select(2), making it immune to slowdowns with high-numbered FDs > https://bugs.ruby-lang.org/issues/11081 > https://bugs.ruby-lang.org/issues/11377 > (probably not worth mentioning since it's Linux-only) > > Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> > <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core> > -- // SASADA Koichi at atdot dot net Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>