The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. ex. Some numerals are expressed as "XNUMX".
Copyrights notice
The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. Copyrights notice
빌드 시스템은 대규모 소프트웨어 프로젝트를 개발하는 데 필수적인 도구입니다. 전통적으로 빌드 시스템은 높은 증분 빌드 성능을 위해 설계되었습니다. 그러나 최근 대규모 C++ 프로젝트의 빌드 시간이 길어지면서 빌드 시스템에 대한 요구 사항이 부과되었습니다. 즉, 유니티 빌드. Unity 빌드는 여러 소스 파일을 하나로 묶어서 많은 소스 파일의 순차적 컴파일 속도를 높이는 빌드 기술입니다. Unity 빌드에서는 공유 헤더 파일의 중복 구문 분석을 제거하여 빌드 시간이 크게 단축됩니다. 그러나 유니티 빌드는 각 컴파일러 작업이 커지기 때문에 증분 빌드에 부정적인 영향을 미칩니다. 이전 연구에서는 기존 유니티 빌드가 증분 빌드 시간을 늘리지 않고도 유니티 빌드 성능을 향상시키는 더 나은 번들 구성을 간과한다고 보고했습니다. 문제에 동기를 부여하여 유니티 빌드에서 더 나은 성능을 제공하는 새로운 빌드 시스템을 제시합니다. 우리의 빌드 시스템은 증분 빌드에 대한 부정적인 영향을 완화하면서 전체 빌드에서 경쟁력 있는 유니티 빌드 성능을 달성하는 것을 목표로 합니다. 이 목표를 달성하기 위해 우리의 빌드 시스템은 다음을 사용합니다. 정교한 번들 전략 각 소스 파일의 전처리된 코드에서 추출된 힌트를 기반으로 개발되었습니다. 전략 덕분에 우리 빌드 시스템은 유니티 빌드에서 전체 빌드 성능과 증분 빌드 성능을 모두 향상시키는 더 나은 번들 구성을 찾습니다. 예를 들어 WebKit의 최첨단 유니티 빌드와 비교할 때 우리의 빌드 시스템은 전체 빌드에서 9%, 증분 빌드에서 39%, 두 유형을 모두 포함하는 연속 빌드에서 23%까지 빌드 성능을 향상시킵니다. 빌드의.
Takafumi KUBOTA
Keio University
Kenji KONO
Keio University
The copyright of the original papers published on this site belongs to IEICE. Unauthorized use of the original or translated papers is prohibited. See IEICE Provisions on Copyright for details.
부
Takafumi KUBOTA, Kenji KONO, "Native Build System for Unity Builds with Sophisticated Bundle Strategies" in IEICE TRANSACTIONS on Information,
vol. E104-D, no. 1, pp. 126-137, January 2021, doi: 10.1587/transinf.2020EDP7105.
Abstract: Build systems are essential tools for developing large software projects. Traditionally, build systems have been designed for high incremental-build performance. However, the longer build times of recent large C++ projects have imposed a requirement on build systems: i.e., unity builds. Unity builds are a build technique for speeding up sequential compilation of many source files by bundling multiple source files into one. Unity builds lead to a significant reduction in build time through removal of redundant parsing of shared header files. However, unity builds have a negative effect on incremental builds because each compiler task gets larger. Our previous study reported existing unity builds overlook many better bundle configurations that improve unity-build performance without increasing the incremental-build time. Motivated by the problem, we present a novel build system for better performance in unity builds. Our build system aims to achieve competitive unity-build performance in full builds with mitigating the negative effect on incremental builds. To accomplish this goal, our build system uses sophisticated bundle strategies developed on the basis of hints extracted from the preprocessed code of each source file. Thanks to the strategies, our build system finds better bundle configurations that improve both of the full-build performance and the incremental-build performance in unity builds. For example, in comparison with the state-of-the-art unity builds of WebKit, our build system improves build performance by 9% in full builds, by 39% in incremental builds, and by 23% in continuous builds that include both types of the builds.
URL: https://global.ieice.org/en_transactions/information/10.1587/transinf.2020EDP7105/_p
부
@ARTICLE{e104-d_1_126,
author={Takafumi KUBOTA, Kenji KONO, },
journal={IEICE TRANSACTIONS on Information},
title={Native Build System for Unity Builds with Sophisticated Bundle Strategies},
year={2021},
volume={E104-D},
number={1},
pages={126-137},
abstract={Build systems are essential tools for developing large software projects. Traditionally, build systems have been designed for high incremental-build performance. However, the longer build times of recent large C++ projects have imposed a requirement on build systems: i.e., unity builds. Unity builds are a build technique for speeding up sequential compilation of many source files by bundling multiple source files into one. Unity builds lead to a significant reduction in build time through removal of redundant parsing of shared header files. However, unity builds have a negative effect on incremental builds because each compiler task gets larger. Our previous study reported existing unity builds overlook many better bundle configurations that improve unity-build performance without increasing the incremental-build time. Motivated by the problem, we present a novel build system for better performance in unity builds. Our build system aims to achieve competitive unity-build performance in full builds with mitigating the negative effect on incremental builds. To accomplish this goal, our build system uses sophisticated bundle strategies developed on the basis of hints extracted from the preprocessed code of each source file. Thanks to the strategies, our build system finds better bundle configurations that improve both of the full-build performance and the incremental-build performance in unity builds. For example, in comparison with the state-of-the-art unity builds of WebKit, our build system improves build performance by 9% in full builds, by 39% in incremental builds, and by 23% in continuous builds that include both types of the builds.},
keywords={},
doi={10.1587/transinf.2020EDP7105},
ISSN={1745-1361},
month={January},}
부
TY - JOUR
TI - Native Build System for Unity Builds with Sophisticated Bundle Strategies
T2 - IEICE TRANSACTIONS on Information
SP - 126
EP - 137
AU - Takafumi KUBOTA
AU - Kenji KONO
PY - 2021
DO - 10.1587/transinf.2020EDP7105
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E104-D
IS - 1
JA - IEICE TRANSACTIONS on Information
Y1 - January 2021
AB - Build systems are essential tools for developing large software projects. Traditionally, build systems have been designed for high incremental-build performance. However, the longer build times of recent large C++ projects have imposed a requirement on build systems: i.e., unity builds. Unity builds are a build technique for speeding up sequential compilation of many source files by bundling multiple source files into one. Unity builds lead to a significant reduction in build time through removal of redundant parsing of shared header files. However, unity builds have a negative effect on incremental builds because each compiler task gets larger. Our previous study reported existing unity builds overlook many better bundle configurations that improve unity-build performance without increasing the incremental-build time. Motivated by the problem, we present a novel build system for better performance in unity builds. Our build system aims to achieve competitive unity-build performance in full builds with mitigating the negative effect on incremental builds. To accomplish this goal, our build system uses sophisticated bundle strategies developed on the basis of hints extracted from the preprocessed code of each source file. Thanks to the strategies, our build system finds better bundle configurations that improve both of the full-build performance and the incremental-build performance in unity builds. For example, in comparison with the state-of-the-art unity builds of WebKit, our build system improves build performance by 9% in full builds, by 39% in incremental builds, and by 23% in continuous builds that include both types of the builds.
ER -