ホームページ >バックエンド開発 >PHPチュートリアル >PHP コードの速度を効率的に測定するにはどうすればよいですか?

PHP コードの速度を効率的に測定するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-05 10:30:12437ブラウズ

How Can I Efficiently Measure the Speed of My PHP Code?

PHP コードの速度の測定: 2 つの効果的なソリューション

同一のタスクを実行するコード クラスの効率を比較する場合、評価することが重要です彼らの実行速度。この記事では、この課題に対処するための 2 つのソリューションを紹介します。

単純なソリューション: マイクロタイム ベンチマーク

このメソッドは、PHP の microtime(true) 関数を利用してコードの実行時間を決定します。コードセクションの前後に関数を配置して、経過時間を計算します。たとえば、配列のシリアル化にかかる時間を測定するには:

$before = microtime(true);

for ($i = 0; $i < 100000; $i++) {
    serialize($list);
}

$after = microtime(true);
echo ($after - $before) / $i . " sec/serialize\n";

このソリューションは、単純な関数を含む短いコード スニペットを比較するのに適しています。

高度なソリューション: Xdebug Profiling

スクリプト全体をプロファイリングしてボトルネックを特定するには、Xdebug 拡張機能が非常に貴重な機能を提供します。洞察。 Xdebug をインストールすると、互換性のあるソフトウェアを使用して分析できるプロファイリング データが生成されます。一般的な 3 つのオプションは次のとおりです:

  • Webgrind (Web インターフェイス)
  • WinCacheGrind (Windows のみ)
  • KCacheGrind (Linux/Unix 推奨)

プロファイリング用に Xdebug を構成するには、次の設定を変更します。 php.ini:

xdebug.profiler_enable = 0              ; Profiling disabled by default
xdebug.profiler_enable_trigger = 1      ; Enable profiling with GET parameter
xdebug.profiler_output_dir = /tmp/ouput_directory
xdebug.profiler_output_name = files_names

URL で「XDEBUG_PROFILE」パラメータを渡すことにより、特定のページのプロファイリングを選択的にトリガーできます。 Xdebug によって生成されたプロファイリング データは、KCacheGrind などのツールで視覚化でき、CPU 時間の消費量をグラフで表示して、パフォーマンスのボトルネックを特定できます。

以上がPHP コードの速度を効率的に測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。