PerformanceFileFGets
From LeakonWiki
File和FGets的性能对比
要把一个文本文件的每一行都拆分到数组中,可以用两个函数:file() 和 fgets()。
file() 是直接完成预期的功能,我的理解是,他先一次性读入文件,在内存中进行拆分操作,速度比较快,但是比较耗内存。
fgets() 是每次读取一行,不必读入整个文件,适合处理大文件,但速度就明显比 file() 慢的多。
处理 50 万行的的文本,可以明显感觉到两种方法的速度差别:
$arrPerformance = array();
$fp = fopen($file, 'r');
while (!feof($fp)) {
$arrPerformance[] = trim(fgets($fp, 200));
}
$arrPerformance = file($file);

