
11/9/2017 · Jonathan Keljo
What this post added
This post introduces significant performance improvements to Buck's Java compilation process for Android engineers. Key contributions include: 1. Ignoring unused classes by detecting class usage during compilation, reducing rebuilds by 35%. 2. Implementing rule pipelining by generating stub JARs halfway through the Java compiler's run, reducing build times by 10% through increased parallelism. 3. Introducing source-only stub generation, which flattens the build graph by generating stub JARs directly from source without requiring full dependency compilation, leading to further parallelism and reduced build times.