2008-03-01から1ヶ月間の記事一覧

jemallocを読んでみる(その2)

昨日書いたとおり、jemallocのうち、size classがSmallである場合のallocation処理についてみてみます。 はじめにmalloc処理です。 void * malloc(size_t size) { void *ret; /* **** 1 **** */ if (malloc_init()) { ret = NULL; goto RETURN; } /* **** 2 …

中途半場にいろいろ

jemallocの解析の説明について、mallocのアロケーションについて説明して、その背景になるアリーナの構造と構成方法を説明するといいような気がします。アロケーションはサイズによって、small/large/hugeに分けられるのでそれぞれ説明することになりそうで…

「ヒープ細分化、プロセスサイズ削減パッチを作った」のテスト

jemallocの勉強は今日はお休みします。というか、ある程度読み進めないとどっから書いたらいいか分からなくなることに気づきました。gamellaさんに紹介してもらったのに申し訳ありません。私はRuby開発者なんていう立場じゃないのですが、そう呼ばれてかなり…

jemallocを読んでみる(その1)

結局、Cygwinでjemallocを動かす努力はなんか気が乗らないので、jemallocを読んでみようということにしました。色々勉強になりそうです。最初のコメントを訳してみます。英語は苦手なんで誤訳が一杯あると思います。指摘してくださると幸いです。 /* -*- Mod…

Rubyにjemallocを組み込もうとしたが、うまく行っていない

NyaRuRuさんの日記を読んで(http://d.hatena.ne.jp/NyaRuRu/20080327/p1)、jemallocの入手先が分かったので、Rubyに組み込もうとしました。結果うまく行っていません。やったこと、 NyaRuRuさんのページの情報を元にFireFox 3.0b4のソースを入手し、その中の…

よく見たらCopying GCは無意味な気がしてきた

gc.cをもっと詳しく読んで見ました。GCで直接対象になるのはRVALUE型のオブジェクトですが、これはみんな同じ大きさなのでフラグメンテーションがおき得ないことに気づきました。また、アロケーション時もフィットする空き領域を検索する必要もないです。だ…

Mostly-copying garbage collectionをRubyで実現するためのメモ

gc.cを読んでみたらこんな方針でMostly-copying garbage collectionが実現できるんじゃないかなと思うメモ。考慮していないことが起こって根本から崩れるかもしれないけど、それもまた風流(by 宇多田ヒカル)ということで。 struct heaps_slotにアドレスが移…

Mostly-copying garbage collection

authorNariさんの「何とかコンパクションできないのか」http://d.hatena.ne.jp/authorNari/20080312/1205308484を読んでMostly-copying garbage collectionというものをはじめて知りました。 調べてみると、http://www.yl.is.s.u-tokyo.ac.jp/meeting/doc/yo…

Ruby 1.9.0がなぜ遅いか調べてみた

id:kwatchさんの日記で、Ruby 1.9がRuby 1.8より遅い例が載っていました(http://d.hatena.ne.jp/kwatch/20080304/1204646782)。 とても興味深かったのでどうして遅いか調べてみました。記事中のtest2.rbを実行して、そのプロファイルを採ってみました。 Each…

突然はなしが変わってRuby/Tkでアニメーションを作る話(その2)

いろいろ遊んでみてやっと出来たものです。鎖みたいなのが一方を固定して落とした場合という感じのイメージです。計算は適当だし、見た目もなんか変です。物理のセンスが無いことが身に染みました。 require 'tk' require 'singleton' class Viewer<TkFrame include TkComposite WIDTH = 512 HEIGHT = 512 def initialize_composite @frame.configure(:width=>WIDTH, :h</tkframe>…

突然はなしが変わってRuby/Tkでアニメーションを作る話

今まで、マクロをRubyで実現する話を書いていたのですが、突然飽きて最近ActionScript方面でいろいろある物理シミュレーションをRubyで作ってみたくなったので色々やってみたいと思い立ちました。でも、物理は高校で止まっていて今日も図書館で物理の本を読…