Brought to you by Meta. In addition to remaining active in the open source community and conference circuit, this podcast offers another channel that allows us to highlight the technical work of our engineers who will discuss everything from low-level frameworks to end-user features. Throughout the podcast, Meta engineer Pascal Hartig (@passy) will interview developers in the company.
51: Buck2 - a large-scale build system
For episode 51, Pascal speaks with Neil and Marie, two of the engineers behind Buck2, our open source, large scale build system. Thousands of developers at Meta are already using Buck2 and performing millions of builds per day that on average complete in half the time of Buck1 builds. Marie and Neil discuss the design choices that make Buck2 so much faster and the various challenges they faced in engineering and open sourcing the build system.
Got feedback? Send it to us on Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy and https://mastodon.social/@passy). Fancy working with us? Check out https://www.metacareers.com/.
Links
- Announcement blog post: https://engineering.fb.com/2023/04/06/open-source/buck2-open-source-large-scale-build-system/
-
Buck2: https://buck2.build/
-
Buck2 on GitHub: https://github.com/facebook/buck2
-
Build Systems à la Carte - https://www.microsoft.com/en-us/research/uploads/prod/2018/03/build-systems.pdf
-
Lexical YouTube clip: https://www.youtube.com/watch?v=Vpv0BYhhlak
-
Lexical for iOS: https://github.com/facebook/lexical-ios
Timestamps
-
Intro 0:06
-
Intro Marie 1:30
-
Intro Neil 2:57
-
Why a custom build tool? 4:21
-
Rewriting Buck 6:49
-
Buck2 vs Bazel 8:49
-
Building language support 12:06
-
Buck2 as a developer 13:15
-
Upgrade from Buck1 to Buck2 15:05
-
How is Buck2 faster? 16:31
-
Rust and Profiling 18:44
-
From Python to Starlark 25:54
-
Open-Sourcing 28:18
-
Outro 32:15