From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC] Build time graph generation
Date: Sun, 9 Oct 2011 18:17:26 +0200 [thread overview]
Message-ID: <cover.1318176666.git.thomas.petazzoni@free-electrons.com> (raw)
Hello,
Here are two patches that implement a simple modification of the
package infrastructure to output some timing data about the duration
taken by each step for each package, and then a small Python script
that generates graphs from those informations.
I am not sure that there is any useful usage of those graphs, but it's
fun and there are nice to look at.
Here are some sample graphs, first on a moderately large package set:
http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/histogram-build-order.pdf
http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/histogram-duration-order.pdf
http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/pie-packages.pdf
http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/pie-steps.pdf
and then on a smaller package set:
http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/histogram-build-order.pdf
http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/histogram-duration-order.pdf
http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/pie-packages.pdf
http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/pie-steps.pdf
I don't think the modification to the package infrastructure is ready
for merging (there are many cases not handled, like when the timing
data should be cleaned up, the case of overriden packages not being
handled, etc.) and I am not even sure it is useful to complicate the
package infrastructure with such a not-so-useful feature.
Regards,
Thomas
The following changes since commit ddb8c639c312fd9f65dbb123837c100281495d50:
libplayer: mark python bindings as broken (2011-10-08 22:39:29 +0200)
are available in the git repository at:
http://free-electrons.com/~thomas/buildroot.git for-2011.11/graph-build-time
Thomas Petazzoni (2):
package: instrument to gather timing data
graph-build-time: generate graphs based on timing data
package/Makefile.package.in | 28 ++++
support/scripts/graph-build-time | 252 ++++++++++++++++++++++++++++++++++++++
2 files changed, 280 insertions(+), 0 deletions(-)
create mode 100755 support/scripts/graph-build-time
Thanks,
--
Thomas Petazzoni
next reply other threads:[~2011-10-09 16:17 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-09 16:17 Thomas Petazzoni [this message]
2011-10-09 16:17 ` [Buildroot] [PATCH 1/2] package: instrument to gather timing data Thomas Petazzoni
2011-10-10 13:41 ` Thomas De Schampheleire
2011-10-11 5:59 ` Arnout Vandecappelle
2011-10-11 5:59 ` Arnout Vandecappelle
2011-10-11 7:34 ` Thomas Petazzoni
2011-10-11 8:29 ` Thomas De Schampheleire
2011-10-11 16:12 ` Arnout Vandecappelle
2011-10-11 18:17 ` Thomas Petazzoni
2011-10-09 16:17 ` [Buildroot] [PATCH 2/2] graph-build-time: generate graphs based on " Thomas Petazzoni
2011-10-10 13:12 ` Thomas De Schampheleire
2011-10-10 9:32 ` [Buildroot] [RFC] Build time graph generation Diego Iastrubni
2011-10-10 13:55 ` Thomas De Schampheleire
2011-10-10 14:20 ` Thomas Petazzoni
2011-10-10 15:19 ` Thomas De Schampheleire
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=cover.1318176666.git.thomas.petazzoni@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/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