kirancodes.me
To Proof Maintenance & Beyond!

To unify or not to unify: a case study on unified builds (in WebKit)

Takafumi Kubota, Yusuke Suzuki, Kenji Kono

Abstract

Unified builds are a simple but effective technique to reduce the build time of large software projects. Unified builds generate large compiler tasks by bundling multiple source files into one, resulting in a significant reduction in build time through removal of redundant work incurred by shared headers. However, unified builds have a negative effect on incremental builds because each compiler task gets larger. An ad-hoc unification strategy causes an excessive slowdown in incremental builds. A rough report from WebKit says the worst slowdown is 20% (6s → 7s), but our investigation shows it is as high as 479% (19s → 110s).

Related papers