Open1

【JavaScript/TypeScript】パフォーマンス計測で使用する performance.now() について

まさぴょんまさぴょん

performance.now() について

performance.now() は、JavaScript の Performance API の一部であり、高精度なタイムスタンプを取得するためのメソッドです。
このメソッドは、ミリ秒単位(小数点以下の精度を含む)で時間を計測でき、Date.now() よりも精度が高いため、コードの実行時間やパフォーマンス測定に適しています。

主な特徴:

  • 高精度な計測: 小数点以下のミリ秒まで計測可能。
  • 単調増加する値: システム時間の変更やクロックの不連続性に影響されない。
  • 起点: ページのナビゲーション開始時点(通常はページのロード時)を起点とする。

使用例:

この例では、特定のコードブロックの実行時間を正確に測定しています。

const startTime = performance.now();

// パフォーマンスを測定したい処理
for (let i = 0; i < 1000000; i++) {
  // 処理内容
}

const endTime = performance.now();
console.log(`処理時間: ${endTime - startTime} ミリ秒`);

注意点:

  • ブラウザサポート: ほとんどの現代的なブラウザでサポートされていますが、非常に古いブラウザでは利用できない場合があります。
  • Node.js での使用: Node.js 環境では、require('perf_hooks').performance.now() を使用して同様の機能を利用できます。

まとめ:

performance.now() は、コードの実行時間を高精度で測定したい場合に非常に有用なメソッドです。JavaScript および TypeScript のプロジェクトでパフォーマンス計測が必要な場合は、ぜひ活用してみてください。

参考・引用

https://developer.mozilla.org/ja/docs/Web/API/Performance/now