<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>