1

同じスクリプトのコピーが 2 つありますが、唯一の違いは次のとおりです。

A)

$images = glob("*.*")

B)

$images = glob("*.{jpg,jpeg,png,gif}", GLOBAL_BRACE)

私にとっては、B の方が選択範囲が少ないため (一方で、より多くのフィルタリングが行われているため)、より速く実行されるはずです。しかし、ロードに 122 ミリ秒かかる A ではなく、3.64 秒かかります。これらは、JS コンソールの Chrome のネットワーク タブから取得されました (これは AJAX 呼び出しです)。

私は大きな違いについて論理的な何かを考えようとしていますが、それは同じディレクトリ、同じサーバー、同じすべてのもの (+GLOB_BRACE だけ) です。

4

2 に答える 2

1

PHP glob の GLOB_BRACE は遅いですか?

いいえ、ファイルシステムへのアクセスは.

ディレクトリには実際にはイメージのみを配置する必要があるため、「グロブ」する必要はまったくなく、代わりにプレーンな古いopendir().

于 2012-09-24T14:44:49.753 に答える
0

それは本当にグロブの実装に依存します。それがすべてのファイルに対して実行される正規表現に基づいている場合、遅くても問題ありません (正規表現は非常に遅いため)。驚いたことに 3.6 ですが、そこにはいくつのファイルがありますか?

于 2012-09-24T14:41:07.960 に答える