以小块或一次性写入文件是否更好?

Tit*_*lli 2 memory perl file-io

我必须用Perl在一个文件上写多行,这是逐行写入小块的优点或缺点,而不是保存所有内容并只访问文件句柄一次写入所有内容?

小智 6

Perl在引擎盖下执行文件写入缓冲 - 它会将数据保存到有大量块,然后立即写入.

因此,即使您多次写入文件句柄,对文件的实际写入次数也是有限的.写很多次都没有明显的性能损失 - 除非你做了明确规避缓冲的事情(例如$|=1每次写入时设置或关闭并重新打开文件).

你应该逐行写,如果这是最方便的.