【发布时间】:2013-07-15 20:41:23
【问题描述】:
当我想从文件中读取时,我使用以下代码:
open my $fh, "file_path";
while(<$fh>)
{
# do something here
}
但是如果文件非常大,我会担心 IO 性能,因为它会逐行读取磁盘。
在 C 程序中,我们可能更喜欢一次将几个字节(例如:4096 字节)读入内存(调用“fread”函数)。这样可以减少磁盘 IO 操作的次数,并有利于程序的性能。
所以我的问题是:有没有办法在 Perl 中一次从文件中读取多行或多个字节?还是 Perl 会封装 IO 的细节,我就不用操心了?
【问题讨论】:
-
你可以阅读关于
read函数的文档 -
过早优化?您是否尝试过使用正常方式?是不是太慢了?
-
似乎没有人提到
$/ = \4096;?
标签: performance perl file io