Age | Commit message (Collapse) | Author |
|
Ported update_pch.sh to Python with improved performance
and features. The new script is invoked from the same
update_pch.sh which calls it for each library in
parallel, although it can be invoked directly.
The ported script (update_pch) updates all PCH files
in ~15 seconds where the old script took ~4500 seconds.
In addition, the new script supports 3-tiered headers
(system, module, and local) and is very flexible to
support other improvement. It has a per-library
optimal configuration settings that can be updated
using another new scripts (update_pch_autotune.sh)
which finds optimal per-PCH settings.
PCH files have been generated using the new scripts
which builds significantly faster (2-3x, depending
on module and configuration) and the intermediate
binaries are noticably smaller (by several GBs).
The new script stamps each generated PCH file with
the command that generated it to make it trivial
for users to update them, and also adds the command
to invoke another script (update_pch_bisect) that
helps find missing headers or conflicting headers
that may break the build after updating the PCH.
Finally update_pch has built-in unit-tests for
makefile parsing and other core functionality.
Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa
Reviewed-on: https://gerrit.libreoffice.org/19965
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Each pch file is updated independently from the others,
giving an opportunity to execute the update logic in parallel.
The script uses xargs to run the update script in parallel.
The total execution on my particular rig was reduced from
~420 minutes to under 75 mins, using 24 threads on Evo 850 SSD.
Change-Id: Ifeb3947e756325756eb786e3025155481da1ea41
Reviewed-on: https://gerrit.libreoffice.org/14802
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I02b8fa22c11895d00e29d93b25397af676e3edae
|
|
nssrenam.h is another horror...
Change-Id: I166ac2ab1414e89d5cd4beae543670fdfa389adb
|
|
connectivity: 3m52s -> 2m47s
cppcanvas: 28s -> 13s
cppuhelper: 20s -> 14s
dbaccess: 2m38s -> 2m01s
hwpfilter: 16s -> 13s
sot: 21s -> 16s
Change-Id: I49286bfe6be73dd1b861be632b95e17a99e82f8a
|
|
desktop: 1m51s -> 54s
framework: 1m55s -> 1m04s
package: 32s -> 16s
sdext: 1m31s -> 47s
svgio: 32s -> 15s
uui: 49s -> 20s
vbahelper: 1m44s -> 27s
xmlscript: 15s -> 10s
xmlsecurity: 45s -> 23s
Change-Id: Ia437969c091bf877983ababc5ea2d044bbc0bee0
|
|
Change-Id: I80ce89351e2a8dbb1d9d928b673a8589fd651584
|
|
Change-Id: I2654933e1e6f50902be6b992767ab5caac273f9c
|
|
Set the flag explicitly, otherwise it's broken for me.
Change-Id: Iedcbe610ca266bb9fd9b39b8accd274888ab2f15
|
|
Change-Id: I44f7df6e5f816cfcf7a44c6c4c76e80924237d45
Reviewed-on: https://gerrit.libreoffice.org/4955
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
|
|
Change-Id: I6f9a1969605e0016b11157ddb5754ac77fd3966b
|
|
Change-Id: I379bfa8a8531c9ebc09d29ac789d70c8c5dafc79
|