[Buildroot] Build time increase in 2018.02
Peter Korsgaard
peter at korsgaard.com
Mon Mar 12 18:53:06 UTC 2018
>>>>> "Trent" == Trent Piepho <tpiepho at impinj.com> writes:
> On Sat, 2018-03-10 at 12:32 +0100, Peter Korsgaard wrote:
>> > > > > > > We've seen a big increase in build time with the latest buildroot. On
>> > a vpshere instance, times have gone up from 45 minutes to 180+ minutes.
>>
>> Wow! What version did you use before upgrading to 2018.02 (the 45min)?
> 2017.11.1. I see one change that went in between that and 2018.02 is,
> "core/pkg-generic: store file->package list for staging and host too"
Ok, then lets ensure the author on that patch (Yann) is aware of this
discussion.
> If I breakdown step_pkg_size by tree:
> step_pkg_size-stage 143.50
> step_pkg_size-target 267.14
> step_pkg_size-host 419.21
> The other targets, extract, build, etc. are <1 second. So adding
> package size stats for staging and host is responsible for tripling the
> time this step takes.
> Looking at how the file accounting is done, it will md5sum the tree
> with complexity O(n^2) on the size of the tree. So it is not
> surprising that it is very slow. It also explains why re-installing a
> host package after the build is done slow, since it must md5sum the
> entire host tree twice. At least when building it takes about half as
> long since the earlier packages to install have a smaller tree to sum.
This indeed looks quite bad performance wise. Yann, any input?
>> Argh, that's pretty horrible :/ I have noticed some overhead from the
>> various instrumentation steps, but nothing as significant as this.
>>
>> Out of interest, what kind of storage are you building this on? SSD or
>> spinning disk?
> A good NVMe SSD using PCI-Express.
Ok, nice ;)
>> > On the vsphere instance, the time is much much worse. I'm still
>> > waiting for numbers. It takes hours. I think the lousy vm filesystem
>> > performance magnifies the problem.
>>
>> Yes, I/O performance is absolutely critical for stuff like Buildroot.
> Here's the time for running on a VM.
> targetinstall 29.65
> stageinstall 31.57
> check_bin_arch 34.11
> post_image 38.63
> check_host_rpath 41.23
> hostinstall 55.40
> extract 72.99
> other 73.77
> build 465.93
> configure 689.38
> step_pkg_size 2872.76
> 47 minutes to check the package sizes.
> While I don't use a VM myself, the people who run the infrastructure
> for the CI and nightly builds think they are great. It's the way
> things are now. Everyone's IT dept uses vsphere or AWS or some other
> tech to allow them to create instances that are decoupled from the
> physical hardware present (or in the cloud).
Yes :/
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list