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