タグ

自作と*gcに関するauthorNariのブックマーク (3)

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    authorNari
    authorNari 2009/02/09
    書きました
  • ヒープ細分化、プロセスサイズ削減パッチを作った - I am Cruby!

    Ruby, GCwhat thisHeapをこまめにfreeしてやりたいというパッチRubyのプロセス省メモリ化に役立つもの why今までのHeap管理は足りなくなれば前回付け足したHeapの1.8倍をmallocで確保して使用していた。しかし、オブジェクトのフラグメントが発生すると中々解放されない。贅沢にメモリを確保しすぎる傾向にあった。 attack plan一度にmallocするHeapサイズを32KBに決め、複数割り当てる 32KBという根拠はbenchmarkでバランスがよかったバランスとは解放されるHeap数と速度のバランスfreeを開始するのは全体の65%にmarkが付いていない場合のみ 65%という数字も経験則によるものadd_heapはrb_new_objの際にインクリメンタルに行う どうせmallocを分割して行うなら、インクリメンタルにやろうということheapをfre

    authorNari
    authorNari 2008/03/28
    Heapサイズ細分化パッチ
  • RubyにLazySweepのパッチを作った - I am Cruby!

    Ruby, GCplanSweepをLazySweepにして、最大停止時間を改善するHeap内のオブジェクト数がある一定を超えてからLazySweepに切り替わる 通常のプログラムのスループットを落としたくないので今は一応100万にしているLazySweepフェイズではHeapの配列の数を、オブジェクト数が一定になるように選んでSweepする 配列一ずつのオブジェクト数が異なるため、Sweepの時間がばらつかないように調整したHeapの配列が1.8倍づつ増えるのがメモリ効率的にあんまりよくないので、LazySweepが始まってからは少し抑えるようにした。1.1倍くらい。 理想は「オブジェクトを何百万も作ってプログラムをぶんまわす時の最大停止を改善する。」です。その場合当然スループット性能が低下してしまうのはいかしかたなし。 patchgc_lazy_sweep_r15749_patch

    authorNari
    authorNari 2008/03/12
    GCパッチ
  • 1