Bug 10615

Summary: [Build-Perf] Perl 5 seems blocking build more than 2 min
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Jianxun Zhang <jianxun.zhang>
Component: Scripts and ToolsAssignee: Jianxun Zhang <jianxun.zhang>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: Medium CC: richard.purdie, ross.burton
Version: 2.2   
Target Milestone: Future   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Jianxun Zhang 2016-11-07 23:34:49 UTC
NOTE: This bug shall go to bld-perf component once we have it. But now I submitted to this component as a temporary solution.

Poky: edb5b524b3ee807d55a437cbab3d768c5f6f2283
Machine: qemux86
Image: core-image-minimal
Test: Download all source code, then measure time of a clean build

On my build host, tasks in a single package perl-5.52 block whole build progress for about 2 min before any other tasks started.

perl5: do_compile, neat overhead: at least 110 sec
perl5: do_package, neat overhead: at least 40 sec

I lost raw buildstat data, so from another build:
perl-5.22.1-r0	do_compile:	294.36 sec (total, not neat)
perl-native-5.22.1-r0	do_compile:	35.95 sec (total, not neat)

You can see native build consumes much less total time of compile task. But it doesn't have do_package task for another comparison.

This makes me feel we could start some investigation on compile task of perl5 to optimize core-image-minimal build. But if people concludes minimal build is not in goals of perf tuning, we could drop this case since it may be a different story for sato and other images.
Comment 1 Jianxun Zhang 2016-11-09 17:47:03 UTC
Ed,
I assume you are not working on build performance issues. I didn't have a closer call for project when filing this ticket. I take it with such assumption.
Comment 2 Richard Purdie 2016-11-17 15:40:41 UTC
I think perl-native is limited in scope (mini perl only?) hence it build faster but isn't as complete. I'm open to exploring this area further but without more detailed investigation and proposal with an idea of where we'd get potential gains, I'm reluctant to spend a lot of time on this area. The perl recipe isn't very nice and I'm worried that trying to modify it would also result in problems, there are probably big cleanups needed to sort out the perl build process first.
Comment 3 Jianxun Zhang 2017-02-06 23:39:38 UTC
This issue is not addressed properly or precisely once I did some research in build perf area.

Perl 5 may still be a hot spot but we need to investigate other aspects before draw the conclusion.

I close this bug at this stage.