就是这样。OB比包含文件重吗?
2 回答
1
输出缓冲在 RAM 中工作。命中文件系统可能只会命中 RAM(缓存),但它有可能命中磁盘。每当您访问磁盘时,与直接访问 RAM 相比,您至少会看到一个数量级的缓慢。
于 2010-05-15T04:55:36.423 回答
0
我想说取决于你的系统上什么是昂贵的......如果你绝对必须使用尽可能少的内存,那么直接写入磁盘可能是你唯一的选择,尽管底层系统的“磁盘写入”实现仍然会尽可能大块地写出来,因为您可能没有为每个字符调用“写”。
最后,在合理范围内缓冲更快……最简单的测试方法是写出一大串字符,一次一个字符,然后将字符串分成几个合理的块。
考虑到这一点,我想不出你为什么不至少在某种程度上缓冲你的输出!如果您所做的只是将文件从一个地方复制到另一个地方,那么使用系统调用(如果可用)可能比在 PHP 中读取、缓冲和写入要快得多。
于 2010-05-15T07:39:49.160 回答