Build Environment Effort/Performance
From Apache OpenOffice Wiki
"no-op" builds
Linux | gbuild | Windows | gbuild | |
tools | 0.7 | 0.15 | 3.2 | 0.8 |
svl | 0.6 | 0.15 | ||
xmloff | 1.0 | 0.9 | ||
svtools | 1.2 | 0.5 | ||
toolkit | 0.6 | 0.4 | 2.5 | 2.4 |
framework | 1.1 | 0.6 | 4.8 | 3.1 |
sfx2 | 1.0 | 0.7 | ||
sw | 4.0 | 3.6 | 18.4 | 13.7 |
Sum | 10.2 | 7.0 | ||
measured | 10.2 | 6.4 |
Local build options
Build times for pch and different kinds of dependencies
"full dependencies": build with MKDEPENDSOLVER=TRUE
sc, cygwin, Notebook, build -P4
- all: no output trees, full build
- none: just check that nothing must be built
- deps: only build dependencies
all | none | deps | |
pch, module dependencies | 21:39 | 0:08 | 0:45 |
no pch, module dependencies | 25:04 | 0:08 | 0:45 |
no pch, full dependencies | 26:14 | 0:12 | 1:42 |
pch, full dependencies | 22:54 | 0:12 | 1:42 |
The same with sw:
all | none | deps | |
pch, module dependencies | 12:38 | 0:12 | 1:05 |
no pch, module dependencies | 26:52 | 0:10 | 1:07 |
no pch, full dependencies | 27:18 | 0:15 | 2:08 |
pch, full dependencies | 14:15 | 0:18 | 2:06 |
And with svx:
all | none | deps | |
pch, module dependencies | 11:02 | 0:09 | 0:55 |
no pch, module dependencies | 19:17 | 0:07 | 0:54 |
no pch, full dependencies | 19:54 | 0:11 | 1:46 |
pch, full dependencies | 11:57 | 0:13 | 1:48 |
Comments
PCH makes a difference, interestingly much more for sw than for sc. So we should keep it for Windows builds. On Linux builds other options exist like e.g. CCACHE.
The most surprising result: working with full dependencies does not make any remarkable difference, even on Windows where stating files is considered to be expensive. The "noop" times clearly show that. Of course creating the dependency files is more expensive, but it's less than 10% of the complete build time.