Thread Verzeichnis durchsuchen - C# viel schneller als Perl?
(15 answers)
Opened by Gustl at 2013-07-04 16:41
Interessant chdir( ... ) zusammen mit opendir( ... ,'.') scheint wirklich schneller zu sein als wenn man das Verzeichnis explizit öffnet. Hier scheint das Auflösen des Pfades bei -d ... ziemlich ins Gewicht zu fallen. Ich habe meinen Code mal entsprechend angepasst:
Code (perl): (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 sub process_files_1 { my @stack=@_; my $dir=getcwd; my ($p,$dh,$path); while(@stack) { $path = pop(@stack); chdir( $path ) or die "chdir($path) failed: $!";; opendir( $dh, '.' ) or die "Unable to open $path: $!\n"; for( readdir( $dh ) ) { next if( $_ eq '.' or $_ eq '..' ); if( -d $_ ) { push(@stack, $path.'/'.$_); } elsif( substr($_,-4,4) eq '.pod' ) { push(@files_erg, $_); } } closedir ($dh); } chdir ( $dir ) or die "chdir($dir) failed: $!\n"; return $count; } Das schiebt meinen Code nach vorne (zumindest bei mir) Code: (dl
)
1 topeg: 1013 |