[#56965] [ruby-trunk - Bug #8852][Open] Synology build of ruby-2.0.0-p247 is failing — "barbecuesteve (Steve Sparks)" <sparks@...>

12 messages 2013/09/02

[#57051] [ruby-trunk - Bug #8872][Open] Case statements do not honor a refinement of the '===' method — "jconley88 (Jon Conley)" <schnozberries@...>

21 messages 2013/09/07

[#57058] [ruby-trunk - Bug #8875][Open] Select is not usable with SSLSocket — "headius (Charles Nutter)" <headius@...>

11 messages 2013/09/07

[#57074] [ruby-trunk - Bug #8879][Open] String#to_r fails after moving ruby to other OSX system — "mpapis (Michal Papis)" <mpapis@...>

12 messages 2013/09/08

[#57092] [ruby-trunk - Bug #8883][Open] Rational canonicalization unexpectedly converts to Fixnum — "melquiades (Paul Cantrell)" <cantrell@...>

16 messages 2013/09/09

[#57109] [ruby-trunk - Bug #8886][Open] TracePoint API inconsistence when raise used — deivid (David Rodríguez) <deivid.rodriguez@...>

14 messages 2013/09/10

[#57111] [ruby-trunk - Feature #8887][Open] min(n), max(n), min_by(n), max_by(n) — "akr (Akira Tanaka)" <akr@...>

13 messages 2013/09/10

[#57131] [ruby-trunk - Feature #8895][Open] Destructuring Assignment for Hash — "chendo (Jack Chen)" <ruby-lang@...>

19 messages 2013/09/11

[#57186] [ruby-trunk - Feature #8909][Open] Expand "f" frozen suffix to literal arrays and hashes — "headius (Charles Nutter)" <headius@...>

37 messages 2013/09/14

[#57262] [ruby-trunk - Feature #8921][Open] Allow select, reject, etc to accept a regex — "kyledecot (Kyle Decot)" <kyle.decot@...>

13 messages 2013/09/18

[#57273] [ruby-trunk - Feature #8923][Open] Frozen nil/true/false — "ko1 (Koichi Sasada)" <redmine@...>

13 messages 2013/09/19

[#57353] [ruby-trunk - Feature #8948][Open] Frozen regex — "sawa (Tsuyoshi Sawada)" <sawadatsuyoshi@...>

19 messages 2013/09/24

[#57385] [ruby-trunk - Bug #8953][Open] `str =~ /pattern/` does not call =~ method if (1) str is a String, (2) /pattern/ is a Regexp literal — "gfx (Goro Fuji)" <gfuji@...>

12 messages 2013/09/26

[#57396] [ruby-trunk - Feature #8956][Open] Allow hash members delimited by \n inside of {} — "adamdunson (Adam Dunson)" <adam@...>

20 messages 2013/09/26

[ruby-core:57463] [ruby-trunk - misc #8962] [DOC] add step to enable Generational GC merits in README.EXT*

From: "nobu (Nobuyoshi Nakada)" <nobu@...>
Date: 2013-09-28 11:37:35 UTC
List: ruby-core #57463
Issue #8962 has been updated by nobu (Nobuyoshi Nakada).

Description updated


----------------------------------------
misc #8962: [DOC] add step to enable Generational GC merits in README.EXT*
https://bugs.ruby-lang.org/issues/8962#change-42069

Author: tad (Tadashi Saito)
Status: Open
Priority: Normal
Assignee: zzak (Zachary Scott)
Category: doc
Target version: current: 2.1.0


=begin

Is there any chance to reap the benefit of new Generational GC merits for
C-extension library authors?

== Background

First of all: RGenGC is great.  Ko1 showed that it could make significant
performance improvement at RubyKaigi2013. (especially P82)
((<RubyKaigi2013-ko1.pdf|URL:http://www.atdot.net/~ko1/activities/RubyKaigi2013-ko1.pdf>))

I guess the improvement is triggered by marking most (or all?) of built-in
classes as WB-protected struct to work with Generational GC.

== Motivation

As an extension library author, I want to try to get the performance merit.
But there is no document or guide to enable it.

The PDF says "Inserting WBs step by step, and increase performance gradually",
and I believe it is the greatest point of RGenGC, but there is no guide to
proceed with the steps for now. It's sad.

== Subject

Could you write about it as a document, ko1 or anyone?
I guess it's good to be written at ((%README.EXT*%)).
(The case of ((%iseq.c%)) may be used as an example.)

I'm glad to see the documents are written before Ruby 2.1 release.

== Restriction

Sorry for the absence of my knowledge.  Because I'm not good at
RGenGC, I could't write the document by myself but could only request.

PS
I guess this issue depends on #3064 (sorry, in Japanse), the request of
documenting (({RTypedData})), because there is no interface to specify
(({FL_WB_PROTECTED})) flag with traditional (({RData})).

=end



-- 
http://bugs.ruby-lang.org/

In This Thread