タグ

RGenGCに関するamerica66のブックマーク (2)

  • Ruby 2.1.1 GC Tuning - Qiita

    Help us understand the problem. What is going on with this article? Ruby2.1では、RGenGCによりかなりパフォーマンスが改善されている。 また、チューニングパラメータが増えているが、まとまった日語の解説が無かったので書いてみた。 間違いがある可能性があるので、指摘は歓迎です。 RGenGCとは RGenGC(Restricted Generational Garbage Collection)については、まずはこれを読むべし www.atdot.net/~ko1/activities/rubyconf2013-ko1_pub.pdf www.atdot.net/~ko1/activities/2014_rubyconf_ph_pub.pdf Ruby 2.1: RGenGC · computer talk by

    Ruby 2.1.1 GC Tuning - Qiita
  • RGenGCとC拡張ライブラリの関係 - mirichiの日記

    Ruby2.1のRGenGCについて対応などを考えていたので個人的まとめ。 ■世代別GCとC拡張ライブラリの相性の悪さ RGenGCは世代別GCである。通常はRubyシステムによって適切に制御されたライトバリアと世代別管理されたGCによって効率よく処理されるが、C拡張ライブラリが関わるとライトバリアの制御が適切に行われない。C拡張ライブラリを書き換えてライトバリアのコードを挿入すればいいわけだが、数が多かったりメンテナ不在だったりするわけで、この方法で対応するのは現実的ではない。 RubyにおいてC拡張ライブラリがライトバリアと相性悪い部分は以下の2点である。 ・CのコードはRubyオブジェクトの内部情報を取り出して保持できる。 ・C実装のクラスはRubyオブジェクト(VALUE型)を保持するC構造体を持つことができる。 たとえばRARRAY_PTRで配列のポインタを取り出して保持した場合

    RGenGCとC拡張ライブラリの関係 - mirichiの日記
  • 1