http://qs321.pair.com?node_id=226109


in reply to Re: Reinventing wheels based on bad benchmarks
in thread Odd file rename

If 4-6% speed gain makes your program meet the specifications and fail otherwise, what then?

It's a tired argument/rebuttal, but if reinventing this wheel puts you inside the specifications, then chances are the time you spent reinventing would have been far better invested in some other part of the code that will likely gain you more than a mere 5% average improvement.

Remember that crawling directories is a heavily I/O bound activity where optimizations in your code are unlikely to be able to make a great deal of difference.

However, as a suggestion (I haven't benched it), try this:

sub test4 { find({ preprocess => sub { $fileCounter += grep /\.txt$/ && -f, @_ }, wanted => sub {}, }, shift); }
(Actually, I'm thinking I'll go submit a patch so that find doesn't require a wanted in case a preprocess and/or postprocess is given.)

Makeshifts last the longest.