Meta(旧Facebook)が大規模向けのビルドシステム「Buck2」をオープンソースで公開。高速かつ高信頼で拡張可能なビルドシステム

今回は「Meta(旧Facebook)が大規模向けのビルドシステム「Buck2」をオープンソースで公開。高速かつ高信頼で拡張可能なビルドシステム」についてご紹介します。

関連ワード (前身、既存、最初等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Meta(旧Facebook)は、大規模システム向けのビルドシステム「Buck2」をオープンソースで公開したことを明らかにしました。

fig

Buck2は同社内で数千人のエンジニアに使われており、1日あたり数百万回のビルドを実行していると説明されています。

Rustで開発したことによりビルドの速度が約2倍に

Metaは2013年にBuck2の前身となるビルドシステムの「Buck」をオープンソースで公開しています。BuckはJavaで開発されています。

Buck2は、新規にRust言語で開発されたことでガベージコレクションによる処理の一時停止などが避けられたため、より高速なビルドの実行が可能になっています。Meta社内ではBuckと比較して約2倍高速になったとのことです(ただしJavaは優れたメモリプロファイリングツールなどの優位点があると、フォローもしています)。

また、Buckではリモートでのビルド実行があとから機能追加されたのに対し、Buck2ではリモートでのビルドを最初から考慮して開発されたことで、より並列性の高い効率的なビルドが可能になっています。

Buck2のビルドシステムのコア機能は特定のプログラミング固有のビルドルールから完全に分離されており、プログラミング言語固有のルールなどは「Starlark」と呼ばれるコンフィグレーションのための言語によって記述します。これにより、さまざまな言語に対応できる拡張性も備えているとされています。

さらにビルド時の依存関係はつねに明示が必要で、それにより厳密で信頼性の高いビルドの実行を可能にしているとのことです。

Metaの開発事情がBuckを生んだ

MetaはBuckおよびBuck2を自社開発する理由として、同社がC++やPython、 Rust、Kotlin、Swift、Objective-C、Haskell、OCamなどをはじめとするさまざまなプログラミング言語によるコードを単一のリポジトリ(monorepo)で扱っており、同社のような大規模かつ多言語のビルドは既存のビルドシステムでは扱えないことから、自社でこれらの最適化されたビルドシステムを開発することにしたと説明しています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
アシックス、直営70店舗の売り場状況を可視化–コロナ禍でもリモートで改善促進
IT関連
2021-04-08 06:45
日立製作所の中西会長が退任、東原社長が会長職を兼務
IT関連
2021-05-13 08:34
土偶作者は右利きの可能性 文化財の新たな“鑑賞”手法、NHKが8K活用
IT関連
2021-04-21 19:11
「ChatGPT」、イタリアで一時的に禁止–データ収集に懸念
IT関連
2023-04-04 21:35
Natureが赤外線飛距離1.5倍の新型スマートリモコン「Nature Remo mini 2 Premium」を7月7日より発売
IoT
2021-06-25 15:03
Spotify、GoogleのスマートウォッチOS「Wear OS」でもオフライン再生を可能に
アプリ・Web
2021-08-14 00:33
[速報]GitHub Codespacesが全ユーザーに無料提供へ、毎月60時間分。JetBrainsとJupyterLabもIDEとして選択可能に
GitHub
2022-11-10 09:55
[速報]Google Cloudでのシステム開発について何でもAIが教えてくれる「Duet AI for Google Cloud」発表。Google I/O 2023
Google
2023-05-11 14:02
「鬼滅」制作会社のufotable、法人税法違反の疑いで在宅起訴 「全額納付した」と報告
くらテク
2021-07-10 21:15
64ビット版「Raspberry Pi OS」、正式リリース
IT関連
2022-02-06 10:16
プライバシーの保護がIT企業にとってさらに重要な取り組みに
IT関連
2021-01-20 21:36
Apple、児童保護目的でユーザーの「メッセージ」とiCloudの「写真」の画像検出を実施へ
アプリ・Web
2021-08-08 21:31
動画、ポッドキャスト用BGMのマーケットプレイスEpidemic Soundが約490億円調達
ネットサービス
2021-03-29 05:06
Raspberry Pi財団、子ども向けの教育用コードエディターを公開
IT関連
2023-04-12 10:55