タグ

GCに関するtaninswのブックマーク (24)

  • ruby-trunk-changes r47444 - r47452 - ruby trunk changes

    今日はインクリメンタルGC の導入がありました!! ko1: r47444 2014-09-08 13:11:00 +0900 インクリメンタルGC が導入されました! [ruby-core:64383] [Feature #10137] 今回 CRuby に導入されたインクリメンタルGC は、既に導入されている世代別GC (RGenGC) の major GC の make & sweep の mark 処理を複数回に分割して実行することで、major GC の停止時間を分散させるようにする機能のことです。オーバヘッドがあるのでスループット(全体の処理時間)は少しのびる可能性がありますが、応答性は良くなる(グッ、と固まる時間が短くなる)ことが期待されます。 mark を断続的に実施するので、markの途中で Ruby のコードが動くことがあるため、既に mark 済みのオブジェクトにまだ

    ruby-trunk-changes r47444 - r47452 - ruby trunk changes
  • Ajhcプロジェクトはじめよう - Metasepi

    Table of contents まず最初の改造は? どこらへんを修正したの? Ajhcプロジェクトはどこへ向かうの? これまで jhc のソースコードを読みながら少しずつ改造をして遊んでいたでゲソが、 そろそろpatchが増えてきてまっとうなリポジトリを用意しないと破綻しそうでゲソ。 できればpatchをjhc家に取り込んでもらいたいところでゲソ。 ところが原作者のJohnがどうも忙しいらしく、なかなかmergeしてくれないでゲソ… 1 あまりプロジェクトのforkをしたくないところでゲソが、 このままでは作業が進まないのでjhc向けpatchを貯めるだけのプロジェクトを作ったでゲソ。 その名も Ajhc - arafura-jhc 2 でゲッソ! まず最初の改造は? とはいえ改造にあたって何かテーマを決めたいでゲソ。 jhcは小さなバイナリを吐けるのだから、小さなマイコンでHask

  • Ruby の GC の問題点と改善手法についての一考察

    Ruby の GC の問題点と 改善手法についての一考察 A study on issues and improvements on Ruby’s Garbage Collection Koichi Sasada Heroku, Inc. ko1@heroku.com 1 自己紹介  所属  Asakusa.rb(初期から)  Ruby Association(理事)  日 Ruby の会(一般会員)  Heroku, Inc.(MTS)  Ruby(CRuby/MRI)コミッタ • 趣味Ruby を書いています • 仮想マシンなどの基盤部分の担当 • コミット数は少ない 2 Ruby 2.0.0 Release!!  Ruby 2.0.0 was released!!  2013/02/24 (20th anniversary of Ruby lang.)  Ru

  • Haskell の処理系、GHC でのごみ集め

    Haskell の処理系、GHC でのごみ集め Haskell処理系のひとつ、GHCの実行時オプションを勉強していたところ、 一つドキュメント化されていないオプションを発見しました。 以下のオプションです: -w Use mark-region for the oldest generation (experimental) 調べた結果、GCのアルゴリズムを変更するオプションと分かりました。 GHCのランタイムは、メモリ上のごみ集め (garbage collection, 以下GC)に、 世代別 GC を採用しています。世代別 GC とは、 「一時オブジェクトは、すぐに破棄されることが多く、 ある程度長く生存したオブジェクトは、以降も長く生存することが多い」 という経験則に基づいた GC 手法です。 新たに割り当てられたオブジェクトは、若い世代と見なし、頻繁に回収の対象とする。 若い世代

  • Haskell の GC を比較してみる - dec9ue's diary

    GC Advent Calendar 22日目の記事です。 同じ言語に対する異なる処理系があれば、GCを比べてみたくなるのは人間のサガですよね。 今回はHaskellの2つの処理系のGCを比べて見ることにします。 ■ GHC(the Glasgow Haskell Compiler) Haskellの実行系といえばこれ。というような処理系です。Javaで言えばOracle JRE、Rubyで言えばCRubyというところでしょうか。実用世界の処理系なので様々なオプションや最適化の実装が施されています。 ■ JHC コード効率を優先した処理系です。様々なコンパイラテクニックをフルスケールのコンパイラに実装するための場である、というようなコンセプト説明がされています。頭文字のJはJohn Meachamの頭文字なんでしょうか。 それぞれのGCの特徴 ■ GHC ではまず、GHCから。 GHCのG

    Haskell の GC を比較してみる - dec9ue's diary
    taninsw
    taninsw 2012/12/23
    んー。
  • A Generational GC for DOM Nodes (Final ver.)

    A Generational GC for DOM Nodes (Final ver.) Kentaro Hara (haraken@chromium.org) Design document

    A Generational GC for DOM Nodes (Final ver.)
  • またつまらぬGemを作ってしまった… - I am Cruby!

    先週と今週で夜なべして2つほどつまらぬGemを作りました。まず一つ目。 ScrymScrymというやつです。 authorNari/scrym ? GitHub http://rubygems.org/gems/scrym ScrymはSelf collecting Ruby Mutatorsという名前の略です。 何をするかというと、malloc/freeみたいなのを簡易的なMarkSweepでやるやつなんですね。 CRubyにはGCがありますが、Scrym::Mutator.mark(obj)とかすると対象のobjはGCから(ほぼ)管理されなくなり、その代わりにScrym::Mutator.collectの対象となります。 ふつうのMarkSweepみたくScrym::Mutator.collectと次のcollectの間でmarkしておけばそのオブジェクトは消されないし、markしなけ

  • Garbage Collection and Finalization | Air Mozilla | Mozilla, in Video

    taninsw
    taninsw 2012/09/15
  • strawman:gc_semantics [ES Wiki]

  • Does Haskell require a garbage collector?

    I'm curious as to why Haskell implementations use a GC. I can't think of a case where GC would be necessary in a pure language. Is it just an optimization to reduce copying, or is it actually necessary? I'm looking for example code that would leak if a GC wasn't present.

    Does Haskell require a garbage collector?
  • mozilla-central @ b1a9e8a536bf

  • Construct 2 the HTML5 Game Maker - Scirra.com

    Construct 3 Create stunning games in the worlds best 2D game engine

    Construct 2 the HTML5 Game Maker - Scirra.com
  • JavaScript:GenerationalGC - MozillaWiki

    Goals There seems to be fairly general agreement that we need a generational GC in order for Firefox to compete with Chrome. Benchmarks that create a lot of short-lived objects are the problem, for the following reasons: We can use a gigantic heap to avoid ever collecting during the benchmark. However, this causes our live set to be scattered across the enormous heap, so we have poor cache localit

  • GCアルゴリズムのほうがRailsよりカンタン!?:Rails Hub情報局:エンジニアライフ

    電子書籍に特化したオンラインの出版社、達人出版会から、『徹底解剖「G1GC」 アルゴリズム編』(中村成洋著、600円)が6月末に出ました。Java7(OpenJDK7)で採用されたG1GCアルゴリズムを、豊富な図を使って丁寧に解説したです。A4換算で60ページほどです。 島根在住の中村さんに、Skypeでお話を伺いました。 GCアルゴリズムを網羅的に解説した前著とも言える『ガベージコレクションのアルゴリズムと実装』と併せて読むのがオススメだそうですが、私は中村さんが管理している「GCアルゴリズム詳細解説」のWikiと併せて読みました。GCの各種アルゴリズムって並行処理時の整合性確保のための実装や性能評価は難しいのでしょうけど、アイデア自体は、そこまで複雑じゃないものが多いですよね。ヒープメモリという部屋をどう区分けして、そこにどういう性質(生存期間や生き死に)のオブジェクト群を、どう配置

    GCアルゴリズムのほうがRailsよりカンタン!?:Rails Hub情報局:エンジニアライフ
    taninsw
    taninsw 2012/02/25
  • Cの逆コンパイラはどこまで実現可能か,Javaはなぜ逆コンパイルされやすいのか?

    自称・リバースエンジニアリング技術のホビー研究家です.(^^; 逆コンパイラ (デコンパイラ,decompiler) の可能性と限界, プログラムの自動解析の難易度等について日頃考えていることをまとめてみました. (こうすること自体が研究を進めることにもなるので.) 注意: このページの内容の多くは現時点での私の直観・主観・推測等に基づくものであり, 正当性は全く保証の限りではありません.また,今後の研究の進展 (または行き詰まり(苦笑)) により,内容が変化する可能性は大いにあります. ■関連ページ OKWave QNo.3043962:デコンパイル?について (回答 No.5~) ソフトウェアのリバースエンジニアリング技術の必要性 (そしてJavaとCの逆コンパイラについて) 逆コンパイルについて Web 上で調べてみると, 洋の東西を問わず「C/C++ の逆コンパイルは可能か?」とか

  • われわれは、GCをX倍遅くできる

    1. われわれは、GCをX 倍遅くできる We can make the GC X times slower than the original nari/中村 成洋 ネットワーク応用通信研究所 われわれは、GCをX倍遅くできる - We can make the GC X times slower than the original Powered by Rabbit 0.6.5 5. 自己紹介 ✓ nari/中村 成洋 ✓ @nari3, id:authorNari ✓ NaCl勤務 4/221 われわれは、GCをX倍遅くできる - We can make the GC X times slower than the original Powered by Rabbit 0.6.5 6. 自己紹介 ✓ CRubyコミッタ ✓ 主にGCについて考える ✓ 「俺がGCだ」 (こうですか、わ

    われわれは、GCをX倍遅くできる
  • GC本をGCしないための100の方法

    1. GCをGCしないた めの100の方法 100 tips to don't gc the gcbook nari/中村 成洋 ネットワーク応用通信研究所 GCをGCしないための100の方法 - 100 tips to don't gc the gcbook Powered by Rabbit 0.6.4 3. 自己紹介 ✓ nari/中村 成洋です ✓ 福岡生まれ、島根在住 ✓ NaCl勤務 2/195 GCをGCしないための100の方法 - 100 tips to don't gc the gcbook Powered by Rabbit 0.6.4 4. 自己紹介 ✓ GC歴 3.5年(駆け出し) ✓ ククク…やつはGC界の中で最弱 ✓ アイス工場歴 3年 ✓ 大体一緒くらい 3/195 GCをGCしないための100の方法 - 100 tips to don't gc th

    GC本をGCしないための100の方法
    taninsw
    taninsw 2010/06/28
  • 「ガベージコレクションのアルゴリズムと実装」という本を書きました。

    gcbook, gcai, GCGCLoverのみなさん、お待たせしました。「ガベージコレクションのアルゴリズムと実装」の情報公開です。 書名:ガベージコレクションのアルゴリズムと実装 著者:中村 成洋/相川 光 監修:竹内 郁雄 ページ数:472ページ 体価格:3,200円 発売開始日:2010年3月17日(水) ※地域・書店によって遅れることがあります ISBN:978-4-7980-2562-9 C3055 読み所 書は次の2つのテーマを扱います。 1.GCのアルゴリズム(アルゴリズム編) 2.GCの実装(実装編) アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中 から、重要なものを厳選して紹介します。伝統的かつ基的なものから、やや 高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特 性などを理解していただくのがアルゴリズム編の最大

  • Matzにっき(2008-06-23) : RubyKaigi補足

    << 2008/06/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1. 復活 2. これまでのあらすじ 3. これまでの(当の)あらすじ 4. [Ruby] 【日Ruby会議2008】「Rubyは10年前のJava」---まつもと氏とイーシー・ワン最首氏が対談:ITpro 21 1. [Ruby] Ruby実装大集合 2. [Ruby] キーノート 3. [Ruby] その他 22 1. [教会] ステーク大会 23 1. [Ruby] RubyKaigi補足 2. [Ruby] Nutter来襲 24 1. [Ruby] 打ち合わせ 25 1. 高松 26 1. 高松から帰る 2. [Ruby] false || not(true) のパースが通らない件 - まめめも 27 1. [Ruby] 島大講義 2. 片手で持てるT

  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい