输出缓冲比FS命中更昂贵吗?

时间:2010-05-15 04:21:43

标签: php include filesystems overhead output-buffering

就是这样。 OB比包含文件更重吗?

2 个答案:

答案 0 :(得分:1)

输出缓冲在RAM中工作。命中文件系统可能只命中RAM(缓存),但它有可能命中磁盘。无论何时击中磁盘,与直接RAM访问相比,您至少看到了一个数量级的缓慢。

答案 1 :(得分:0)

我会说取决于系统上的代价是多少......如果你绝对必须使用尽可能少的内存,那么直接写入磁盘可能是你唯一的选择,尽管底层系统实现的是'磁盘写'当它可以时,仍然会以块的形式写出来,因为你可能没有为每个角色打电话'写'。

最后,理智中的缓冲更快......最简单的测试方法是写出一大串字符,一次写出一个字符,然后写出几个合理的字符串。

考虑到这一点,我想不出为什么你不会至少在某种程度上缓冲输出!如果您所做的只是将文件从一个地方复制到另一个地方,那么使用系统调用(如果可用)可能比在PHP中读取,缓冲和写入要快得多。