The search functionality is under construction.

IEICE TRANSACTIONS on Information

Native Build System for Unity Builds with Sophisticated Bundle Strategies

Takafumi KUBOTA, Kenji KONO

  • Full Text Views

    0

  • Cite this

Summary :

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.

Publication
IEICE TRANSACTIONS on Information Vol.E104-D No.1 pp.126-137
Publication Date
2021/01/01
Publicized
2020/10/15
Online ISSN
1745-1361
DOI
10.1587/transinf.2020EDP7105
Type of Manuscript
PAPER
Category
Software Engineering

Authors

Takafumi KUBOTA
  Keio University
Kenji KONO
  Keio University

Keyword