2009-05-12 19 views
81

javascriptのための良いプロファイラはありますか?私は、ファイヤーバグがプロファイリングコードをサポートしていることを知っています。しかし、私はより長いスケールで統計量を決定したい。 JavaScriptコードをたくさん作成していて、実際にコード内のボトルネックが何であるかを知りたいとします。最初は、すべてのjavascript関数と実行時間のプロファイル統計を表示したいと思います。次はDOM関数を含むでしょう。これは、レンダリングツリー上の操作のようなものを遅らせるアクションと組み合わせて、完璧なものになります。パフォーマンスがコード内、DOM準備中、レンダリングツリー/ビジュアルの更新中に削除された場合、これは良い印象を与えると思います。javascriptの実行をプロファイルする最も良い方法は何ですか?

私が欲しいものに近いものはありますか?または、私が説明したことのほとんどを達成するための最良のツールは何ですか?それは自己コンパイルされたブラウザとプロファイル機能によって強化されたjavascriptエンジンでしょうか?

答えて

60

Firebug

Firebugのは、非常に詳細なプロファイリングレポートを提供します。各メソッド呼び出しがどのくらいの時間巨大な(詳細な)テーブルを取るかを教えてくれます。

console.profile([title]) 
//also see 
console.trace() 

あなたはあなたのプロフィールのブロックを終了するconsole.profileEnd()を呼び出す必要があります。 http://getfirebug.com/wiki/index.php/Console_API

ブラックバード

ブラックバード(official site)も

+0

私はfirefoxを知っていると書いています。私は、javascriptの実行に影響を与えているブラウザからより多くの統計情報を取得したい。 –

+0

errr ...私はfirebugを意味しました;) –

+1

Ditto on Firebugで、コード化したくない場合はコンソールから直接プロファイルできます。 –

4

Firebugの+ Firefoxは持っている必要があります(hereからダウンロードすることができます)シンプルなプロファイラがあります。ここでは、コンソールのAPIを参照してください。また、IE 8の開発ツールバーには、プロファイラが組み込まれています(IE 8は開発者ツールバーとともに出荷されます)。

4

また、Safari 4のWebインスペクタには、プロファイラが含まれています(ただし、ナイトリーのバージョンは再帰的な関数呼び出しで改善されています)。 Web Inspectorは、FirebugのプロファイラAPIもサポートしています。

12

Firebugは言及されていますが、Firebugで見たいと思うもう1つの点は、Firebug用のプラグインです(FireUnit)。このブログ記事でそれについてのジョンResig氏の話:

JavaScript Function Call Profiling

お役に立てば幸いです。あなたはFREE dynaTrace AJAX Edition

+0

ダウンロードリンク - https:// githubのようです。com/jeresig/fireunit/tree/master –

4

は、組み込みのプロファイラを持っています。

+0

、アドオン/拡張子としてブラウザにインストールする方法を教えてください。 –

17

Chromeのデベロッパーツールを使用することができます7 & 8のJavaScript、XmlHttpRequestの、DOMアクセス、レンダリング時間とIE6のためのネットワークトラフィックの

+2

+1、スピードトレーサはいいですし、個々のブラウザがどのように影響を与えるかを見るためにFirefoxだけでなく、あなたのコードをプロファイリングすることが重要です。 – JMTyler

関連する問題