<div dir="ltr">Hey Björn,<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 17, 2016 at 11:21 AM, Bjoern Michaelsen <span dir="ltr"><<a href="mailto:bjoern.michaelsen@canonical.com" target="_blank">bjoern.michaelsen@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Heya Markus,<br>
<span><br>
On Tue, May 17, 2016 at 02:37:02AM +0200, Markus Mohrhard wrote:<br>
> The results for the initial build without building or executing the tests:<br>
><br>
> real    70m17.990s<br>
> user    436m43.860s<br>
> sys    28m3.680s<br>
><br>
> After that the results of a time make, therefore forcing the build of<br>
> everything test related and executing the tests:<br>
><br>
> real    11m30.192s<br>
> user    58m43.384s<br>
> sys    1m36.876s<br>
<br>
</span>Did you by chance have an opportunity to also ran "make" from scratch on that<br>
machine? I assume/hope it wont take the 70 min + 11 min = 82 min. a straight<br>
addition would make one assume, because make will use idle job slots during a<br>
full build.<br></blockquote><div><br>real    83m37.618s<br>user    493m30.052s<br>sys    29m44.404s<br><br><br></div><div>And then the following time make (therefore again only executing tests):<br><br>real    9m16.741s<br>user    45m31.208s<br>sys    0m37.516s<br></div><div><br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
IOW, these number suggest a 82min/70min = 17% overhead in real and a (436 +<br>
58)min/436min = 13% overhead in CPU time -- but I assume the real overhead in a<br>
build from scratch is smaller than both of that in the real world. </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
The most critical time I see from in all this is not anything build from<br>
scratch anyway, but the for a simple<br>
touch-one-cxx-recompile-relink-and-then-run-all-the-tests scenarios. So the:<br>
<br>
> real    6m37.479s<br>
> user    45m4.740s<br>
<br>
as an _absolute_ is the key there, I guess.<br></blockquote><div><br><br></div><div>So for me the problem is that on machines that are much slower it takes quite some time to execute the tests and that we are going to see people just skipping the tests if the cost-value relationship becomes too bad. As mentioned I think we are right now still in an area where it is somewhat ok but we know that we are adding more and more tests and that it will mean that the ratio test time/build time will become bigger.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Best,<br>
<br>
Bjoern<br>
<br>
P.S.: I would have assumed compiling/linking the tests to take much more time<br>
than running the tests. But it seems with 45min/58min=77% -- most of the time<br>
is indeed spend on running tests, not building them.<br>
<br>
P.S.: For reference, the output of "time make build-nocheck" would be helpful<br>
      too (aka a noop incremental build time overhead in make/dep parsing etc.)<br></blockquote><div><br>real    0m38.787s<br>user    0m16.300s<br>sys    0m0.896s <br></div></div><br></div></div>