くまりゅう日記

もっと過去の日記
[.NET | BeOS | Blender | COLLADA | fossil | mono | monotone | NPR | OpenGL | PeerCastStation | Riko | Ruby | Silverlight | TRPG | XNA | ゲーム | ゲーム作り | プログラム | | 模型]

2009-06-05 今日もプロファイル祭

_ [Riko] プロファイル分からない

ruby-profが落ちるのはRubyProf.stopのところだけGCを止めたらうまくいった。

それはいいんだが見方がやっぱりさっぱりわからん。

なんか実行時間360とか出てるんだけどこれ何よ。あ、デフォルトではclock関数の値を使うから単位はCLOCKS_PER_SECなのか。Intel Macでは分解能100。え、1/100秒単位?めちゃくちゃ適当じゃないですか。

計測単位をCPUカウンタにしてみたらでかい値になってくれた。あと実行もとても速くなった。よしよし…ってええっ!なんでclock関数でカウンタ取るのとCPUカウンタ取るので見た目に明らかな差が出る程速度が違うんだ?

MacOSXのclockのやろー中で寝てやがるのかな…。

で、結構精度良く取れたはいいんだけどやっぱりわかんないなぁ。どうもループしちゃうのはそれはそれでいいみたいなんだけど、ずっと辿っていっても90%以上の実行時間がどこかにいっちゃってるんだよね。どこいったー。

ああ、ruby-profのCPUカウンタって当然CPUのカウンタ使ってんのか。マルチコアでやばくね?とおもったらやはりやばいらしい。特定のコアだけで動くように設定しないとダメだよね。それなおして確認するか。大きくはかわらないだろうけど。

_ Instrumentsすごい

昨日はMacのInstrumentsには標準でRuby対応無いとか書いたけど、全然そんなこと無かった。

確かにライブラリには入ってないんだけど、新しいインストラクションを作るとRubyのカウンタ取れまくる。

dtraceのスクリプト書かなくても簡単に設定作れるってだけだけど、dtraceのスクリプトわけわかんねーし書きづらいからとても便利だよ!

と思ったんだけど、細かい動作指定するなら結局書かないといけないのか。

しかしほとんど何も書かなくてもバックトレースとか関数の実行時間の割合とかは勝手に表示された!すげー!

Obj-Cレベルでだけどな!!!

Rubyでくれ。

あと下手するとすぐ固まる。めっちゃ重い。メモリがやばい程くったりする。うーん、dtraceってすごいけどめちゃくちゃ使いづらくね?

やっぱりruby-profでいいわ。


ページのトップへ | トップ «前の日記(2009-06-04) 最新 次の日記(2009-06-08)» | 編集 | kumaryu.net by kumaryu