[#47955] るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか — Makoto Kuwata <kwa@...>
桑田といいます。るびま編集部に入りました。
17 messages
2011/04/11
[#47956] Re: るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか
— Kiwamu Okabe <kiwamu@...>
2011/04/11
岡部と申します。いつもお世話になっております。
[#47971] Re: るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか
— Satoshi GUNJI <gunjisatoshi@...>
2011/04/14
郡司と申します。
[#47959] Ruby用のリアルタイムプロファイラ — Takahiro Sunaga <sunagae@...>
須永@ささだ研です。
5 messages
2011/04/11
[#47967] Re: CSV.read で読むとUTF-8の扱いがおかしい? — "Endo Akira" <endo4917@...>
遠藤と申します。
5 messages
2011/04/14
[#47990] String#gsub への委譲 — "5.5" <5.5@...>
5.5 です。
10 messages
2011/04/21
[#47991] Re: String#gsub への委譲
— "NARUSE, Yui" <naruse@...>
2011/04/21
2011年4月21日9:10 5.5 <5.5@moji.gr.jp>:
[#47997] lambda中のProc中のreturnの挙動について — m_takao <threewayhandshake@...>
高尾と申します。
6 messages
2011/04/22
[#48009] randの挙動 — YAGUCHI Yuya <yayugu@...>
矢口と申します
5 messages
2011/04/24
[ruby-list:47960] Re: Ruby用のリアルタイムプロファイラ
From:
Yusuke ENDOH <mame@...>
Date:
2011-04-11 18:45:27 UTC
List:
ruby-list #47960
遠藤です。
2011年4月12日0:41 Takahiro Sunaga <sunagae@sunagae.net>:
> 開発しているプロファイラについて宣伝させてください。
>
> 現在リアルタイムで動作するRuby用実行時間プロファイラを開発しています。
> まだまだ不安定ではありますが、ある程度使用できるものになりましたので以下
> のページで公開しています。
> http://sunagae.net/software/llprof
>
> 既にRuby用のプロファイラとしてはprofileやruby-profなどがありますが、それ
> らとは以下の点で異なっています。
> ・別ホストからリアルタイムにプロファイリングの監視ができる
> ・コンテキストツリーをとってくるので、プログラムの文脈がより詳細に分かる
> ・低いオーバーヘッド (ruby-profよりも低い)
>
> もしご興味があればご覧頂ければとおもいます。
公開ありがとうございます。
使ってみましたが、動くような動かないような……。
自分の書いたコードで重くて公開済みでパッと思いついたものとして
http://d.hatena.ne.jp/ku-ma-me/20101224/p1
のコードを
$ ruby -rrrprof quinemas2010.rb
と動かしてみたところ、GUI で Root > Thread0 より先が展開できません
でした。関係あるかわかりませんが java のコンソールにたまに下のような
例外が出てました。
Exception in thread "Timer-0" java.lang.NullPointerException
at RRProf.Monitor.getProfileData(Monitor.java:160)
at RRProf.MonitorGUI$ProfileTimer.run(MonitorGUI.java:141)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
変なコードのせいで行番号とかでバグをついてたりしますかね。
手元にある非公開のプログラム 2 つ (こっちはまともなもの) でも試して
みたところ、Thread0 の先まで展開できましたが、なぜか require が時間
を消費しまくっていることになってました。
どうも gem 関係の Class::load_specification とかいうメソッドで再帰
してるように見えたのですが、プログラム自体はちゃんと動いているので、
実際にそうはなってないと思うのですが。
まだ安定版しか試していないので、暇なときにさらに調べてみます。
あと、使いやすさの面で気になったことを 3 つ。
- ぜひ gem にしてほしいです。勝手にやっていいということなら勝手
にやります (誰かが) 。そういえば、ライセンスは?
- GUI の接続先のホスト名がデフォルトで godel なのはともかく、
一度入力したら覚えてほしいです。
- 測定ごとに GUI を立ち上げ直すのが面倒です :-)
--
Yusuke Endoh <mame@tsg.ne.jp>