我有一个巨大的日志文件(大约 5-10 百万行)。我需要遍历每一行并进行处理。我看到了巨大的运行时间。
我知道两种读取文件的方法,perl
如下所示。
(1)如何比较不同方法的性能?任何基准机制?
(2)什么是最有效的方法,为什么?有没有第三种更好的方法可用?
一种选择是实现这两种方法并检查运行时。但在这里我试图了解是什么让他们跑得更快或更慢。如果您能在这方面帮助我,将不胜感激。
方法一
open FOPEN, '<', $file or die $!;
my @lines = <FOPEN>;
chomp @lines;
foreach (@lines) {
# do something on $_
}
方法二
open FOPEN, '<', $file or die $!;
while (<FOPEN>) {
chomp;
# do something on $_
}