# \[Feature #2471\] want to choose a GC algorithm

**URL:** <https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030>\
**Category:** Development\
**Created:** [December 10, 2009, 12:43am UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030 "2009-12-10T00:43:16Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [December 10, 2009, 12:43am UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/1 "2009-12-10T00:43:16Z")

</div>

Feature #2471: want to choose a GC algorithm  
[http://redmine.ruby-lang.org/issues/show/2471](http://redmine.ruby-lang.org/issues/show/2471)

e$B5/I\<\<Te(B: \_ wanabe  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
e$B%+%F%4%je(B: core, Target version: 1.9.2

GC  
e$B$N%"%k%4%j%:%`$rJ#?tMQ0U$7$F!"A\*Br2DG=$K$9$k$N$O$I$&$G$7$g$&$+!#e(B  
e$B%Q%C%A$rE:IU$7$^$9!#$?$?$-Bf$K$7$F$$$?$@$1$l$P9,$$$G$9!#e(B

e$BA_BrBP\>]$H$7$F!“e(BauthorNari e$B$5$s$Ne(B LazySweep  
 [http://www.narihiro.info/resource/patch/rb\_gc\_lazy\_improve.diff](http://www.narihiro.info/resource/patch/rb_gc_lazy_improve.diff)  
e$B$r;H$o$;$F$$$?$@$-$^$7$?!#$”$j$,$H$&$4$6$$$^$9!#e(B  
e$B5/F0;~$K4D6-JQ?te(B RUBYGC e$B$Ke(B lazy e$B$rBeF~$7$F$_$/$3$H$Ge(B  
LazySweep e$B$,M-8z$K$J$j$^$9!#e(B

e$B%3%s%Q%$%k;~$Ke(B NOSELECT\_GC  
e$BDj?t$rDj5A$9$k$3$H$GL58z$K$9$k$3$H$b2DG=$G$9!#e(B  
e$B4X?t%]%$%s%?$r;2\>H$9$k$o$:$+$JCY1d$,5v$;$J$$?M8~$1$K0l1~MQ0U$7$^$7$?$,!“e(B  
e$BE,@Z$Ke(B GC  
e$B$rA\*Br$9$k$J$i$P$”$^$jLdBj$K$J$i$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [December 10, 2009, 1:54am UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/2 "2009-12-10T01:54:41Z")

</div>

> e$BA_BrBP\>]$H$7$F!“e(BauthorNari e$B$5$s$Ne(B LazySweep  
> [http://www.narihiro.info/resource/patch/rb\_gc\_lazy\_improve.diff](http://www.narihiro.info/resource/patch/rb_gc_lazy_improve.diff)  
> e$B$r;H$o$;$F$$$?$@$-$^$7$?!#$”$j$,$H$&$4$6$$$^$9!#e(B  
> e$B5/F0;~$K4D6-JQ?te(B RUBYGC e$B$Ke(B lazy e$B$rBeF~$7$F$_$/$3$H$Ge(B LazySweep e$B$,M-8z$K$J$j$^$9!#e(B
> 
> e$B%3%s%Q%$%k;~$Ke(B NOSELECT\_GC e$BDj?t$rDj5A$9$k$3$H$GL58z$K$9$k$3$H$b2DG=$G$9!#e(B  
> e$B4X?t%]%$%s%?$r;2\>H$9$k$o$:$+$JCY1d$,5v$;$J$$?M8~$1$K0l1~MQ0U$7$^$7$?$,!“e(B  
> e$BE,@Z$Ke(B GC e$B$rA\*Br$9$k$J$i$P$”$^$jLdBj$K$J$i$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B

[e$BC&@~%?%$%`%9%?!\<%He(B]

e$B$[$H$s$I$N%f!\<%6$O\<+J,$N%o!\<%/%m!\<%I$K:GE,$Je(BGCe$B$rA\*$V==J,$J\>pJs$re(B  
e$B;}$C$F$$$J$$$N$G!“%(%s%I%f!\<%6;kE@$G$O$”$^$j0UL#$,$J$$3HD%$K;W$($^$9!#e(B  
e$B$^$?!“%\*!\<%W%s%=!\<%9$N@-\<A$H$7$F0B0W$J%o!\<%/%”%i%&%s%I$rMQ0U$9$k$HE,@Z$Je(B  
e$B%U%#!\<%I%P%C%/$,JV$C$F$3$J$/$J$k$N$G%G%U%)%k%He(BGCe$B$N2~A1$,CY$l$k$H$$$&e(B  
e$B%j%9%/$,$"$j$^$9!#e(B

e$B$3$l$OC/$,$&$l$7$/$J$k$3$H$r0U?^$7$F$$$k%Q%C%A$J$N$G$7$g$&$+!)e(B

---

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [December 10, 2009, 11:07am UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/3 "2009-12-10T11:07:13Z")

</div>

e$B%o%J%Y$H?=$7$^$9!#e(B

09/12/10 KOSAKI Motohiro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > Feature #2471: want to choose a GC algorithm  
> > GC e$B$N%"%k%4%j%:%`$rJ#?tMQ0U$7$F!"A\*Br2DG=$K$9$k$N$O$I$&$G$7$g$&$+!#e(B

> e$B$[$H$s$I$N%f!\<%6$O\<+J,$N%o!\<%/%m!\<%I$K:GE,$Je(BGCe$B$rA\*$V==J,$J\>pJs$re(B  
> e$B;}$C$F$$$J$$$N$G!“%(%s%I%f!\<%6;kE@$G$O$”$^$j0UL#$,$J$$3HD%$K;W$($^$9!#e(B  
> e$B$^$?!“%\*!\<%W%s%=!\<%9$N@-\<A$H$7$F0B0W$J%o!\<%/%”%i%&%s%I$rMQ0U$9$k$HE,@Z$Je(B  
> e$B%U%#!\<%I%P%C%/$,JV$C$F$3$J$/$J$k$N$G%G%U%)%k%He(BGCe$B$N2~A1$,CY$l$k$H$$$&e(B  
> e$B%j%9%/$,$"$j$^$9!#e(B
> 
> e$B$3$l$OC/$,$&$l$7$/$J$k$3$H$r0U?^$7$F$$$k%Q%C%A$J$N$G$7$g$&$+!)e(B

GC e$B$KA4A3\>$7$/$J$$$N$G!“30$7$?;v$r=q$$$F$7$^$C$?$i$9$\_$^$;$s!#e(B  
e$BNc$($P!”%“%/%7%g%s%2!\<%`$re(B Ruby e$B$G:n$j$?$$\>l9g$Oe(B LazySweep  
e$B$r;XDj$7$?$[$&$,$$$$e(B  
e$B$H$$$&$h$&$JDj@P$H$7$F9-$^$k$HLLGr$$!”$H9M$($F$$$^$7$?!#e(B  
e$B$=$&$$$C$?J}$,$I$l$@$1$$$k$+CN$j$^$;$s$,!#e(B

e$B$H$$$&$N$,7zA0$G!“K\2;$Oe(B GC  
e$B3+H/\<T$\*$h$S$=$NK54Q\<T$K4r$7$$$H$$$&$N$,Bg$-$$$G$9!#e(B  
e$B!J$3$NK54Q\<T$O!“e(BGC  
e$B$K6=L#$,$”$k$1$l$I$b\<j$O=P$;$J$$;d$N$h$&$J?M$r;X$7$^$9!#!Ke(B  
e$B8@$o$l$F$\_$k$H3N$+$K!”%G%U%)%k%He(B GC  
e$B$N2~A1$NCY$l$K$D$J$,$k2DG=@-$OH]Dj$G$-$^$;$s!#e(B  
e$B$7$+$7!"BhFs!"Bh;0$Ne(B GC e$B$N2~A1$K$O$D$J$,$j$^$9!#e(B

e$BA0=R$Ne(B LazySweep  
e$B$rNc$K\<h$l$P!";n$7$?$$\>l9g$O\<+J,$G%Q%C%A$rEv$F$J$1$l$P$J$i$:!“e(B  
e$B3hH/$K3+H/$5$l$F$$$ke(B trunk e$B$KDI?o$9$k$N$O$+$J$jLLE]$G$7$?!#e(B  
e$B$=$N$?$a9-$/$O;H$o$l$:!J\<:Ni$J8@$$J}$G$9$\_$^$;$s!K!”$=$N7k2Le(B nari  
e$B$5$s$,e(B  
e$B%G%P%C%0Ey$[$!J$9$Y$F!)!K$\*0l?M$G40@.$5$;$?$b$N$HG’\<1$7$F$$$^$9!#e(B

e$B$I$NLL$K$\*$$$F$b%G%U%)%k%H$Ne(B GC e$B$rD6$($ke(B GC  
e$B$,$5$C$H$G$-$l$P$=$l$G$$$$$N$G$9$,e(B  
e$B$I$3$+$KITMx$JE@$,$“$k$HK:NMQ$H$O$J$i$:!”\>e$N$h$&$K;H$o$l$:2~A1$bCY$l$^$9!#e(B

e$B$3$l$G$O$“$^$j$KHs8zN(E\*$J$N$G!”%l%]%8%H%j$K$N$;$F5$7Z$K;n$;$k$h$&$K$7e(B  
e$B$=$3$G9-$/%G%P%C%0$7$?$[$&$,$$$$$N$G$O$J$$$+!“$H$$$&$N$,\<q;]$G$9!#e(B  
e$B$=$&$7$F$$$:$l%G%U%)%k%H$,CV$-49$($i$l$k$+$b$7$l$^$;$s$7!”$=$&$G$b$J$$$+$b$7$l$^$;$s!#e(B  
e$BCV$-49$($i$l$J$+$C$?$H$7$F$b!“0lHV:G=i$K5s$2$?$h$&$KM-MQ$J6ILL$,e(B  
Tips e$BE\*$K9-$^$l$Pe(B  
e$B$=$l$O$=$l$G2ACM$,$”$k$H;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [December 10, 2009, 5:14pm UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/4 "2009-12-10T17:14:46Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:39867] Re: [Feature #2471] want to choose a GC  
algorithm”  
on Fri, 11 Dec 2009 00:02:42 +0900, Narihiro N.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|e$B$?$@!“e(BGCe$B\<+BN$N2~A1!J9bB.2=Ey!K$H$$$&4QE@$G8+$k$H!”:#$^$G$Ne(BCRubye$B$Ne(BGCe$B$O$=e(B  
|e$B$l$[$IBg$-$J2~A1$O$J$5$l$F$$$J$$$N$G!"FC$K$3$N%Q%C%A$,F~$k$3$H$K$h$C$F!“e(B  
|e$B$5$i$K2~A1$,CY$/$J$k$H$$$&$3$H$b$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B  
|e$B5U$Ke(BLazySweepe$B$,\>e\<j$/0i$C$F$/$l$l$P!”%G%U%)%k%H$Ne(BGCe$B$K\<h$C$FBe$o$k$H$$$&e(B  
|e$B$N$bLLGr$$$+$b$7$l$^$;$s!#e(B

e$B$C$F$$$&$+!“e(BLazySweepe$B$C$F!V\<h$C$FBe$o$k!W$h$&$JBg$-$J%”%k%4%je(B  
e$B%:%`$NJQ99$G$O$J$$$H;W$$$^$9!#$“$^$jBg$-$J%H%l!\<%I%\*%U$b$J$5e(B  
e$B$=$&$J$N$G!”$A$c$s$H%P%0$,\<h$l$?$J$i$$$D$bM-8z$K$7$F$$$F$b$he(B  
e$B$$$h$&$J!#e(B

e$B$=$&$$$&0UL#$G$O!“e(BLazySweepe$B$,e(Bon/offe$B$G$-$k$3$H$N%a%j%C%H$,ITL@e(B  
e$B$J$N$G!”$3$N%Q%C%A$K$O;?@.$7$^$;$s!#$3$l$,e(Bcopy-on-write  
friendly GCe$B$H$+e(Bmostly-copying GCe$B$N$h$&$J@-G=FC@-$,Bg$-$/JQ$oe(B  
e$B$j$=$&$J$b$N$J$i!“@Z$jBX$($K0UL#$,$”$k$+$b$7$l$^$;$s!#e(B

GCe$B$K$D$$$F$O!"e(B

- e$B$5$5$@$/$s$N$H$3$m$N%a%b%j%"%m%1!\<%7%g%s$Ke(Bmmape$B$r;H$&2~A1e(B
- e$B$=$N1~MQ$H$7$F$N%S%C%H%^%C%W%^!\<%-%s%0e(B
- LazySweep

e$B$,$H$j$"$($:M-K\>$=$&$J2~A1$@$H;W$$$^$9!#:#8e$N2]Bj$H$7$F$Oe(B

- multi threadede$B$Je(Bsweep
- e$B1-@n$5$s$N$H$3$m$Ne(Bmostly-copying GC
- e$B%i%$%H%P%j%"$NF3F~e(B

e$B$J$I$,9M$($i$l$^$9$,!"$3$l$i$O2r7h$9$Y$-2]Bj$,$^$@$^$@B?$=$&e(B  
e$B$G$9!#e(B

```
                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

```

---

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [December 10, 2009, 4:03pm UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/5 "2009-12-10T16:03:21Z")

</div>

narie$B$G$9!#e(B

GCe$B$HJ9$$$FMh$^$7$?!#e(B

2009e$BG/e(B12e$B7ne(B10e$BF|e(B9:54 KOSAKI Motohiro  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):  
(snip)

> > e$BE,@Z$Ke(B GC e$B$rA\*Br$9$k$J$i$P$"$^$jLdBj$K$J$i$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B
> 
> [e$BC&@~%?%$%`%9%?!\<%He(B]
> 
> e$B$[$H$s$I$N%f!\<%6$O\<+J,$N%o!\<%/%m!\<%I$K:GE,$Je(BGCe$B$rA\*$V==J,$J\>pJs$re(B  
> e$B;}$C$F$$$J$$$N$G!“%(%s%I%f!\<%6;kE@$G$O$”$^$j0UL#$,$J$$3HD%$K;W$($^$9!#e(B

[e$B;d$b$A$g$C$HC&@~$7$^$9!De(B]

e$B;d$O%“%W%j%1!\<%7%g%s$K$h$C$F%f!\<%6$,e(BGCe$B$rA\*Br$G$-$k$3$H$K0UL#$,$”$k$H;We(B  
e$B$$$^$9!#$J$\<$J$i!“$9$Y$F$Ne(BGCe$B%”%k%4%j%:%`$K$O0lD90lC;$,$"$j!"%"%W%j%1!<e(B e$B%7%g%s$K$h$C$F$Oe(BGCe$B%"%k%4%j%:%`\<+BN$r\<h$jBX$($?J}$,$h$$%1!\<%9$,3N\<B$K$"e(B  
e$B$k$+$i$G$9!#e(B

e$B!V$[$H$s$I$N%f!\<%6$O:GE,$Je(BGCe$B$rA\*$V==J,$J\>pJs$r$b$C$F$$$J$$!W$H$$$&$h$je(B  
e$B$b!V\>pJs$rF@$h$&$H$7$J$$!W$H$$$&$N$,@5$7$$$N$G$O$J$$$G$7$g$&$+!#$=$N$he(B  
e$B$&$J%f!\<%6$K$H$C$Fe(BGCe$B$N%“%k%4%j%:%`$OFC$K4X78$J$/!”!Ve(BGCe$B$5$($“$l$PK~B-!We(B  
e$B$H$$$&5$;}$A$J$N$@$HA[A|$7$^$9!#e(B  
e$B$3$N$h$&$J%f!\<%6$K$H$C$Fe(BGCe$B$NA_Br@-$O$^$C$?$/0UL#$O$J$$$G$7$g$&!#$?$@!"e(B  
GCe$B$NA_Br@-$K$h$k32$,$”$k$+$H$$$&$H!"$=$l$b$J$$5$$,$7$^$9!#e(B

GCe$B$,A\*Br$G$-$F4r$7$$%f!\<%6$H$$$&$N$O!“\<B:]$Ke(BGCe$B$K$h$C$F:$$C$?\>uBV$K4Y$Ce(B  
e$B$F$$$k%f!\<%6$@$H;W$$$^$9!#Nc$($P!”%j%"%k%?%$%`@-$r5a$a$k%"%W%j%1!<%7%ge(B e$B%s$Ge(BGCe$B$Ne(BStopTheWorlde$B$K6l$7$s$G$$$k$H$+!D!#$=$N$H$-!"%f!<%6$,5$7Z$Ke(BGCe$B$Ne(B e$B%"%k%4%j%:%`$rJQ99$G$-$k$N$O$h$$$3$H$@$H;W$$$^$9!#e(B

> e$B$^$?!“%\*!\<%W%s%=!\<%9$N@-\<A$H$7$F0B0W$J%o!\<%/%”%i%&%s%I$rMQ0U$9$k$HE,@Z$Je(B  
> e$B%U%#!\<%I%P%C%/$,JV$C$F$3$J$/$J$k$N$G%G%U%)%k%He(BGCe$B$N2~A1$,CY$l$k$H$$$&e(B  
> e$B%j%9%/$,$"$j$^$9!#e(B

e$B$“!”$J$k$[$I!#$=$N$h$&$JB&LL$b$“$k$N$G$9$M!#$?$7$+$K!”%f!\<%6$+$i$N%P%0e(B  
e$B$NH/8+$J$I$OCY$l$=$&$G$9$M!#%F%9%H$bFq$7$=$&$G$9!#e(BHotspotVMe$B$J$s$+$Oe(B4e$B8De(B  
e$B$/$i$$$N$^$C$?$/0c$&e(BGCe$B%“%k%4%j%:%`$,F~$C$F$$$^$9$,!”$"$l$b%a%s%F%J%s%9e(B  
e$B$,BgJQ$=$&$G$9$M!J%^%s%Q%o!\<$,0c$&$N$G$7$g$&$+!D!K!#e(B

e$B$?$@!“e(BGCe$B\<+BN$N2~A1!J9bB.2=Ey!K$H$$$&4QE@$G8+$k$H!”:#$^$G$Ne(BCRubye$B$Ne(BGCe$B$O$=e(B  
e$B$l$[$IBg$-$J2~A1$O$J$5$l$F$$$J$$$N$G!"FC$K$3$N%Q%C%A$,F~$k$3$H$K$h$C$F!“e(B  
e$B$5$i$K2~A1$,CY$/$J$k$H$$$&$3$H$b$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B  
e$B5U$Ke(BLazySweepe$B$,\>e\<j$/0i$C$F$/$l$l$P!”%G%U%)%k%H$Ne(BGCe$B$K\<h$C$FBe$o$k$H$$$&e(B  
e$B$N$bLLGr$$$+$b$7$l$^$;$s!#e(B

---

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [December 11, 2009, 1:25am UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/6 "2009-12-11T01:25:44Z")

</div>

nari e$B$G$9!#e(B

2009e$BG/e(B12e$B7ne(B11e$BF|e(B1:14 Yukihiro M.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B$C$F$$$&$+!“e(BLazySweepe$B$C$F!V\<h$C$FBe$o$k!W$h$&$JBg$-$J%”%k%4%je(B  
> e$B%:%`$NJQ99$G$O$J$$$H;W$$$^$9!#$“$^$jBg$-$J%H%l!\<%I%\*%U$b$J$5e(B  
> e$B$=$&$J$N$G!”$A$c$s$H%P%0$,\<h$l$?$J$i$$$D$bM-8z$K$7$F$$$F$b$he(B  
> e$B$$$h$&$J!#e(B
> 
> e$B$=$&$$$&0UL#$G$O!“e(BLazySweepe$B$,e(Bon/offe$B$G$-$k$3$H$N%a%j%C%H$,ITL@e(B  
> e$B$J$N$G!”$3$N%Q%C%A$K$O;?@.$7$^$;$s!#$3$l$,e(Bcopy-on-write  
> friendly GCe$B$H$+e(Bmostly-copying GCe$B$N$h$&$J@-G=FC@-$,Bg$-$/JQ$oe(B  
> e$B$j$=$&$J$b$N$J$i!“@Z$jBX$($K0UL#$,$”$k$+$b$7$l$^$;$s!#e(B

e$B$J$k$[$I!#3N$+$K$=$&$G$9$M!#e(B  
LazySweepe$B$N%Q%C%A$O%P%0$,\<h$l$F$$$?$H;W$&$N$G!“e(Btrunke$B$K9g$o$;$?e(B  
e$B$b$N$r:n$C$F!”:FEYe(BMLe$B$KEj9F$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [December 11, 2009, 4:54am UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/7 "2009-12-11T04:54:05Z")

</div>

e$B%A%1%C%He(B #2471 e$B$,99?7$5$l$^$7$?!#e(B (by \_ wanabe)

e$B%9%F!\<%?%9e(B Assignede$B$+$ie(BRejectede$B$KJQ99e(B

## LazySweep e$B$G$O%9%k!\<%W%C%H$,A}Bg$9$k$H$$$&OC$r$I$3$+$GJ9$$$?3P$($,$“$C$Fe(B e$B$=$l$,M}M3$Ge(B trunk e$B$KF~$i$J$$$N$+$H;W$C$F$$$^$7$?!#e(B e$BF~$i$J$+$C$?$N$OC1$K%P%0$NLdBj$G!”$9$G$K2r7h$5$l$F$$$k$H$$$&$3$H$J$N$Ge(B e$B%A%1%C%H$Oe(B Reject e$B$5$;$F$$$?$@$-$^$9!#$"$j$,$H$&$4$6$$$^$7$?!#e(B

[http://redmine.ruby-lang.org/issues/show/2471](http://redmine.ruby-lang.org/issues/show/2471)

---

<div class="post-metadata">

**Author:** ![SSwanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@SSwanabe](https://www.ruby-forum.com/u/SSwanabe)\
**Post date:** [March 31, 2010, 5:02pm UTC](https://www.ruby-forum.com/t/feature-2471-want-to-choose-a-gc-algorithm/180030/8 "2010-03-31T17:02:29Z")

</div>

e$B%A%1%C%He(B #2471 e$B$,99?7$5$l$^$7$?!#e(B (by \_ wanabe)

e$B%U%!%$%ke(B extgc.patch e$BDI2Ce(B  
e$B%9%F!\<%?%9e(B Rejectede$B$+$ie(BOpene$B$KJQ99e(B  
Target version 1.9.2e$B$+$ie(B1.9.xe$B$KJQ99e(B

e$B$:$$$V$sA0$N%A%1%C%H$G$9$\_$^$;$s$,!"\<q;]$,F1$8$J$N$Ge(Breopen  
e$B$5$;$FD:$-$^$9!#e(B

> copy-on-write friendly GCe$B$H$+e(Bmostly-copying GCe$B$N$h$&$J@-G=FC@-$,Bg$-$/JQ$oe(B  
> e$B$j$=$&$J$b$N$J$i!“@Z$jBX$($K0UL#$,$”$k$+$b$7$l$^$;$s!#e(B

e$B$H$N$3$H$J$N$G!“e(BBitmapMarking e$B$G%Q%C%A$r=q$$$F$\_$^$7$?!#e(B  
e$BA02s$HF1$8$/e(B nari  
e$B$5$s$N\<BAu$r;H$o$;$F$$$?$@$-$^$7$?!#$”$j$,$H$&$4$6$$$^$9!#e(B  
e$B$^$?!"@EE\*%j%s%/$;$:$K3HD%%i%$%V%i%j$HF1$8e(B .so  
e$B7A\<0$G%m!\<%I$9$k$h$&$K$7$^$7$?!#e(B  
e$BNc$($Pe(B ruby -I .ext/i686-linux -G gc\_bmp test.rb  
e$B$J$I$H$9$k$HFI$\_9~$^$l$k$H;W$$$^$9!#e(B  
prelude e$BA0$K3NDj$5$;$J$1$l$P$J$i$J$$$N$G!"e(Bgem  
e$B$N%m!\<%I%Q%9$K$OBP1~$G$-$^$;$s$G$7$?!#e(B

## rb\_gc\_load e$B$rI.F,$K\<BAu$,$$$m$$$m$R$I$$$N$G!“@0M}$7$F$+$i$H;W$C$F$$$?$N$G$9$,e(B e$B\<+J,$G$O$3$l0J\>e$I$&$9$k$3$H$b$G$-$J$=$&$J$N$G$H$j$”$($:%A%1%C%H$H$7$F;D$5$;$FD:$-$^$9!#$9$\_$^$;$s!#e(B

[http://redmine.ruby-lang.org/issues/show/2471](http://redmine.ruby-lang.org/issues/show/2471)
