1. ホーム
  2. performance

[解決済み] AngularJSアプリのDigest Cycleのパフォーマンスを測定するには?

2023-06-17 01:28:17

質問

angularjsのdigestサイクルの期間を測定する簡単な方法は何ですか?ダイジェストサイクルのパフォーマンスを分析するためのさまざまな方法がありますが、それぞれ独自の欠点があります。

  • Chrome プロファイラー。詳細が多すぎるため、見つけやすい方法でダイジェスト サイクルを分解できない。
  • Batarang (AngularJS ブラウザ プラグイン)。オーバーヘッドが多すぎる、リフレッシュ速度が遅い、大規模なアプリで爆発する。

...もっと良い方法があるはずです。

どのように解決するのですか?

ここに秘密があります。クロームの開発ツールで、cpu プロファイルの実行を行います。キャプチャを停止した後、画面の下部にある "Heavy (Bottom Up) " の横に下向きの三角形があります。その三角形をクリックし、"Flame Chart"を選択します。フレイムチャートモードに入ると、ズームやパンをして、ダイジェストサイクルやその時間、どの関数が呼び出されているかを正確に確認することができます。フレイムチャートは、ページロードの問題、ng-repeatのパフォーマンスの問題、ダイジェストサイクルの問題などを追跡するのに非常に便利です。Flame Chartを使う前は、どうやってデバッグやプロファイリングをしていたのか、本当にわかりません。以下はその例です。