どきどきの2ndDay

IRCログ

ここに置きました。
rubykaigi_gc_irc.log
概ね好評で嬉しい限りです。
 

動画

スタッフの方が動画を上げてくださいました。
ありがとうございます。
kaigifreaks+=1
D
また、RubyKaigi2008で検索するといっぱい出てくるのでよろくね。
RubyKaigi2008 -ニコニコ動画:GINZA
 

内容



写真は竹迫さんのFlickrから。
TAKESAKO Yoshinori | Flickr - Photo Sharing!
どもです!
今日はサブセッションでしゃべくりました!
 
直前はまぁ凄く緊張したわけですが、しゃべり出すとそうでもなく。
みなさんに暖かい目でみてもらえたのでよかったなぁと。
あと、不真面目な資料作ってよかったなぁと思いました。
let's gc improve.pdf
 
立ち見の人も出るくらいの盛況ぶりで(これは休憩が入ったからかな)
最後の拍手に感動してしまった。。(TT)
 
これもスタッフの方々やら皆さんのおかげですね。ありがたや。
 
さて、色々と質問をされたわけですが、「GCをキメた」後だったため
興奮状態で、またもやあやふやな事を言ったような気がするので
ここに補足がてら買いておきたいと思います。
 

質疑応答

Q:deltaって変数追加されてるんだけど、なんでしょうか(akrさん)
A:(Todo:あとで書く)
 
Q:プロセスメモリサイズ削減パッチを適用して遅くなりましたか?
A:僕の試したベンチマークだと遅くなっていますね。
 ヒープ細分化、プロセスサイズ削減パッチを作った - I am Cruby!
 まつもとさん改善バージョンも変わらないと思います。
 
Q:マシンのスペックは?
A:メモリ2G
 Intel Core2 Duo1.83GHz
 
Q:LazySweepでSweepが動くタイミングは?
A:rb_newobj_from_heap()が動くタイミングですね。
 freelistにつないでいるオブジェクトがなくなると1スロットSweepします。
 その1スロットに空きがなかったら次のスロットもと言う感じですね。
 そこの所はパッチをみてもらうのが一番いいかも>http://www.narihiro.info/resource/rb_gc_lazy_sweep_r_16491.diff:lazy_sweep.diff
 
Q:LazySweepでまだSweepしていないスロットが残っていない場合、強制的にGC起こすとどうなる?
A:全部SweepしてからMarkします。
 ただ、GC.startに関してはlazySweepの動きをします。
 これもパッ(ry
 
Q:freelistっているんだろうか。
A:ちょっと試してみたいですね。これは。
 前も笹田さんと話したような気がするなぁ。その時はどうだったけか。
 結局scanする時にSweepしたいよねとかなって、じゃあLazySweepだねとかなった気がする。
 今のLazySweepのパッチは1スロット舐めた後で小さいfreelistを作ったりするのだけれど。
 (見当違いの話だったらごめんなさい)
 

あの噂の黒い奴

codereposに上げました。
coderepos+=1

svn co http://svn.coderepos.org/share/lang/ruby/mariobros/demo_gc_stop_the_world/

 

今後

今はBoehmGCを黙々と読んでいる最中なので、その中の使えるチューニングがあったら
CRubyGCに乗せるたパッチを作るかも。
また、BoehmGCを組み込んでベンチマークもとってみたいので、それをやるつもり。
あと、あのー、GC好きが三十人くらいいてかなり笑えたわけですね。
なので、そういう人達は
#gc@irc.net
に来るとよいですよー。