web-dev-qa-db-ja.com

javascriptの実行をプロファイルする最良の方法は何ですか?

JavaScript用の優れたプロファイラーはありますか? firebugがコードのプロファイリングをサポートしていることは知っています。しかし、私はより長いスケールで統計を決定したいです。多くのjavascriptコードを作成していて、実際にコードのボトルネックが何であるかを判断したいとします。最初は、すべてのjavascript関数と実行時間のプロファイル統計を確認します。次に、DOM関数を含めます。これは、レンダリングツリーでの操作が完璧なように、速度を低下させるアクションと組み合わされます。私のコード、DOMの準備、またはレンダリングツリー/ビジュアルの更新でパフォーマンスが低下した場合、これは良い印象を与えると思います。

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

90
Norbert Hartl

Firebug

Firebugは、非常に詳細なプロファイリングレポートを提供します。巨大な(詳細な)テーブルで各メソッド呼び出しにかかる時間を示します。

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

プロファイルブロックを終了するには、console.profileEnd ()を呼び出す必要があります。コンソールAPIを参照してください: http://getfirebug.com/wiki/index.php/Console_API

黒い鳥

黒い鳥 (公式サイト)また、よりシンプルなプロファイラーがあります( here からダウンロードできます)

62
geowa4

Chromeのデベロッパーツールにはプロファイラーが組み込まれています。

20
Vince

Firebugについて言及しましたが、Firebugで見たいもう1つのことは、Firebugのプラグイン FireUnit ;です。 John Resigはこのブログ投稿でそれについて語っています。

JavaScript関数呼び出しプロファイリング

お役に立てば幸いです。

12
Jason Bunting

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

4
olliej

Firebug + Firefoxは必須です。そしてIE 8の開発者ツールバーにはプロファイラーも組み込まれています(IE 8には開発者ツールバーが付属しています)。

4
Chris Brandsma

JavaScript、XmlHttpRequest、DOMアクセス、レンダリング時間、IE6、7、8のネットワークトラフィックの場合は、FREE dynaTrace AJAX Edition

4
Andreas Grabner