Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Re^3: Efficient processing of large directory

by BrowserUk (Pope)
on Oct 04, 2003 at 00:11 UTC ( #296436=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Efficient processing of large directory
in thread Efficient processing of large directory

readdir is less efficient than glob if a subset of the directory contents is sought.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.


Comment on Re: Re^3: Efficient processing of large directory
Replies are listed 'Best First'.
Re^5: Efficient processing of large directory
by Aristotle (Chancellor) on Oct 04, 2003 at 07:35 UTC
    Apart from the fact that the OP isn't looking for a subset.
    #!/usr/bin/perl use strict; use warnings; use Benchmark qw /cmpthese/; chdir shift or die; cmpthese -5 => { glob => sub { 1 while glob '*'; }, readdir => sub { opendir my $dh, '.' or die; 1 while readdir $dh; }, }; __END__ $ mkdir x ; cd x ; touch `seq 1 20000` ; cd .. $ perl glob_vs_readdir.pl x Benchmark: running glob, readdir for at least 5 CPU seconds... glob: 6 wallclock secs ( 4.02 usr + 1.07 sys = 5.09 CPU) @ 5.30 +/s (n=27) readdir: 6 wallclock secs ( 3.93 usr + 1.37 sys = 5.30 CPU) @ 65.28 +/s (n=346) Rate glob readdir glob 5.30/s -- -92% readdir 65.3/s 1131% --

    Makeshifts last the longest.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://296436]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2015-07-30 02:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (269 votes), past polls