Я обнаружил, что следующий Perl-код выполняется с удивительно изменяющимися скоростями, иногда быстрыми, иногда очень медленными.У меня есть несколько папок, содержащих десятки тысяч файлов, через которые мне нужно выполнить этот код.Я запускаю это на cygwin с windows 7. Интересно, может кто-нибудь помочь мне ускорить его или, как минимум, выяснить, почему скорость меняется.Мой процессор и память должны быть обильными во всех этих ситуациях.
внешний цикл для перебора списка $ dir's
opendir(DIR, $dir);
@all=readdir(DIR);
@files = (0..$#all);
$i=-1;
foreach $current (@all){
if (-f "$dir/$current") {
$files[++$i]=$current;
}
}
push @Allfiles,@files[0..$i];
closedir(DIR);