[#53944] [ruby-trunk - Bug #8210][Open] Multibyte character interfering with end-line character within a regex — "sawa (Tsuyoshi Sawada)" <sawadatsuyoshi@...>

14 messages 2013/04/03

[#53974] [ruby-trunk - Feature #8215][Open] Support accessing Fiber-locals and backtraces for a Fiber — "halorgium (Tim Carey-Smith)" <ruby-lang-bugs@...>

14 messages 2013/04/03

[#54095] [ruby-trunk - Feature #8237][Open] Logical method chaining via inferred receiver — "wardrop (Tom Wardrop)" <tom@...>

34 messages 2013/04/08

[#54138] [ruby-trunk - Bug #8241][Open] If uri host-part has underscore ( '_' ), 'URI#parse' raise 'URI::InvalidURIError' — "neocoin (Sangmin Ryu)" <neocoin@...>

9 messages 2013/04/09

[#54185] [CommonRuby - Feature #8257][Open] Exception#cause to carry originating exception along with new one — "headius (Charles Nutter)" <headius@...>

43 messages 2013/04/11

[#54196] Encouraging use of CommonRuby — Charles Oliver Nutter <headius@...>

I think we need to do more to encourage the use of the CommonRuby

20 messages 2013/04/11
[#54200] Re: Encouraging use of CommonRuby — Marc-Andre Lafortune <ruby-core-mailing-list@...> 2013/04/11

Hi,

[#54211] Re: Encouraging use of CommonRuby — "NARUSE, Yui" <naruse@...> 2013/04/12

As far as I understand, what is CommonRuby and the process over CommonRuby

[#54207] [CommonRuby - Feature #8258][Open] Dir#escape_glob — "steveklabnik (Steve Klabnik)" <steve@...>

15 messages 2013/04/12

[#54218] [CommonRuby - Feature #8259][Open] Atomic attributes accessors — "funny_falcon (Yura Sokolov)" <funny.falcon@...>

43 messages 2013/04/12

[#54288] [CommonRuby - Feature #8271][Open] Proposal for moving to a more visible, formal process for feature requests — "headius (Charles Nutter)" <headius@...>

15 messages 2013/04/15

[#54333] Requesting Commit Access — Aman Gupta <[email protected]>

Hello ruby-core,

16 messages 2013/04/16

[#54473] [Backport 200 - Backport #8299][Open] Minor error in float parsing — "bobjalex (Bob Alexander)" <bobjalex@...>

27 messages 2013/04/19

[#54532] [ruby-trunk - Bug #8315][Open] mkmf does not include include paths from pkg_config anymore — "Hanmac (Hans Mackowiak)" <hanmac@...>

11 messages 2013/04/23

[#54621] [ruby-trunk - Feature #8339][Open] Introducing Geneartional Garbage Collection for CRuby/MRI — "ko1 (Koichi Sasada)" <redmine@...>

43 messages 2013/04/27
[#54643] [ruby-trunk - Feature #8339] Introducing Geneartional Garbage Collection for CRuby/MRI — "authorNari (Narihiro Nakamura)" <authorNari@...> 2013/04/28

[#54649] Re: [ruby-trunk - Feature #8339] Introducing Geneartional Garbage Collection for CRuby/MRI — SASADA Koichi <ko1@...> 2013/04/28

(2013/04/28 9:23), authorNari (Narihiro Nakamura) wrote:

[#54657] Re: [ruby-trunk - Feature #8339][Open] Introducing Geneartional Garbage Collection for CRuby/MRI — Magnus Holm <judofyr@...> 2013/04/28

On Sat, Apr 27, 2013 at 8:19 PM, ko1 (Koichi Sasada)

[#54665] [ruby-trunk - Bug #8344][Open] Status of Psych and Syck — "Eregon (Benoit Daloze)" <redmine@...>

18 messages 2013/04/28

[ruby-core:54705] Re: [ruby-trunk - Feature #8339][Open] Introducing Geneartional Garbage Collection for CRuby/MRI

From: SASADA Koichi <ko1@...>
Date: 2013-04-30 06:10:32 UTC
List: ruby-core #54705
Now, I add "disable RGENGC feature".
A macro USE_RGENGC in include/ruby/ruby.h enable/disable RGENGC completely.

If performance of RGENGC is not enough, then it can be disabled easily.

It is a big change. So I hope someone verify our algorithm and approach.
And merge it ASAP.

---
Note:
After discussion with Magnus Holm (*1), I changed OBJ_WB(a, b) interface
to OBJ_WRITE(a, ptr, b). This interface do two:
 (1) *ptr = b
 (2) make write barrier with a and b

In some cases (*2), we can't get ptr to store b, so I add another
interface OBJ_CONNECT(a, oldval, b). This only makes wb.

(*1) [ruby-core:54671] Re: [ruby-trunk - Feature #8339][Open]
Introducing Geneartional Garbage Collection for CRuby/MRI

(*2) st_insert()

Thank you,
Koichi

(2013/04/28 3:19), ko1 (Koichi Sasada) wrote:
> 
> Issue #8339 has been reported by ko1 (Koichi Sasada).
> 
> ----------------------------------------
> Feature #8339: Introducing Geneartional Garbage Collection for CRuby/MRI
> https://bugs.ruby-lang.org/issues/8339
> 
> Author: ko1 (Koichi Sasada)
> Status: Open
> Priority: Normal
> Assignee: ko1 (Koichi Sasada)
> Category: core
> Target version: current: 2.1.0
> 
> 
> |  One day a Rubyist came to Koichi and said, "I understand how to improve 
> |  CRuby's performance. We must use a generational garbage collector." Koichi
> |  patiently told the Rubyist the following story: "One day a Rubyist came 
> |  to Koichi and said, 'I understand how to improve CRuby's performance..."
> |  [This story is an homage of an introduction in a paper:
> |   "A real-time garbage collector based on the lifetimes of objects"
> |   (by Henry Lieberman, Carl Hewitt)
> |   <http://dl.acm.org/citation.cfm?id=358147&CFID=321285546&CFTOKEN=10963356>]
> 
> We Heroku Matz team developed a new generational mark&sweep garbage
> collection algorithm RGenGC for CRuby/MRI.
> (correctly speaking, it is generational marking algorithm)
> 
> What goods are:
> 
>   * Reduce marking time (yay!)
>   * My algorithm doesn't introduce any incompatibility into normal C-exts.
>   * Easy to development
> 
> Please read more details in attached PDF file.
> Code is: https://github.com/ko1/ruby/tree/rgengc
> 
> How about to introduce this new GC algorithm/implementation into Ruby 2.1.0?
> 
> Thanks,
> Koichi


-- 
// SASADA Koichi at atdot dot net

In This Thread