develooper Front page | perl.perl5.porters | Postings from February 2018

[perl #132800] lib/unicore/mktables takes too long

Thread Previous | Thread Next
James E Keenan via RT
February 2, 2018 01:20
[perl #132800] lib/unicore/mktables takes too long
Message ID:
On Thu, 01 Feb 2018 21:21:59 GMT, randir wrote:
> This is a bug report for perl from,
> generated with the help of perlbug 1.41 running under perl 5.27.9.
> -----------------------------------------------------------------
> [Please describe your issue here]
> High-parallel builds of perl are currently stranded by the
> lib/unicore/mktables step. It takes ~60% of the total build time:
> git clean -dfx && ./Configure -de -Dusedevel && time make -j20
> test_prep
> make -j20 test_prep  162.93s user 9.08s system 670% cpu 25.648 total
> ./miniperl -Ilib lib/unicore/mktables -C lib/unicore -P pod -maketest
> -p -w  15.82s user 0.23s system 99% cpu 16.057 total
> If I include configure step in the total time measurement, it's still
> ~27%
> bash -c './Configure -de -Dusedevel && make -j20 test_prep'  185.76s
> user 14.36s system 340% cpu 58.733 total
> This happened only during this development cycle, this step has been
> taking around 12-16 seconds on 5.20-5.26 with ~second growth each
> release. Can this be addressed in some way? This makes bisecting
> through 5.27.x and, later, all future perls, much slower.

I don't find compelling evidence of this trend.  I built perl at v5.24.0, v5.26.0 and HEAD twice in each of three environments.  See the attachment for results.  I focus on 'real' time because with bisection the clock time measures the time a human is waiting for results.  The data is obviously not statistically significant, but my impressions are that:

* there is more variation in timings between different 'make' runs for the same Perl version than there is between different Perl versions;

* if one machine is inherently faster than another (typically, more cores), then the percentage of total clock time taken up by ./Configure is greater on that machine than the other; ('make' flies like a rocket on dromedary where 'nproc -all' returns 24);

* if you're running Porting/ with the '--module' switch, the total time spent in building and testing prerequisites swamps that taken during 'make'.

James E Keenan (

via perlbug:  queue: perl5 status: new

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About