<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Sun, 12 Nov 2017 at 19:29 Greg Sheremeta &lt;<a href="mailto:gshereme@redhat.com">gshereme@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>I&#39;ve added a SKIP_CHECKS flag to the ovirt-engine build here [1]. Thanks to Roy for the idea [2].</div><div><br></div><div>TL;DR: you&#39;ll save roughly 2 minutes 10 seconds per full compile with SKIP_CHECKS. You&#39;ll save more (3 min 10 sec) if you don&#39;t need a &#39;clean&#39;. You&#39;ll save the most (about 3 min 20 sec) if you can skip rebuilding GWT.</div><div><br></div><div>Here are some statistics (3 runs per command, for averages sake)<br></div><div><br></div><div>My test machine is a</div><div>Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz<br></div><div>256GB Samsung SSD (old, using SATA)</div><div>32GB DDR3 @ 1333 MT/s</div><div><br></div><div>---</div><div><br></div><div>fresh master checkout</div><div><br></div><div>no clean, no gwt, skip checks:</div><div><br></div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1<div>1:04.38 total<div>1:06.04 total<br></div><div><div>1:04.41 total<br></div><div><br></div><div>same as above, but now change one non-GWT class in the utils project</div><div><br></div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1<br></div><div>1:05.49 total<br></div><div><br></div><div>Ok, pretend we recompiled and our utils class change had an error.</div><div>Same as above, change the one non-GWT class in the utils project again, and use the resume (-pl) functionality:<br></div><div><br></div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1 EXTRA_BUILD_FLAGS=&quot;-pl org.ovirt.engine.core:utils&quot;<br></div><div>17.958 total  (yes, 18 seconds, obviously a world record for any engine build)</div><div><br></div></div></div></div></blockquote><div><br></div><div>&quot;-pl&quot; is very useful mvn directive. It compiles only the <b>p</b>roject-<b>l</b>ist supplied. hence &quot;pl&quot;. Add &quot;-am&quot; (<b>a</b>lso <b>m</b>ake) when you want to compile what utils depends on (like common) or &quot;amd&quot; (<b>a</b>lso <b>m</b>ake <b>d</b>ependents) if you want to compile also projectd depends on utils (like vdsbroker)</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div></div><div>[The resume piece is EXTRA_BUILD_FLAGS=&quot;-pl org.ovirt.engine.ui:webadmin&quot; -- I personally need to use this more often!]</div><div><br></div><div>---</div><div><br></div><div>no clean, no gwt, run checks (but skip unit tests):<br></div><div><br></div><div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 BUILD_UT=0  3:07.66 total</div></div><div><div>3:16.69 total</div></div><div><div>3:14.28 total</div></div><div><br></div><div>clean, no gwt, skip checks:</div><div><br></div><div>make clean install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1</div><div><br></div><div>4:17.74 total<br></div><div>4:15.76 total<br></div><div><div>4:13.90 total</div></div><div><br></div><div>no clean, gwt (1 permutation for chrome), skip checks:<br></div><div><div><br></div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=1 SKIP_CHECKS=1 DEV_EXTRA_BUILD_FLAGS_GWT_DEFAULTS=&quot;-Dgwt.userAgent=safari&quot;<br></div><div><br></div><div>4:25.63 total<br></div><div>4:26.71 total<br></div><div>4:30.69 total<br></div><div><br></div><div><div>no clean, gwt (1 permutation for chrome), run checks but skip unit tests:</div><div><br></div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=1 BUILD_UT=0 DEV_EXTRA_BUILD_FLAGS_GWT_DEFAULTS=&quot;-Dgwt.userAgent=safari&quot;</div></div><div><br></div><div>6:44.23 total<br></div><div><br></div><div>And the whole enchilada [3] ... clean, gwt (1 permutation for chrome), run checks, run unit tests:</div><div><br></div><div>11:52.25 total ... wow :)<br></div><div><br></div></div></div></div></blockquote><div> </div><div>Nice one Greg!</div><div><br></div><div>Now can we have &quot;make WHOLE_ENCHILADA=1&quot; please? :)<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div></div><div><br></div><div>Hope this helps you have a faster change-compile-check cycle :)</div><div><br></div><div>Best wishes,</div><div>Greg</div><div><br></div><div><br></div><div>[1] <a href="https://gerrit.ovirt.org/#/c/83961/" target="_blank">https://gerrit.ovirt.org/#/c/83961/</a></div><div>[2] <a href="https://www.mail-archive.com/devel@ovirt.org/msg10377.html" target="_blank">https://www.mail-archive.com/devel@ovirt.org/msg10377.html</a></div><div>[3] <a href="https://idioms.thefreedictionary.com/whole+enchilada" target="_blank">https://idioms.thefreedictionary.com/whole+enchilada</a></div><div><br></div><div><br></div>-- <br><div class="m_-6778901000767123056gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>GREG</span> <span>SHEREMETA</span></p><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span>SENIOR SOFTWARE ENGINEER - TEAM LEAD - RHV UX</span><span style="color:rgb(170,170,170);margin:0px"></span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat NA<span><br><br></span></a></p><p style="font-family:overpass,sans-serif;margin:0px 0px 6px;font-size:10px;color:rgb(153,153,153)"><span style="margin:0px;padding:0px"><a href="mailto:gshereme@redhat.com" style="color:rgb(0,136,206);margin:0px" target="_blank">gshereme@redhat.com</a>   </span> <span>IRC: <span>gshereme</span></span></p><table style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium" border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a></td></tr></tbody></table></div></div></div></div></div></div></div></div></div>
</div></div></div>
_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@ovirt.org" target="_blank">Devel@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/mailman/listinfo/devel</a></blockquote></div></div>