2011/7/5 Serguei Trouchelle <s...@cpan.org>:
> Hi there!
>
> Everyone knows that CPAN smoking on Windows is S-L-O-W.
>
> I've tried to take a look why it's so slow using ProcMon from Sysinternals
> (microsoft.com/sysinternals). It turned out that building every distribution
> that is using Module::Build results in reading every single file in Perl
> directory (bin/*, lib/*, etc). Distributions that use ExtUtil::MakeMaker
> don't experience this problem. I don't use Module::Build myself and cannot
> tell why this happens, and was it intentional or not, but if you're running
> smokers on Windows, make sure you set 'prefer_installer' to 'EUMM' in CPAN
> config. It will save you a lot of time and harddisk life -- though it will
> still take a hit when it's MB-only distribution.
>
> Comments from people who knows MB well is much appreciated. I'll try to
> debug it myself, but I'm not sure I can find a source of problem quickly.

My best guess is that it's Pod::Html trying to build an index for
resolving L<> tags.  C.f.
https://rt.cpan.org/Ticket/Display.html?id=68651

My other observation on why things are slow is Makefile.PL specific --
every system operation is emulated with Perl.  So a simple "copy" mean
spawning another Perl process and process spawns are very slow on
Windows.  So if the Pod::Html problem were fixed, then M::B should be
faster than EU::MM by not having to spawn for every system operation.

-- David

Reply via email to