parse_ini_file()
.ini ファイルに設定を保存し、PHPで値を取得する人がいることを知っています。テストを実行していないので、パフォーマンスに興味があります。
設定がiniファイルにある場合、オペコードキャッシュがこのタイプのものをキャッシュできるかどうか知っていますか?
質問の他の部分について:オペコードキャッシュがiniファイルをキャッシュする場合。これを書いている時点で、私のバージョンの PHP 5.3.5 では、APC キャッシュは自動では実行しませんが、次のような関数を追加することで APC によって ini ファイルがキャッシュされることを確認し、それを ini ファイルの解析に使用できます。 :
function parse_ini_file_ext ($file, $sections = null) {
ob_start();
include $file;
$str = ob_get_contents();
ob_end_clean();
return parse_ini_string($str, $sections);
}
その後、ini ファイルは APC によってキャッシュされます。単純なマイクロタイム ベンチマークで測定すると、これも ini ファイルを直接読み取るよりも高速です。
私は常に、parse_ini_file がひどく遅く、PHP ファイルの配列に変数を格納する方が速いという疑いを抱いていました。しかし、2004 年のこの記事には、そうではないと書かれています。
そして最後に、設定パラメータを INI ファイルまたは PHP ファイルに連想配列として保存することをテストします。INI ファイルに格納して parse_ini_file() を使用すると、PHP ファイルを解析するよりも高速であることがわかりました。
私は自分でテストするまで、これを完全に信じることはできません。しかし、記事 (および雑誌) は、真剣に受け止められるほどしっかりしているように見えます。
組み込み関数はparse_ini_file
C で実装されています。これにより、非常に高速になります。
ini ファイルをキャッシュしないと、はるかに高速になります。すべての専門家は、これが真実であると断言できます。