From: authorNari Date: 2008-05-20T16:50:36+09:00 Subject: [ruby-dev:34770] Re: Improvement of lazy sweep patch authorNariです。 > ざっとみたところRVALUEにフィールドが追加されているのだけが残 > 念ですね。たった1バイトですが、アラインメントの関係でおそら > く1オブジェクトあたり4バイトはメモリ消費が増えるでしょう。 これは本当は必要ないはずなので消したいのですが、 FL_MARKを使ってflagにMARKを付けておくと、どこかのタイミングで MARKが消されてしまって、そのslotをsweepする際に生きているObjectが消されてしまう バグが発生しました。 それを回避するためにRVALUEにフィールドを追加しています。 (この前のパッチも同じ理由でフィールドが追加されています) 本当は消せるはずですし、僕も消したくてたまりませんので 頑張ってみます。 2008/05/20 14:48 Yukihiro Matsumoto : > まつもと ゆきひろです > > In message "Re: [ruby-dev:34768] Improvement of lazy sweep patch" > on Tue, 20 May 2008 13:23:16 +0900, authorNari writes: > > |前に作成していたLazySweepを、現在のHeap構造に合うように修正しました。 > |といってもほぼ書き直してしまいましたが。 > | > |性能は手持ちのベンチマークでためした所、さほど変化はありませんでした。 > |http://d.hatena.ne.jp/authorNari/20080520/1211251926 > > すばらしい。 > > ざっとみたところRVALUEにフィールドが追加されているのだけが残 > 念ですね。たった1バイトですが、アラインメントの関係でおそら > く1オブジェクトあたり4バイトはメモリ消費が増えるでしょう。 > > こちらでもいろいろ試してみます。 > > --- nari