All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: poky <poky@yoctoproject.org>
Subject: Re: Performance regression in bitbake and exec() vs fork()
Date: Fri, 17 Dec 2010 22:44:05 +0000	[thread overview]
Message-ID: <1292625845.25087.586.camel@rex> (raw)
In-Reply-To: <1291899386.1554.827.camel@rex>

To update on the current status of bitbake exec() vs fork(), we now have
the following branch:

http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=rpurdie/newpseudo

which changes Poky to use the new version of pseudo, adds in an
appropriate wrapper script for bitbake and starts enabling/disabling
pseudo as appropriate as well as switching back to fork() instead of
exec().

We've still trying to work out exactly what this means for performance.
Things 'feel' very much faster and I've at least one use case showing a
double in speed showing the increase in task execution speed of fairly
empty tasks. My test was:

rm 'sstate-*qemu-config*'
MACHINE=qemux86 bitbake qemu-config -c clean
time MACHINE=qemux86 bitbake qemu-config

On the current master branch the timings were:

real 1m8.529s
user 0m58.870s
sys 0m4.690s

Whilst with newpseudo:

real 0m34.264s
user 0m26.200s
sys 0m2.340s

This is good as it gets us back to a much snappier feeling bitbake.

Mark has some numbers which don't quiet add up with improvements in read
and sys but an increase in user too, we're still looking to understand
them. I'd like to give the autobuilder a pass over these changes when we
have the opportunity and see what that real world performance looks
like.

Its likely that the speedups will be greatest on machines with small
numbers of cores which are primarily cpu bound. The benefits will
decrease on disk IO bound systems with large number of cores.

Cheers,

Richard




  reply	other threads:[~2010-12-17 22:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-09 12:56 Performance regression in bitbake and exec() vs fork() Richard Purdie
2010-12-17 22:44 ` Richard Purdie [this message]
2010-12-18  0:46   ` Tian, Kevin
2010-12-20 13:09     ` Richard Purdie
2010-12-20 17:11       ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1292625845.25087.586.camel@rex \
    --to=richard.purdie@linuxfoundation.org \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.