4月末からちょろちょろ読み始めてやっと読了。(遅 まぁ、途中お仕事やらでどたばたしていたからなぁ...。 日本で初のガベージコレクタ(GC。メモリ内のお掃除プログラム)本を謳う本書。[筆者による紹介ページ] 最近のプログラム言語の裏で働いているガベージコレクタについて解説している。かなりニッチな内容。故に知的好奇心をそそられる本である。 自分の場合、この本を読むまではGCってやたらと種類があるけど、とりあえずSunのjavaには世代別GCが標準で搭載されてるよ!程度の知識しかなかったので色々と勉強になった。 色々なGC実装があるけど、基本はMarkSweepGC,ReferenceCountingGC,CopyingGCの3パターンで後はそれの組み合わせか応用でできているというのは意外だった。これら3つのパターンとは全く異なる斬新なアイデアってないもんかなぁ...? アルゴリズム編と実装編
「ガベージコレクションのアルゴリズムと実装」を読了。前半の「アルゴリズム編」で GC の基本アルゴリズムを網羅的に解説し、後半の「実装編」では実際の処理系のソースを追いながら GC の実装を見てみるという構成で、非常に面白かった。 ガベージコレクションのアルゴリズムと実装 作者: 中村成洋,相川光,竹内郁雄出版社/メーカー: 秀和システム発売日: 2010/03/17メディア: 単行本購入: 25人 クリック: 810回この商品を含むブログ (94件) を見る 以下、読みながら思ったこと、メモしたことなどをまとめてみる。主に後半の「実装編」から。本書の中で解説されているバージョンは1年以上前のものなので、最新の実装にはあてはまらないかも。 Python 採用されているアルゴリズム: 参照カウント マークスイープGC(循環参照したゴミの回収用) 記述言語: C Python のエンドユーザー
GCについてそのうち勉強しようと思ってだいぶ前に買っておいた本書をやっと読み終えた。 タイトル通りにGCの一般的な話からアルゴリズムの詳細と実装までがけっこうしっかり書いてあるので本書の’内容を理解すればGCについてはそれなりのバックグラウンドができるのではないかと思う。そういう意味では貴重な一冊なのだが、最初から最後までGCの話ばかりなので読んでてちょっと疲れるというのが正直な感想。 正直、一読で解説されているアルゴリズムについてきちんと理解するほど集中できず、けっこうサッと読み飛ばしたところもあるので、そのうちまた気になったときに読み返そうと思う。ただ、逆に研究レベルで必要なぐらい理解するには本書だけではちょっと足りないのではないかと思うので、参照されている論文まで追いかける必要があると思う。 とりあえずがんばって読み終えられたので良かった。
ガベージコレクションのアルゴリズムと実装を読む準備としてminigc(tree:ff305e...)を読んでいるのですが、どうにもよく分からないところがでてきました。それはgc_mark_stack()を通していつオブジェクトがマークされるのかということです。少なくともぼくの環境では、gc_mark_stack()が機能するコード例を作ることはできませんでした。いつも、gc_mark_register()の方だけが動いているようです。 ここでぼくが試したこと全て書いてもごちゃごちゃするので、オリジナルをあまりいじらない範囲で確かめてみます。環境としては、ubuntuを使っていますが、まずテストを実行するために、次のようにコマンドを打ちます。 git clone https://github.com/authorNari/minigc.git minigc cd minigc make te
書誌情報 著者: 中村成洋 発行日: 2011-06-27 最終更新日: 2012-02-03 バージョン: 1.0.0 ページ数: 62ページ(A4PDF版換算) 対応フォーマット: EPUB, PDF 出版社: 達人出版会 対象読者 高度なGCのアルゴリズムに興味のある方。すでに『ガベージコレクションのアルゴリズムと実装』を読まれていて、続きを読みたい方 著者について 中村成洋 中村成洋(nari)はネットワーク応用通信研究所に勤めているRubyistです。仕事ではRailsを使ってWebアプリケーションを開発しています。高校を卒業してからはアイス工場に2年半いて、それからプログラマに転職しました。 GCに魅了されてしまった人間で、GC歴は4年になります。CRubyのコミッタとして1年に1度のペースでGCの改善に取り組んでいます。去年はCRubyに新しく取り込まれたLazySweepG
21:29 | 自分のページを見て,半年近く(去年末以来)ダイアリーを書いていないことに気付いてびっくりした.なぜここまで書かなくなったんだろうと思って考えてみるといくつかの理由が思い当たった.まず,今年最初に始めた"出来事や考えなどをテキストファイルに1日1ファイル単位でまとめていく"という記録活動が習慣化していて,そのせいでdiaryを書こうという気持ちが弱くなっていたのかも.$ wc -l ~/diary/2011/*/* | tail -1 5321 total空行もあるけど,1日30行程度書いているらしい もう1つの理由は,ちょっとした技術ノウハウをよく書いていたけれども何か不毛感というか重箱の隅つっつき感があり,そんな記事ばかり書くのはどうなのか,と思い始めていたこと.情報の価値は受け取り手が決めることだろうと思いつつ,一度その思いが浮かんでからはわざわざダイアリーに残そうとい
お久しぶりです、ミヤジーです。 最近はメモリ管理について勉強しています 皆さん、C言語でメモリ確保する際はmallocを使用していたと思います。 C++言語になってからnewを使用するようになり、直にmallocを使用する機会が減ったと思いますが、 ゲーム制作においては、メモリを厳密に管理したいという理由で、自作メモリアロケータを書くということがあります。 (また、mallocは遅いのでアロケータを書くという話も耳にします。) 、 そこで、ふと思ったのですが、本当にmallocは遅いのでしょうか mallocについて調べてみると、高速化を図るためにいろいろな改良をしたmallocが考案されていました。 ・dlmalloc ・phkmalloc ・jemalloc ・tcmalloc ・nedmalloc ...etc 以上に挙げたmallocの実装は、ソースコードを見ることができるので勉強
Some people know the article "Coming From Ruby" by David Black, and some people may remember the photo of Japanese Ruby Books. http://www.infoq.com/articles/coming-from-ruby Yes, the all books on the photo are mine :) I brought them from Japan in RubyConf 2002. After 8 years, in 2010, there are tons of Ruby books published all over the world. Of course, so is in Japan. As Ruby book collector, I've
久々(?!)の技術トークを本日関ジャバにてさせて頂きました。発表資料は以下の通りです。 トップ画像のクレジットは以下の通り。(CC の画像ですが、表記不足等あればご指摘もらえると嬉しいです) author : artcomments source : http://www.flickr.com/photos/artcomments/382733093/in/photostream/ (2010/10/02 追記) id:shin さんにご指摘いただき、-Xincgc は現在の実装はコンカレントコレクタ (-XX:+UseConcMarkSweepGC ) が選択されるようになっていましたので、該当スライドから削除しました。 > -Xincgc -verbose:gc -XX:+PrintGCDetails あたりをつけて適当なプログラム実行して頂いたら、確認出来ると思います。 尚、1.4.
2010年8月27日から29日までの3日間、つくば国際会議場にて日本Ruby会議2010が開催されました。 弊社刊 『ガベージコレクションのアルゴリズムと実装』 の著者の一人、中村成洋さんが 「われわれは、GCをX倍遅くできる」という題で講演されました。 中村さんは、CRubyのGCにLazy Sweep(上記書籍をお持ちの方は、39ページに解説があります)を導入する改善提案を行っています。 Ruby 1.9.3 HEADでは、Lazy Sweepの導入成果を検証することができます。 ・検証用のデモアプリ「kaboom」(GitHub) http://github.com/authorNari/kaboom ・講演の様子(にこにこ動画) http://www.nicovideo.jp/watch/sm11902231 ・スライド(SlideShare) http://ww
今日も「V8 の GC」のコンパクション処理のところからです forwarding ポインタをオフセットにして、さらにページ構造を導入することで11ビットで forwarding ポインタ相当の情報を詰め込んでる。すごい。 Map オブジェクトのポインタも同様。余分なフィールドを作らずメモリ効率を考えた工夫。 記憶集合の更新 これで第12章「V8 の GC」も終わりました。 V8 の GC を読んでみて、細かな工夫が思いっきり詰め込まれていて楽しいという一方、C++ の勉強をしないといけないかな、という気になってきました。最近のプロジェクトは C++ で書かれていることが多いので、それなりに読める程度には知っておかないといけないという気がしてきました。 さて、長かった「ガベージコレクションのアルゴリズムと実装」も今日で終わりです。「補遺」は Python や Ruby の簡易言語入門なので
ガベージコレクションのアルゴリズムと実装 作者: 中村成洋,相川光,竹内郁雄出版社/メーカー: 秀和システム発売日: 2010/03/17メディア: 単行本購入: 25人 クリック: 810回この商品を含むブログ (94件) を見る立ち読みで我慢できずに購入。今日は少し頭痛がするので内容がうまく頭に入らない。後日ちゃんと読もう。
きちんと感想とかをまとめる時間がとれていない。ワールドカップがあると、ついワールドカップを見てしまうし、色々予定が入ると休日だからといってもなかなか時間の配分が難しいところもある。 どちらかというより、今ではなくて、ちょっとあとから見直すと、こういうのは面白いところがあるので、今後も無理しない範囲で続けていきたい。 というわけで今回はちょっとまとめて。 地球白書2009-10 作者: クリストファー・フレイビン,後藤敏彦,武内和彦,浜中裕徳,林良博,原剛,福岡克也,松下和夫,森島昭夫,安井至,大和田和美,北濃秋子,木村ゆかり,木下由佳,五頭美知,高木友美,富田輝美,浜崎輝出版社/メーカー: (株)ワールドウォッチジャパン発売日: 2009/12/24メディア: 単行本(ソフトカバー) クリック: 6回この商品を含むブログ (3件) を見る実は高校生のときから、毎年欠かさず。とはいえ、きちん
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く