Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Phil Blundell <pb@pbcl.net>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core <openembedded-core@lists.openembedded.org>
Subject: Re: Confusing Performance Numbers
Date: Tue, 12 Nov 2013 23:33:25 +0000	[thread overview]
Message-ID: <1384299205.3828.29.camel@x121e.pbcl.net> (raw)
In-Reply-To: <1384270308.6460.11.camel@ted>

On Tue, 2013-11-12 at 15:31 +0000, Richard Purdie wrote:
> I also totalled the time in each task type, the output is below. The
> numbers there are interesting as the strip patch seems to add 100s to
> do_populate_sysroot. There doesn't seem to be a big difference in
> compile time.

That's probably to be expected: the amount of disk bandwidth you save by
not copying the symbols into the sysroot (and into sstate) is almost
certainly going to be outweighed by the time it takes to strip the files
in the first place.  So that set of numbers at least does seem
believable.

In theory at least, adding -Wl,-s to BUILD_LDFLAGS could give you the
stripping behaviour at lower cost since the linker could avoid writing
out the symbol table in the first place.  But I'm not entirely sure how
this option is actually implemented within the linker (or whether ld.bfd
and ld.gold do the same thing in that respect) and it's entirely
possible that it might be no better in practice.  

Using -march=native for natives is an interesting idea, though even if
this was a win on a single machine it might obviously be a net loss in
the presence of a shared sstate cache.  Of course, the vast majority of
-native binaries are run so seldom that their impact on the overall
build performance is going to be negligible: the ones that dominate are
going to be the toolchain.  One idea that I've seen suggested from time
to time (but never actually tried out) is that it might be a win under
some circumstances to do a 2-stage bootstrap of gcc-native and then use
that gcc-native to build gcc-cross as well as all other native packages.
If you were building everything from scratch every time then it's hard
to imagine this being a real benefit unless your distribution bundled
compiler was spectacularly rubbish, but if you assume that these gccs
will come out of sstate for most builds then it starts to seem more
plausible that this might be worth doing.

p.




  reply	other threads:[~2013-11-12 22:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-12 15:31 Confusing Performance Numbers Richard Purdie
2013-11-12 23:33 ` Phil Blundell [this message]
2013-11-13 14:02 ` Enrico Scholz

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=1384299205.3828.29.camel@x121e.pbcl.net \
    --to=pb@pbcl.net \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox