$B!!$5$5$@$G$9!#(B
$B!!%%V%8%’%/%H4IM}$K4X$9$kDs0F$G$9!#8=:_!"%%V%8%’%/%H4IM}$N$?$a$N(B
freelist $B$O!"%0%m!<%P%k$K(B 1
$B$D$G$9$,!"%9%l%C%I$4$H$K;}$?$;$^$;$s$+!#(B
$B!!8=>u$G$NMxE@$O!"?7$7$$(B RVALUE
$B$N3NJ]$,%9%l%C%I%m!<%+%k$K$J$C$F!"$A$g$C(B
$B$H$&$l$7!<$+$J!<!"$H$$$&46$8$G$9!#%*%V%8%’%/%H$N%a%b%j>e$N%m!<%+%j%F%#$,(B
$B8~>e$9$k$+$b$7$l$J$$!"$=$l$G!"(BCPU
$B$N%-%c%C%7%e$N8zN($,>e$,$k$+$b$7$l$J(B
$B$$$C$F$/$i$$$G!“5$J,$NLdBj$G$9!#(Bnewobj $B$O!“4V@;2>H$N%3%9%H$,(B 1
$B$DA}$($k(B
$B$/$i$$$@$+$i!”$”$^$jLdBjL5$$$s$8$c$J$$$+$H;W$C$F$$$^$9!#(B
$B8=:_$G$b!"(BThread $B$O%Q%?%Q%?@Z$jBX$o$k$o$1$G$O$J$$$N$G!"(B
$B$=$l$J$j$N(B locality $B$O$"$k$H;W$o$l$^$9!#(B
$B$3$l$O!"$=$N(B locality $B$rM[$K>e$2$h$&!"$H$$$&Ds0F$G$9!#(B
$B!!K<AE*$JMxE@$O!"$3$NJU$KBP$7$FJBNs$K%4%K%g%4%K%g$7$h$&!"$H$$$&$H$-$K!"(B
freelist
$B$$?$$$J%0%m!<%P%k$J9=B$$,$"$k$HHs>o$K$d$j$E$i$/!"$3$l$r2r>C$9(B
$B$k$?$a$G$9!#:rF|!"(BVALUE_CACHE
$B$H$$$&ItJ,$r>C$7$^$7$?$,!"$3$l$O85!9;d$,(B
$B:n$C$F$$$?(B $BJBNs(B Thread Ruby $B$G!"(Bfreelist
$B$X$N%m%C%/$N6%9g$rGS=|$9$k$?$a(B
$B$K@$1$^$7$?$,!“K\Ev$O:#2sDs0F$7$?$h$&$J;EAH$_$r:n$j$?$+$C$?$N$G$9!J$,!”(B
$BLLE]$@$C$?$N$G!"$H$j$"$($:(B VALUE_CACHE $B$G$*Cc$rBy$7$?!K!#(B
$B!!<BAu$H$7$F$O!"<!$N$h$&$K9M$($F$$$^$9!#(B
- slot $B$4$H$K(B freelist $B$r;}$?$;$k(B
- $B%9%l%C%I$O(B slot $BJ];}$9$k(B
- newobj $B$N$H$-$O!"(B
- $BJ];}$7$?(B slot $B$+$i(B obj $B$r<h$j=P$9(B
- $B$b$7L5$1$l$P!"JL$N3NJ]$5$l$F$$$J$$(B slot $B$r3NJ]$9$k(B
- $B3NJ]$5$l$F$$$J$$(B slot $B$,$J$1$l$P(B GC $B$9$k(B
- GC $B$N$H$-$O!“3F(B Thread $B$,J];}$7$F$$$?(B slot $B$r2rJ|$5$;$k(B
$B!J$=$N$?$a!”$"$k(B slot $B$,!"$"$k(B Thread
$B@lMQ$K$J$k$o$1$G$O$J$$!K(B
$B!!$H$j$"$($::n$C$?(B patch $B$rE:IU$7$^$9$,!"$J$s$+(B test-all
$B$G7y$J46$8$N%((B
$B%i!<$,=P$F$$$k$N$G!"B?J,%P%0F~$j$G$9!#(Blazy sweep
$B$K$bBP1~=PMh$F$k$s$8$c(B
$B$J$$$+$H;W$$$^$9!#B?J,!#(B
$B$^$D$b$H(B $B$f$-$R$m$G$9(B
In message “Re: [ruby-dev:42522] Proposal: thread local freelist”
on Wed, 3 Nov 2010 22:50:25 +0900, SASADA Koichi [email protected]
writes:
|$B!!%%V%8%'%/%H4IM}$K4X$9$kDs0F$G$9!#8=:_!"%%V%8%'%/%H4IM}$N$?$a$N(B
|freelist $B$O!“%0%m!<%P%k$K(B 1 $B$D$G$9$,!”%9%l%C%I$4$H$K;}$?$;$^$;$s$+!#(B
$B%P%0$,<h$l$F!“$+$D(BGC$B%a%s%F%J$NCfB<$/$s$N>5Bz$,F@$i$l$l$PH?BP(B
$B$O$7$^$;$s!#$H$O$$$(!”:#$N(BRuby$B$N<BAu$G%^%k%A%9%l%C%I$r5$$K$9(B
$B$kI,MW$,$I$l$@$1$"$k$N$+L$CN?t$G$9!#(BGIL$B$rL5$/$;$kM=Dj$,$J$$(B
$B$N$K$3$NJU$@$1$d$C$F$b$7$g$&$,$J$$$h$&$J5$$b$7$^$9!#(B
nari$B$G$9!#(B
2010$BG/(B11$B7n(B3$BF|(B22:50 SASADA Koichi [email protected]:
$B!!$5$5$@$G$9!#(B
(snip)
$B8=>u$G$NMxE@$O!“?7$7$$(B RVALUE $B$N3NJ]$,%9%l%C%I%m!<%+%k$K$J$C$F!”$A$g$C(B
$B$H$&$l$7!<$+$J!<!“$H$$$&46$8$G$9!#%*%V%8%'%/%H$N%a%b%j>e$N%m!<%+%j%F%#$,(B
$B8~>e$9$k$+$b$7$l$J$$!”$=$l$G!"(BCPU $B$N%-%c%C%7%e$N8zN($,>e$,$k$+$b$7$l$J(B
$B$$$C$F$/$i$$$G!“5$J,$NLdBj$G$9!#(Bnewobj $B$O!“4V@;2>H$N%3%9%H$,(B 1
$B$DA}$($k(B
$B$/$i$$$@$+$i!”$”$^$jLdBjL5$$$s$8$c$J$$$+$H;W$C$F$$$^$9!#(B
$B2?EY$+(BGC$B$,5/$-$k$H7k6I%P%i%P%i$J>l=j$K%“%m%1!<%H$5$l$F$7$^$&(B(slot$B$,(B
Thread$B@lMQ$G$O$J$$$?$a!K$h$&$J5$$,$7$F!”$=$l$@$H%m!<%+%j%F%#$N287C$O$=(B
$B$l$[$IL5$$$h$&$J5$$,$7$?$N$G$9$,!“<B:]$O$I$&$J$s$G$7$g$&$+!#(B
$B$A$g$C$H6=L#$,$”$j$^$9!#$d$i$J$$$h$j$O%^%7$JDxEY$J$N$+$J$HA[A|$7$^$7$?!#(B
$BK<AE*$JMxE@$O!“$3$NJU$KBP$7$FJBNs$K%4%K%g%4%K%g$7$h$&!”$H$$$&$H$-$K!“(B
freelist $B$$?$$$J%0%m!<%P%k$J9=B$$,$“$k$HHs>o$K$d$j$E$i$/!”$3$l$r2r>C$9(B
$B$k$?$a$G$9!#:rF|!“(BVALUE_CACHE $B$H$$$&ItJ,$r>C$7$^$7$?$,!”$3$l$O85!9;d$,(B
$B:n$C$F$$$?(B $BJBNs(B Thread Ruby $B$G!"(Bfreelist
$B$X$N%m%C%/$N6%9g$rGS=|$9$k$?$a(B
$B$K@$1$^$7$?$,!“K\Ev$O:#2sDs0F$7$?$h$&$J;EAH$_$r:n$j$?$+$C$?$N$G$9!J$,!”(B
$BLLE]$@$C$?$N$G!”$H$j$"$($:(B VALUE_CACHE $B$G$*Cc$rBy$7$?!K!#(B
$B>e5-$NMxE@$+$iF~$l$F$b$$$$$N$G$O$J$$$+$H;d$O;W$$$^$9!#(B
$B$H$j$“$($::n$C$?(B patch $B$rE:IU$7$^$9$,!”$J$s$+(B test-all
$B$G7y$J46$8$N%((B
$B%i!<$,=P$F$$$k$N$G!"B?J,%P%0F~$j$G$9!#(Blazy sweep $B$K$bBP1~=PMh$F$k$s$8$c(B
$B$J$$$+$H;W$$$^$9!#B?J,!#(B
$BFI$_$^$7$?!#(B
$B%3%a%s%H%“%&%H$N=j$O:o=|$7$F$7$^$&$N$,$$$$$s$G$9$+$M!#(B
$B$”$H%P%0$,<h$l$F$k$H$$$$$J$H;W$$$^$7$?!#(B
$B$^$D$b$H(B $B$f$-$R$m$G$9(B
In message “Re: [ruby-dev:42570] Re: Proposal: thread local freelist”
on Sat, 13 Nov 2010 15:49:55 +0900, Narihiro N.
[email protected] writes:
|2010$BG/(B11$B7n(B3$BF|(B22:50 SASADA Koichi [email protected]:
|> $B!!$5$5$@$G$9!#(B
|(snip)
|> $B8=>u$G$NMxE@$O!“?7$7$$(B RVALUE $B$N3NJ]$,%9%l%C%I%m!<%+%k$K$J$C$F!”$A$g$C(B
|> $B$H$&$l$7!<$+$J!<!“$H$$$&46$8$G$9!#%*%V%8%'%/%H$N%a%b%j>e$N%m!<%+%j%F%#$,(B
|> $B8~>e$9$k$+$b$7$l$J$$!”$=$l$G!“(BCPU $B$N%-%c%C%7%e$N8zN($,>e$,$k$+$b$7$l$J(B
|> $B$$$C$F$/$i$$$G!“5$J,$NLdBj$G$9!#(Bnewobj $B$O!“4V@;2>H$N%3%9%H$,(B 1
$B$DA}$($k(B
|> $B$/$i$$$@$+$i!”$”$^$jLdBjL5$$$s$8$c$J$$$+$H;W$C$F$$$^$9!#(B
|
|$B2?EY$+(BGC$B$,5/$-$k$H7k6I%P%i%P%i$J>l=j$K%”%m%1!<%H$5$l$F$7$^$&(B(slot$B$,(B
|Thread$B@lMQ$G$O$J$$$?$a!K$h$&$J5$$,$7$F!“$=$l$@$H%m!<%+%j%F%#$N287C$O$=(B
|$B$l$[$IL5$$$h$&$J5$$,$7$?$N$G$9$,!”<B:]$O$I$&$J$s$G$7$g$&$+!#(B
|$B$A$g$C$H6=L#$,$"$j$^$9!#$d$i$J$$$h$j$O%^%7$JDxEY$J$N$+$J$HA[A|$7$^$7$?!#(B
$B2~$a$F9M$($F$_$?$i!“(BGIL$B$,$”$k0J>e%"%m%1!<%7%g%s$N0lIt$,%9%l%C(B
$B%I%m!<%+%k$K$J$C$F4r$7$$$3$H$C$FA4A3$J$$$G$9$M!#CfB<$/$s$,;X(B
$BE&$9$kM}M3$K$h$C$F%*%V%8%'%/%H$N%m!<%+%j%F%#$,>e$,$k$H$b9M$((B
$B$i$l$J$$$7!#(B
$B$H$$$&$3$H$G!"%a%j%C%H$N$J$$J#;(@-$NF3F~$K$O;?@.$7$J$$$3$H$K(B
$B$7$h$&$H;W$$$^$7$?!#2~$a$F@bF@$5$l$FG<F@$9$l$POC$OJL$G$9$,!#(B
$B$^$D$b$H(B $B$f$-$R$m(B /:|)