• ระบบบิลด์ขนาดใหญ่ที่เขียนด้วย Rust ซึ่งเร็วและมีประสิทธิภาพมากขึ้น
  • มีจุดร่วมบางส่วนกับ Buck1 และ Bazel เป็นต้น แต่เร็วกว่า Buck1 มากกว่า 2 เท่า (ภายใน Meta ประมวลผลบิลด์มากกว่า 1 ล้านครั้งต่อวันอยู่แล้ว)
  • แยกคอร์ออกจากกฎสำหรับภาษาอย่างสมบูรณ์ ช่วยปรับปรุงการประมวลผลแบบขนาน และเชื่อมต่อกับการรันระยะไกลและระบบไฟล์เสมือนได้
  • หลักการออกแบบ
    • ออกแบบให้แยกคอร์ของระบบบิลด์ออกไปโดยสิ้นเชิง เพื่อไม่ให้รับรู้กฎที่เกี่ยวข้องกับภาษาเลย
    • คอร์พัฒนาด้วย Rust และกฎภาษาถูกเขียนด้วย Starlark (dialect ของ Python)
    • ระบบบิลด์ทำงานด้วย "single incremental dependency graph"
    • API ของกฎถูกออกแบบให้รวมความสามารถขั้นสูงเพื่อประสิทธิภาพ
    • รุ่นโอเพนซอร์สแทบจะเหมือนกับเวอร์ชันภายในทุกประการ
    • เขียนมาให้เชื่อมต่อกับการรันระยะไกล โดยใช้ API แบบเดียวกับ Bazel และทดสอบการรันระยะไกลด้วย Buildbarn/EngFlow เป็นต้น
    • เชื่อมต่อกับระบบไฟล์เสมือน รองรับระบบไฟล์ที่อิงกับ Sapling (EdenFS)

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น