The folks at Facebook aren’t resting on their laurels. Various divisions within the company are pursuing projects like remote internet access, virtual reality, and open-source software solutions. Buck is one such project: An internal tool designed to speed up builds, add reproducibility to builds, correct incremental builds, and help developers understand dependencies. It was made public in 2013, and Facebook issued one of the biggest updates yet on Monday.
Buck stemmed from a Facebook development dilemma: How to keep track of the thousands of lines of code the company’s engineers contribute every day, and to judge the impact of those contributions on overall performance.
Buck met that need and then some. The newest iteration is faster than ever and designed specifically to eliminate bottlenecks. Increased parallelism — i.e., the ability to run multiple rules in parallel — compiles dependent rules while the compiler finishes up dependencies, which reduces build times by 10 percent on average. And source-only stub generation cuts down on build time by an additional 30 percent.
If you’re eager to get your hands on the newest version of Buck, good news: It’s publically available from the Buck website. Be aware, though, that the new parallelism settings aren’t switched on by default, and that even small rules can cause bottlenecks on systems with a lot of cores.