Difference between revisions of "Build Environment Effort/Performance"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 1: Line 1:
{{Build Environment Effort}}
+
{{Build Environment Effort}}  
== Local build options ==
+
Build times for pch and different kinds of dependencies
+
  
"full dependencies": build with MKDEPENDSOLVER=TRUE
+
== "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
 +
|-
 +
| Summe
 +
| 10.2
 +
| 7.0
 +
|
 +
|
 +
|-
 +
| gemessen
 +
| 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 border=1 style="border-collapse:collapse; border-color: #333;"|full|none|objects|deps|
+
{| cellspacing="0" cellpadding="3" border="1"
| ||all||none||deps
+
 
|-
 
|-
| pch, module dependencies||21:39||0:08||0:45
+
|  
 +
| all
 +
| none
 +
| deps
 
|-
 
|-
| no pch, module dependencies||25:04||0:08||0:45
+
| pch, module dependencies  
 +
| 21:39
 +
| 0:08  
 +
| 0:45
 
|-
 
|-
| no pch, full dependencies||26:14||0:12||1:42
+
| no pch, module dependencies  
 +
| 25:04
 +
| 0:08
 +
| 0:45
 
|-
 
|-
| pch, full dependencies||22:54||0:12||1:42
+
| 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 border=1 style="border-collapse:collapse; border-color: #333;"|full|none|objects|deps|
+
{| cellspacing="0" cellpadding="3" border="1"
| ||all||none||deps
+
 
|-
 
|-
| pch, module dependencies||12:38||0:12||1:05
+
|  
 +
| all
 +
| none
 +
| deps
 
|-
 
|-
| no pch, module dependencies||26:52||0:10||1:07
+
| pch, module dependencies  
 +
| 12:38
 +
| 0:12
 +
| 1:05
 
|-
 
|-
| no pch, full dependencies||27:18||0:15||2:08
+
| no pch, module dependencies  
 +
| 26:52
 +
| 0:10
 +
| 1:07
 
|-
 
|-
| pch, full dependencies||14:15||0:18||2:06
+
| 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 border=1 style="border-collapse:collapse; border-color: #333;"|full|none|objects|deps|
+
{| cellspacing="0" cellpadding="3" border="1"
| ||all||none||deps
+
 
|-
 
|-
| pch, module dependencies||11:02||0:09||0:55
+
|  
 +
| all
 +
| none
 +
| deps
 
|-
 
|-
| no pch, module dependencies||19:17||0:07||0:54
+
| pch, module dependencies  
 +
| 11:02
 +
| 0:09
 +
| 0:55
 
|-
 
|-
| no pch, full dependencies||19:54||0:11||1:46
+
| no pch, module dependencies  
 +
| 19:17
 +
| 0:07
 +
| 0:54
 
|-
 
|-
| pch, full dependencies||11:57||0:13||1:48
+
| 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.

Revision as of 10:58, 26 February 2010

Edit.png

Build Environment Effort

Quick Navigation

About this template


"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
Summe 10.2 7.0
gemessen 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.

Personal tools