• Ashod Nakashian's avatar
    Fast PCH generator and optimized PCH files · 06116bd1
    Ashod Nakashian yazdı
    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/19965Tested-by: 's avatarJenkins <ci@libreoffice.org>
    Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
    Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
    06116bd1
Adı
Son kayıt (commit)
Son güncelleme
..
text_cat Loading commit data...
README Loading commit data...
bash-completion.in Loading commit data...
benchmark-document-loading Loading commit data...
check-icon-sizes.py Loading commit data...
convwatch.py Loading commit data...
count-todo-dialogs Loading commit data...
distro-install-clean-up Loading commit data...
distro-install-desktop-integration Loading commit data...
distro-install-file-lists Loading commit data...
distro-install-sdk Loading commit data...
extract-tooltip.py Loading commit data...
fake_pom.xml Loading commit data...
find-duplicated-files.py Loading commit data...
find-duplicated-sids.py Loading commit data...
find-german-comments Loading commit data...
find-undocumented-classes Loading commit data...
find-unused-defines.awk Loading commit data...
find-unused-defines.sh Loading commit data...
find-unused-typedefs.py Loading commit data...
find-unused-typedefs.sh Loading commit data...
find-unusedheaders.pl Loading commit data...
findunusedcode Loading commit data...
fixincludeguards.sh Loading commit data...
fuzzfiles Loading commit data...
gbuild-to-ide Loading commit data...
gen-iwyu-dummy-lib Loading commit data...
gen-iwyu-dummy-lib.awk Loading commit data...
generate-bash-completion Loading commit data...
get-bugzilla-attachments-by-mimetype Loading commit data...
get_config_variables Loading commit data...
git-new-module-workdir Loading commit data...
git-new-workdir Loading commit data...
git-ps1 Loading commit data...
includebloat.awk Loading commit data...
ios-mapfile-statistics Loading commit data...
java-set-classpath.in Loading commit data...
lint-ui.py Loading commit data...
lo-all-static-libs Loading commit data...
lo-commit-stat Loading commit data...
lo-generate-source-tarball Loading commit data...
lo-pack-sources Loading commit data...
lo-xlate-lang Loading commit data...
lolcat Loading commit data...
module-deps.pl Loading commit data...
moveglobalheaders.sh Loading commit data...
mvn.py Loading commit data...
parse-perfcheck.py Loading commit data...
refcount_leak.py Loading commit data...
rename-sw-abbreviations.sh Loading commit data...
run Loading commit data...
sanitize-image-links Loading commit data...
striplanguagetags.sh Loading commit data...
stubify.pl Loading commit data...
test-hid-vs-ui.py Loading commit data...
ui-translatable.sh Loading commit data...
unpack-sources Loading commit data...
update_pch Loading commit data...
update_pch.sh Loading commit data...
update_pch_autotune.sh Loading commit data...
update_pch_bisect Loading commit data...
verify-custom-widgets-libs Loading commit data...