Difference between revisions of "Build Environment Effort/Performance"
From Apache OpenOffice Wiki
B michaelsen (talk | contribs) m |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Build Environment Effort}} | |
− | Build | ||
− | " | + | == "no-op" builds == |
− | sc, cygwin, Notebook, build -P4 | + | {| cellspacing="0" cellpadding="3" border="1" |
+ | |- | ||
+ | | | ||
+ | | 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 | + | *all: no output trees, full build |
− | *none: just check that nothing must be built | + | *none: just check that nothing must be built |
*deps: only build dependencies | *deps: only build dependencies | ||
+ | <br> | ||
− | {|cellpadding=3 | + | {| cellspacing="0" cellpadding="3" border="1" |
− | |||
|- | |- | ||
− | | | + | | |
+ | | all | ||
+ | | none | ||
+ | | deps | ||
|- | |- | ||
− | | | + | | pch, module dependencies |
+ | | 21:39 | ||
+ | | 0:08 | ||
+ | | 0:45 | ||
|- | |- | ||
− | | no pch, | + | | no pch, module dependencies |
+ | | 25:04 | ||
+ | | 0:08 | ||
+ | | 0:45 | ||
|- | |- | ||
− | | pch, full dependencies||22:54 | + | | no pch, full dependencies |
+ | | 26:14 | ||
+ | | 0:12 | ||
+ | | 1:42 | ||
+ | |- | ||
+ | | pch, full dependencies | ||
+ | | 22:54 | ||
+ | | 0:12 | ||
+ | | 1:42 | ||
|} | |} | ||
− | The same with sw: | + | The same with sw: |
− | {|cellpadding=3 | + | {| cellspacing="0" cellpadding="3" border="1" |
− | |||
|- | |- | ||
− | | | + | | |
+ | | all | ||
+ | | none | ||
+ | | deps | ||
|- | |- | ||
− | | | + | | pch, module dependencies |
+ | | 12:38 | ||
+ | | 0:12 | ||
+ | | 1:05 | ||
|- | |- | ||
− | | no pch, | + | | no pch, module dependencies |
+ | | 26:52 | ||
+ | | 0:10 | ||
+ | | 1:07 | ||
|- | |- | ||
− | | pch, full dependencies||14:15 | + | | no pch, full dependencies |
+ | | 27:18 | ||
+ | | 0:15 | ||
+ | | 2:08 | ||
+ | |- | ||
+ | | pch, full dependencies | ||
+ | | 14:15 | ||
+ | | 0:18 | ||
+ | | 2:06 | ||
|} | |} | ||
− | And with svx: | + | And with svx: |
− | {|cellpadding=3 | + | {| cellspacing="0" cellpadding="3" border="1" |
− | |||
|- | |- | ||
− | | | + | | |
+ | | all | ||
+ | | none | ||
+ | | deps | ||
|- | |- | ||
− | | | + | | pch, module dependencies |
+ | | 11:02 | ||
+ | | 0:09 | ||
+ | | 0:55 | ||
|- | |- | ||
− | | no pch, | + | | no pch, module dependencies |
+ | | 19:17 | ||
+ | | 0:07 | ||
+ | | 0:54 | ||
|- | |- | ||
− | | pch, full dependencies||11:57 | + | | no pch, full dependencies |
+ | | 19:54 | ||
+ | | 0:11 | ||
+ | | 1:46 | ||
+ | |- | ||
+ | | pch, full dependencies | ||
+ | | 11:57 | ||
+ | | 0:13 | ||
+ | | 1:48 | ||
|} | |} | ||
− | == Comments == | + | == 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. | + | |
+ | 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. | 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. | ||
− |
Latest revision as of 10:58, 26 February 2010
"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.