[Buildroot] [PATCH 2/2] core/instrumentation: shave minutes off the build time
Trent Piepho
tpiepho at impinj.com
Mon Mar 19 16:30:52 UTC 2018
On Thu, 2018-03-15 at 21:35 +0100, Yann E. MORIN wrote:
> Timings however speak for themselves, with this defconfig (slightly
> biggish-but-still-manageable build) [1].
>
> host/ 20965 files 1.2GiB
> staging/ 4715 files 333MiB
> target/ 1801 files 44MiB
>
> All instrumentation steps, using md5: 19min 27s
> All instrumentation steps, using mtime: 14min 45s
> No instrumentation step at all: 14min 31s
>
> So, using mtime is an almost-5min improvement, i.e. about 25% faster,
> while removing all instrumentation steps does not gain that much more...
After fixing s/L/l/, here are the timings for a 15 minute build:
configure 510.29
build 166.12
extract 45.53
other 43.88
hostinstall 35.43
check_host_rpath 33.37
check_bin_arch 28.30
targetinstall 23.37
stageinstall 15.97
step_pkg_size 9.49
Without ccache, the build step would be somewhat longer.
> Now, we also change the way we handle symlinks. Previously, we would
> hash the file pointed to by the symlink. Now, we only look at the mtime
> of the symlink itself, which still detects modifications.
This patch also fixes a problem the previous system had w.r.t. broken
symlinks. They did not show up as owned by any packages. Now they are
owned by the package that creates the link. It also means a package
that replaced a file which was linked to does not also appear,
incorrectly, to replace all the links as well.
More information about the buildroot
mailing list