高速なファイル存在確認

はいのはいのはーい、小堤です。

ファイルの存在確認を行う場合、file_exists()を使うと思います。
ええ、それでいいんです。

だけど、こいつは0.005秒もコストがかかります。

存在確認だけに0.005秒もかかって、複数ファイルがあったら倍々ですよ!

ってことで、ファイルを読み込みたい!クラスファイルなどを読み込みたい!それと同時に
存在確認したい!とき限定ですが、下記の方法をxFrameworkでは実装しています。

って感じです。

includeで失敗した場合、ワーニングが表示されます。これを事前に無効にしておいて、レッツ読み込み!
そして、終わったらエラーレポーティングを元に戻してやります。

includeは読み込みに失敗した場合、false(Boolean)を返すのでそこをif文で判定してExceptionなりを発生させるとですね、なんと0.0028位のコストになるんですよ!!!

要するに44%も高速化できるわけです!!!

ただし、ファイルを読み込みたい!と思っていないものに対しては通用しません。
includeなので ソースとして読み込まれてしまいますし、大きなファイルだと逆にコストがかかりそうです。

ってことで、メモでした。

xFrameworkPX2.5の現在(60%くらい実装)のブートストラップの動きは0.0028910636901855秒
好タイムをだしてまぁ~す(・~・)b

高速なファイル存在確認

One thought on “高速なファイル存在確認

コメントを残す