[OE-core] [PATCH] python3: enable profile optimized builds

Richard Purdie richard.purdie at linuxfoundation.org
Thu Aug 23 08:27:49 UTC 2018


On Wed, 2018-08-22 at 18:44 -0700, Andre McCurdy wrote:
> On Thu, Aug 16, 2018 at 9:48 PM, Anuj Mittal <anuj.mittal at intel.com>
> wrote:
> > On 08/17/2018 03:31 AM, Andre McCurdy wrote:
> > > On Wed, Aug 15, 2018 at 11:26 PM, Anuj Mittal <anuj.mittal at intel.
> > > com> wrote:
> > > Is it important to re-create the profile data during every build
> > > or
> > > would we get most of the same benefits from using reference data
> > > which
> > > is generated offline?
> > 
> > We should get the same benefit using the data generated offline as
> > long
> > as the source code/configure options/flags are same I believe. I
> > have
> > only tried with data generate offline using the same build
> > configuration
> > though.
> 
> As an additional data point, python do_compile now takes approx 18
> minutes on my laptop. A single qemu-i386 thread loading one CPU core
> at 100%, with nothing else being scheduled in parallel for most of
> that time.
> 
> If we can get most of the benefits of pgo with a pre-generated data
> file then that might still be something to explore.

I've also noticed the increased build times. I'd love to see if we
could create an sstate object which would contain the pgo data and
which didn't depend on the usual compiler/toolchain pieces, only the
do_patch stage checksum. In theory, the same sstate object should be
reusable between target/native/nativesdk too as long as we had the same
python patchset (which I know we don't for native).

Anyone fancy such a challenge? We should probably have a bug open for
this at least...

Cheers,

Richard




More information about the Openembedded-core mailing list