Thread schnelleres OpenDir (13 answers)
Opened by master at 2006-03-30 13:32

master
 2006-03-30 13:32
#64181 #64181
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
In letzter Zeit stiess ich vermehrt auf die Methode A, um
die lästigen "." und ".." zu entfernen. Nun habe ich mal getestet ob meine bewährte Methode B, schneller ist.

Methode A = sub a;
Methode B = sub b;
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use FindBin qw($Bin); chdir($Bin);

$t=time;
for(1..150000)
{
    #&a;
        &b;
}
$zeit = time - $t;
print "Zeit: $zeit\n";



sub a
{
     opendir(DIR,'t') or die $!;
       @files = grep{$_ !~ /^\.\.?$/}readdir(DIR);
       closedir DIR;
}

sub b
{
   opendir(DIR,'t') or die $!;
   @files = readdir(DIR);
   closedir DIR; shift(@files);shift(@files);
}



Methode A: 76 Sekunden (bei weniger durchläufen 38s)
Methode B: 69 Sekunden (bei weniger durchläufen 34s)

"Methode B" ist ca. 10 % schneller.\n\n

<!--EDIT|master|1143711174-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;

View full thread schnelleres OpenDir