是把文件分成小块写好,还是一次写好?

  • 本文关键字:一次 文件 perl memory file-io
  • 更新时间 :
  • 英文 :


我必须用Perl在一个文件上编写多行,逐行编写小块与保存所有内容并仅访问一次文件句柄来编写所有内容相比,这是优点还是缺点?

Perl在底层执行文件写入缓冲——它保存数据直到有一个重要的块,然后一次写入所有数据。

因此,即使多次写入文件句柄,实际写入文件的次数也是有限的。多次写入不会造成有意义的性能损失——除非您显式地规避缓冲(例如每次写入时设置$|=1或关闭并重新打开文件)。

如果方便的话,你应该一行一行写。

如果您知道要写的数据是什么,那么这样做通常更方便。重复使用文件句柄没有缺点。

并且,是的,如果写入的数据总量大于输出缓冲区的大小,这将节省一些内存,但是,实际上,除非您要写入几十兆字节,否则内存消耗的差异并不重要,所以以最清晰和最容易维护的方式编写

最新更新