Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/2] Add BR2_CMAKE_USE_NINJA_BACKEND option
Date: Wed, 1 Feb 2017 21:12:32 +0100	[thread overview]
Message-ID: <20170201211232.2f4effde@free-electrons.com> (raw)
In-Reply-To: <1422fd7b4aadc4c1efbec44cf687740c@openmailbox.org>

Hello,

On Wed, 01 Feb 2017 18:01:31 +0100, C?dric Marie wrote:

> You're right, it is a private package, that's why I had to test on other 
> packages I'm not particularly using, to demonstrate.
> 
> The benefit is rather small for my package too.
> 
> Make:
> real	1m1.517s
> user	2m23.996s
> sys	0m36.197s
> 
> Ninja:
> real	0m56.312s
> user	2m19.078s
> sys	0m29.119s

Indeed the benefit is quite small here.

> NB: It includes the whole "time make foo-rebuild" command, because time 
> output is "strange" when inserted in pkg-cmake.mk (... time 
> $$($$(PKG)_MAKE) ...), don't know why...
> Looks like:
> 130.50user 19.88system 0:42.32elapsed 355%CPU (0avgtext+0avgdata 
> 24680maxresident)k
> 0inputs+50416outputs (0major+7602195minor)pagefaults 0swaps

In the first case you're using the shell built-in "time" program, in
the later you're using the separate /usr/bin/time program. Try:

	/usr/bin/time make foo-rebuild

> To be honest, when I started to add ninja possibility, I expected much 
> bigger savings :)
> Yet I have the option, so even if the benefit is small, I keep using it.
> 
> But in the end, I don't know whether it's worth pushing upstream or 
> not...

I'm indeed not sure it's really worth the effort for such a small
saving.

> Besides Buildroot, I also switched another package from CMake/Make to 
> Meson (based on Ninja), and the benefit was much more interesting - 
> although I have not kept any measure to give here.
> I expected the improvement to be caused by Ninja, not Meson. But it 
> seems that Meson makes the difference, rather than Make vs Ninja.

We had some contribution some months ago to add support for Meson in
Buildroot. The problem was that the contribution was only composed of
host packages, not used by any target package in Buildroot itself.
Which means it was only adding dead code, that wasn't used at all by
Buildroot unless you have some in-house package that uses Meson.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

  reply	other threads:[~2017-02-01 20:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-06 22:37 [Buildroot] [PATCH 1/2] Add BR2_CMAKE_USE_NINJA_BACKEND option Cédric Marie
2017-01-06 22:37 ` [Buildroot] [PATCH 2/2] Update documentation of CMake infrastructure Cédric Marie
2017-01-25  3:27   ` Thomas Petazzoni
2017-01-21 22:25 ` [Buildroot] [PATCH 1/2] Add BR2_CMAKE_USE_NINJA_BACKEND option Romain Naour
2017-01-23 13:39   ` Cédric Marie
2017-01-24 21:48     ` Romain Naour
2017-01-25  1:27       ` Thomas Petazzoni
2017-01-26 17:27         ` Cédric Marie
2017-01-30  9:23           ` Thomas Petazzoni
2017-02-01 17:01             ` Cédric Marie
2017-02-01 20:12               ` Thomas Petazzoni [this message]
2017-02-03 10:44                 ` Cédric Marie
2017-01-25  1:37 ` Thomas Petazzoni
2017-07-11 11:56 ` Thomas Petazzoni
2017-07-11 13:25   ` Cédric Marie
2017-07-11 13:35     ` Thomas Petazzoni

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=20170201211232.2f4effde@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