php ディレクトリの存在確認を行える「is_dir」と「file_exists」と「stream_resolve_include_path」のパフォーマンスを計測する

php ディレクトリの存在確認を行える「is_dir」と「file_exists」と「stream_resolve_include_path」のパフォーマンスを計測する

phpで、ディレクトリの存在確認を行える「is_dir」と「file_exists」と「stream_resolve_include_path」のパフォーマンスを計測するサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Stream release 8
  • php 8.0.0
  • nginx 1.14.1

実行時間計測

microtimeを使用すれば、処理にかかった時間を計測することが可能です。

以下は、「is_dir」と「file_exists」と「stream_resolve_include_path」を使用して、ディレクトリの存在確認を行うコードを1000万回実行して、パフォーマンスを計測するサンプルコードとなります。

ディレクトリが存在する場合(ディレクトリhoge1は存在する)

実行結果

ファイルが存在しない場合(ディレクトリhoge2は存在しない)

実行結果

実行した結果を見る限り、「is_dir」が一番パフォーマンスは良さそうです。