Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • by srezic (8057) on 2008.10.14 14:11 (#65423) Journal
    I had the impression that CPAN::Reporter is usually the slowest distribution, and really, if I run the following one-liner in a directory with my saved reports:
    grep -r 'wallclock secs' .|perl -nle '/^(\S+).*=\s(\d+\.\d+)\s+CPU/ and push @d, [$1,$2]; END { print join("\n", map { "$_->[1]\t$_->[0]" }sort { $b->[1]$a->[1] } @d) }'
    then this shows up as the top 5, sorted by CPU seconds:
    1132.65 ctr1/done/pass.CPAN-Reporter-1.1702.i386-freebsd.6.1-release-p23.1223500100.952. rpt:Files=36,
    932.16 ctr2/done/pass.CPAN-Reporter-1.1702.i386-freebsd.6.1-release-p23.1223506142.7634 .rpt:Files=36,
    512.38 ctr2/done/pass.v6-0.032.i386-freebsd.6.1-release-p23.1223899878.68986.rpt:Files= 136,
    498.25 ctr1/pass.v6-0.032.i386-freebsd.6.1-release-p23.1223936252.51988.rpt:Files=136,
    425.56 ctr1/done/pass.PAR-Packer-0.982.i386-freebsd.6.1-release-p23.1223636690.68184.rp t:Files=4,
    314.49 ctr2/done/pass.PAR-Packer-0.982.i386-freebsd.6.1-release-p23.1223648139.52455.rp t:Files=4,

    Whether CPAN::Reporter is slow or not seems to depend on the number of entries in PERL5LIB. In the above both cases I had many (100?) entries there. If no PERL5LIB is set, then CPAN::Reporter takes only some 130 CPU seconds on my machine.

    One can also use the ctgetreports scripts from the CPAN::Testers::ParseReport distribution to see all the tester's timings, by using this oneliner:
    ctgetreports CPAN-Reporter --q 'qr: (\d+\.\d+) CPU' --q 'conf:osname' --q 'conf:archname' | & perl -nle '/CPU.(\d+)/ and push @d, [$1, $_]; END { print join "\n", map { $_->[1] } sort { $b->[0]$a->[0] } @d }'
    The slowest one is this:
    PASS 2421051 qr: (\d+\.\d+) CPU[5322.27] conf:osname[linux] conf:archname[mips-linux-gnu-thread-multi]
    and the fasters this one:
    PASS 2385291 qr: (\d+\.\d+) CPU[86.70] conf:osname[linux] conf:archname[i686-linux]

    Unfortunately it seems that there are no meaningful CPU timings on Windows systems.