Hi Tom,

Tom Koelman wrote:
I recently upgraded Module::ScanDeps from 0.89 to 0.90 and noticed a big
hit in performance. For me (Windows XP, Strawberry Perl) the following
command:

scandeps -e "use DateTime"

takes about 17 seconds with Module::ScanDeps 0.89 and about 306 seconds
with Module::ScanDeps 0.90.

Commenting out line 262 ( 'DateTime/Locale.pm' => 'sub', ) gives me back
my original scanning time.

I added some debug statements, which show me that scanning takes close
to a second for every single Locale in DateTime. There's 469 Locales
there now, hence the wait.

Is there some way in which I can speed up this process?

Yes. The easy way is to install the newest version of Module.:ScanDeps from CPAN and use the dependency caching. That means you will only have to bear with the slow DateTime::Locale scanning once.

Conceptually, if we know the locales don't add any extra dependencies, we could possible add a special case to prevent it from even trying to scan the locale .pm files and just add them to the list of dependencies instead. For lack of time, I can only say: Patches welcome!

Cheers,
Steffen

Reply via email to