ささだです.

(2011/08/23 7:43), Yusuke Endoh wrote:
> 直そうと思えば、以下のようにすれば直ります。しかしあえて short を選んで
> いるのは省メモリ化のためだと思いますので、これは既知の制限ということで
> しょうか > ささださん

 どうもすみません.

 色々考えて,遠藤さんに IRC でアドバイスしてもらった,「改行位置が変
わったところだけ情報を付ける」という方法でやり直しました.

 ある大きな Rails アプリで,ロード後にバイトコード全部のサイズを測った
ところ (*1),
  改善前:24,699,850 B(約 24.7MB)
  改善後:21,835,244 B(約 21.8MB)
となりました.32bit 環境です: ruby 1.9.4dev (2011-08-22 trunk 33022)
[i686-linux].

*1: objspace を使うと,こんな風に測れます.

        require 'objspace'
        p ObjectSpace.memsize_of_all(RubyVM::InstructionSequence)
        exit!

    これを,rack-*/lib/rack/handler/webrick.rb の self.run
    に無理矢理書き加えるというかっこ悪さ.
    もうちょっとなんとかならないかな.


 バイトコードのサイズ自体は,fork した後で共有できるとかあるので,あん
まり削減しても嬉しくないような気もしますが,まぁちょっとは効果があったと
いうことで.

 パッチ自体は結構大きくなりました.
http://www.atdot.net/sp/view/wpheql/readonly?lang=diff

 コミットしてもいいでしょうか.って,trunk ならさくっと入れちゃえばいい
かなぁ.

-- 
// SASADA Koichi at atdot dot net