On Sun 22 Sep 2013 11:10:15 PM PDT, Gregory Szorc wrote:
> On 9/22/2013 10:05 PM, Mark Hammond wrote:
> Sorry, having composed that post on my mobile phone, the necessary
> asterisks weren't written. There are numerous asterisks when it comes to
> build system generalizations because, well, the build system is
> complicated. I or any other build peer could explain things in detail in
> every email thread complaining about build times, but then we wouldn't
> have time to work on the actual build system! I'm optimistic the in-tree
> build system documentation I announced a few days ago will eventually
> grow this type of documentation so knowledge can be percolated so we
> [the build peers] don't feel obligated to brain dump in every email
> thread and to every armchair quarterback that shows up.
>
>>>> [I also see a clobber build spend > 5 minutes in various configure
>>>> runs, which frustrates me every time I see it - so I minimize the
>>>> shell ;]
>>>
>>> We don't have much love for configure either. However, it's only
>>> contributing a few extra minutes to Windows builds compared with 15+
>>> minutes that pymake and make traversal is. I hope you understand why
>>> fixing configure isn't at the top of the priority list at the
>>> moment.
>>
>> I understand it isn't at the top of the priority list, but it's still
>> worth keeping it in perspective - I see ~6 minutes of configure for ~30
>> mins total build time - 20% is significant in anyone's language.
>
> ~6 minutes for a configure?! I just did a configure from a clobber build
> on Windows on my i7-2600K (2+ year old CPU) and it took 2:10. If you are
> seeing 6 minutes configure times, you are running an ancient CPU and/or
> not an SSD or you have something fubar with your setup (such as running
> a VM inside a VM inside a VM Inception style). If your machine *is*
> modern and you don't believe you are doing something silly, *please*
> file a bug so we can get to the root cause.
My anecdote: about 2 years ago, I did a lot of building on Windows and
tried very hard to use a VM (just one layer -- a Windows 7 Virtualbox
VM inside Fedora x64.) The configure times were excruciating. 6 minutes
sounds about right -- for the top-level configure only. If you add in
the recursive configures (js/src, libffi, I can't remember what else),
it was at least 30 minutes just in configure. This *was* a problem with
the VM, btw -- building directly under Windows 7 was slow during
configure, but not insanely so. The rest of the compile was probably a
little slower inside the VM, but not by much.
While investigating this, I stripped down a configure script to a
miniscule subset of what it really did, and continued to see the order
of magnitude problem inside the VM. (The script didn't do any
compiling, just some sed invocations and maybe some directory
traversals or something.) I have that script and the timings lying
around here somewhere...