[ovirt-devel] speed up engine development with SKIP_CHECKS
Greg Sheremeta
gshereme at redhat.com
Sun Nov 12 17:28:17 UTC 2017
Hi,
I've added a SKIP_CHECKS flag to the ovirt-engine build here [1]. Thanks to
Roy for the idea [2].
TL;DR: you'll save roughly 2 minutes 10 seconds per full compile with
SKIP_CHECKS. You'll save more (3 min 10 sec) if you don't need a 'clean'.
You'll save the most (about 3 min 20 sec) if you can skip rebuilding GWT.
Here are some statistics (3 runs per command, for averages sake)
My test machine is a
Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz
256GB Samsung SSD (old, using SATA)
32GB DDR3 @ 1333 MT/s
---
fresh master checkout
no clean, no gwt, skip checks:
make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1
1:04.38 total
1:06.04 total
1:04.41 total
same as above, but now change one non-GWT class in the utils project
make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1
1:05.49 total
Ok, pretend we recompiled and our utils class change had an error.
Same as above, change the one non-GWT class in the utils project again, and
use the resume (-pl) functionality:
make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1
EXTRA_BUILD_FLAGS="-pl org.ovirt.engine.core:utils"
17.958 total (yes, 18 seconds, obviously a world record for any engine
build)
[The resume piece is EXTRA_BUILD_FLAGS="-pl org.ovirt.engine.ui:webadmin"
-- I personally need to use this more often!]
---
no clean, no gwt, run checks (but skip unit tests):
make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 BUILD_UT=0
3:07.66 total
3:16.69 total
3:14.28 total
clean, no gwt, skip checks:
make clean install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0
SKIP_CHECKS=1
4:17.74 total
4:15.76 total
4:13.90 total
no clean, gwt (1 permutation for chrome), skip checks:
make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=1
SKIP_CHECKS=1 DEV_EXTRA_BUILD_FLAGS_GWT_DEFAULTS="-Dgwt.userAgent=safari"
4:25.63 total
4:26.71 total
4:30.69 total
no clean, gwt (1 permutation for chrome), run checks but skip unit tests:
make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=1 BUILD_UT=0
DEV_EXTRA_BUILD_FLAGS_GWT_DEFAULTS="-Dgwt.userAgent=safari"
6:44.23 total
And the whole enchilada [3] ... clean, gwt (1 permutation for chrome), run
checks, run unit tests:
11:52.25 total ... wow :)
Hope this helps you have a faster change-compile-check cycle :)
Best wishes,
Greg
[1] https://gerrit.ovirt.org/#/c/83961/
[2] https://www.mail-archive.com/devel@ovirt.org/msg10377.html
[3] https://idioms.thefreedictionary.com/whole+enchilada
--
GREG SHEREMETA
SENIOR SOFTWARE ENGINEER - TEAM LEAD - RHV UX
Red Hat NA
<https://www.redhat.com/>
gshereme at redhat.com IRC: gshereme
<https://red.ht/sig>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/devel/attachments/20171112/7ce1ef4e/attachment.html>
More information about the Devel
mailing list