From: Martin Jansa <martin.jansa@gmail.com>
To: ulf@emagii.com
Cc: openembedded-core@lists.openembedded.org
Subject: Re: Improving Build Speed
Date: Thu, 21 Nov 2013 01:19:22 +0100 [thread overview]
Message-ID: <20131121001922.GW3708@jama> (raw)
In-Reply-To: <528D3B01.8060700@emagii.com>
[-- Attachment #1: Type: text/plain, Size: 3136 bytes --]
On Wed, Nov 20, 2013 at 11:43:13PM +0100, Ulf Samuelsson wrote:
> 2013-11-20 22:29, Richard Purdie skrev:
> Another idea:
>
> I suspect that there is a lot of unpacking and patching of recipes
> for the target when the native stuff is built.
> Does it make sense to have multiple threads reading the disk, for
> the target recipes during the native build or will we just lose out
> due to seek time?
>
> Having multiple threads accessing the disk, might force the disk to spend
> most of its time seeking.
> Found an application which measures seek time performance,
> and my WD Black will do 83 seeks per second, and my SAS disk will do
> twice that.
> The RAID of two SAS disks will provide close to SSD throughput (380 MB/s)
> but seek time is no better than a single SAS disk.
>
> Since there is "empty time" at the end of the native build, does it make
> sense
> to minimize unpack/patch of target stuff when we reach that point, and
> then we let loose?
In my benchmarks increasing PARALLEL_MAKE till number of cores was
significantly improving build time, but BB_NUMBER_THREADS had minimal
influence somewhere above 6 or 8 (tested on various systems, even only 4 was
optimum on my older RAID-0 and 2 on single disk).
Of course it was quite different for clean build without sstate
prepopulated and build where most of the stuff was reused from sstate.
see http://wiki.webos-ports.org/wiki/OE_benchmark
> ========================
>
> Now with 48 MB of RAM, (which I might grow to 96 GB, if someone proves that
> this makes it faster), this might be useful to speed things up.
>
> Can tmpfs beat the kernel cache system?
>
> 1. Typically, I work on less than 10 recipes, and if I continuosly
> rebuild those, why not create the build directories as links to
> a tmpfs file system.
> Maybe a configuration file with a list of recipes to build on
> tmpfs.
>
> During a build from scratch, this is not so useful, but once
> most stuff is in place, it might,
>
> 2. If the downloads directory was shadowed in a tmpfs system
> then there would be less seek time during the build.
> The downloads tmpfs should be poplulated at boot time,
> and rsynced with a real disk in the background when new stuff
> is downloaded from internet.
>
> 3. With 96 GB of RAM, maybe the complete build directory will fit.
> Would be nice to build everything on tmpfs, and automatically rsync
> to a real disk when there is nothing else to do...
>
> 4. If not tmpfs is used, then It would still be good to have better
> control
> over the build directory.
> It make sense to me to have the metadata on an SSD, but the
> build directory should be on my RAID cluster for fast rebuilds.
> I can set this up manually, but it would be better to be able to
> specify this in a configuration file.
>
See
http://www.mail-archive.com/yocto@yoctoproject.org/msg14879.html
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
next prev parent reply other threads:[~2013-11-21 0:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-20 21:05 Improving Build Speed Ulf Samuelsson
2013-11-20 21:29 ` Richard Purdie
2013-11-20 22:43 ` Ulf Samuelsson
2013-11-21 0:19 ` Martin Jansa [this message]
2013-11-21 7:15 ` Ulf Samuelsson
2013-11-21 12:53 ` Martin Jansa
2013-11-23 18:39 ` Nicolas Dechesne
2013-11-21 0:10 ` Martin Jansa
2013-11-21 8:04 ` Ulf Samuelsson
2013-11-21 13:53 ` Richard Purdie
2013-11-23 15:06 ` Ulf Samuelsson
2013-11-21 10:05 ` Burton, Ross
2013-11-21 11:51 ` 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=20131121001922.GW3708@jama \
--to=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ulf@emagii.com \
/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.