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

グラフがアニメーションするようにした

プログラムをきれいにしなきゃいかんなーと思いつつ、カオスな方向に突っ走ってしまいました。 Cometもどきを使ってグラフを動かすようにしました。 原理を簡単に説明します。 まず、ttp://localhostt:8088/graphでアクセスすると、グラフの枠とグラフを書く…

Rubyでグラフを書く

New Relic(http://www.newrelic.com/)のツールとか見て、そうかブラウザでパフォーマンスモニタリングすればいいんだと思い、とりあえずグラフをブラウザで出す実験をしてみました。最終的には、色々なプロファイル情報をターゲットプログラムの実行時に得ら…

make benchmark OPTS="-r 5"をやってみた

authorNariさん試してくださってありがとうございます。 お祭も無事終わり(お世話になった人たちに非常に感謝しています。ここを読んでいる人はいないと思うけど・・・)、make benchmark OPTS="-r 5"で試してみました。 コアを吐く不具合は、次の1行を加える…

珍しく効果がでたのか・・・な?

Ruby 1.9.0のgc.cにあるis_pointer_to_heap関数でRuby Enterprisesみたいに前回検索したヒープのスロットをキャッシュするようにしてみました。なんかRuby 1.9.0でも効果があるみたいです。結果 benchmark results: ruby 1.9.0 (2008-07-14 revision 15675) …

世の中甘くないなー

昨日、Ruby 1.9.0のいろいろなところに__builtin_prefetch()を入れてみたけど、ことごとく遅くなった。

Ypsilon Scheme Systemを読むにあたって良い論文

Ypsilon Scheme Systemを読むにあたって良い論文を見つけたので、メモ http://www.jaist.ac.jp/library/thesis/is-master-2000/paper/tyasosim/paper.pdf (リンク先pdfです)Dijkstraのwrite barrierってなんじゃらほい -> なるほど! です。# はてなブックマ…

nodewrap

rubikitchさんの「[ruby]Procの中身を文字列で得る、それが可能なんだな」(http://d.hatena.ne.jp/rubikitch/20080704/1215165794)を読んでいてnodewrap(http://rubystuff.org/nodewrap/)というライブラリを思い出したのでメモrubygemsを使ってインストール…

Ypsilon Scheme Systemのソースを読んでみた

Ypsilon Scheme Systemのソースを読んでみました。読んだのはobject_heap.cpp中のbytes_to_bucket関数、これだけです。 inline int bytes_to_bucket(int x) { int bucket = 0; if (x > 8) { x = x - 1; /* (1) */ x = x | (x >> 1); /* (2) */ x = x | (x >>…

Ruby Enterpriseもjemallocも後回しだ

Show's Hot Corner(http://www.asahi-net.or.jp/~ki4s-nkmr/)を読んでいたら、Ypsilon Scheme System(http://www.littlewingpinball.net/mediawiki-ja/index.php/Ypsilon)なるものが紹介されていました。うう、こいつはすごそうです。これのソース読みを最優…

Ruby Enterpriseの高速化案(その3)

キャッシュを無効化(正確には汚染を少なくする)と299秒となりました。何もしないのが309秒なので、10秒早くなりました。それにしても、GCをキャッシュを効かないようにしてわざと遅くすると、全体的には速くなるとは・・・。GC奥が深すぎる。追記すでに同じ…

Ruby Enterpriseの高速化案(その2)

やってみた。315秒で、6秒遅くなりました。(号泣) また、大ボケをかましてしまった。 キャッシュのプリフェッチがダメなら、GCではキャッシュ無効化で試したいと思います。(意地で)続く

Ruby Enterpriseの高速化案

authorNariさんのページで私が書いたコメントで、ワーキングセットが小さくなると書いてしまったのですが、小さくならないです。ビットマップ領域分まるまる大きくなりますね。大ボケなことをしてしまいました。autorNariさん、ページを汚して申し訳ありませ…