ลดเวลาในการคอมไพล์โดยการกู้คืนอาร์ติแฟกต์คอมไพล์ที่เก็บไว้ในแคชทั้งในท้องถิ่นและระยะไกล
เร่งความเร็วในการสร้างโดยการกู้คืนอาร์ติแฟกต์คอมไพเลอร์ที่เก็บไว้สำหรับ Rust, C/C++ และ CUDA โดยใช้การจัดเก็บที่มีที่อยู่ตามเนื้อหาและแบ็คเอนด์ระยะไกล Kache จาก Zondax AG เชื่อมต่อกับ Cargo ผ่าน RUSTC_WRAPPER และรองรับการจัดเก็บ S3, GCS และ OCI มันมุ่งเป้าไปที่นักพัฒนาและวิศวกร DevOps ที่ต้องการการพัฒนาท้องถิ่นและการทำงาน CI/CD ที่เร็วขึ้น โดยมีการจัดการขยะอัตโนมัติและการสกัดที่แข็งแกร่งเพื่อให้การเก็บข้อมูลเชื่อถือได้และมีประสิทธิภาพในการใช้พื้นที่
วิธีที่ kache ใช้ผลลัพธ์การสร้างก่อนหน้าเพื่อทำให้การคอมไพล์สั้นลง
Kache เก็บผลลัพธ์ของคอมไพเลอร์ในที่เก็บข้อมูลที่อยู่ตามเนื้อหาในท้องถิ่นหรือระยะไกล และกู้คืนอาร์ติแฟคที่ตรงกันแทนที่จะรันคอมไพเลอร์ใหม่ มันรองรับคอมไพเลอร์ Rust, C/C++ และ CUDA และทำหน้าที่เป็น RUSTC_WRAPPER สำหรับการทำงานของ Cargo การออกแบบนั้นหมายความว่าข้อมูลการคอมไพล์ที่เหมือนกันจะคืนค่าอาร์ติแฟคเดียวกันจากแคช ซึ่งเป็นกลไกที่ลดการทำงานคอมไพล์ซ้ำซ้อนในทั้งเครื่องของนักพัฒนาและ CI runners.
มันส่งผลต่อทรัพยากรของระบบอย่างไรในระหว่างการทำงานปกติ
การดำเนินการแคชทำให้การใช้ดิสก์มีประสิทธิภาพผ่านการลดการทำซ้ำและการเก็บขยะอัตโนมัติ ดังนั้นที่เก็บข้อมูลในท้องถิ่นจะไม่เติบโตไม่สิ้นสุด แบ็คเอนด์ระยะไกลจะย้ายอาร์ติแฟคออกจากโฮสต์ไปยัง S3, GCS หรือ OCI registries ซึ่งช่วยลดแรงกดดันในการจัดเก็บจากเครื่องของนักพัฒนา เครื่องมืออ่านและกู้คืนอาร์ติแฟคแทนที่จะสร้างใหม่ ดังนั้น CPU และ I/O ระยะเวลาคอมไพล์จะถูกประหยัดในระหว่างการเข้าถึงแคช.
kache ทำงานอย่างปลอดภัยในสภาพแวดล้อมการสร้างหรือไม่
การสกัดที่แข็งแกร่งป้องกันการเดินทางผ่านเส้นทางและความเสี่ยงที่เกี่ยวข้อง ซึ่งเป็นมาตรการด้านความปลอดภัยที่ชัดเจนในเครื่องมือ สำหรับการดำเนินการที่ดึงและแตกอาร์ติแฟค kache จะใช้การตรวจสอบการจัดการอย่างปลอดภัยก่อนที่จะเขียนไฟล์ไปยังพื้นที่ทำงาน การควบคุมเหล่านั้นทำให้มันเหมาะสมสำหรับ CI/CD runners และแคชที่แชร์ซึ่งข้อมูลที่ไม่น่าเชื่อถืออาจเขียนทับเส้นทางที่ละเอียดอ่อนได้.
การตั้งค่าและการใช้งานประจำวันมีความเทคนิคแค่ไหน
การติดตั้งและการรวมคาดหวังความคุ้นเคยของนักพัฒนากับเครื่องมือ บน Windows มันรองรับ clang-cl และต้องการ Rust 1.95 หรือใหม่กว่าขณะใช้กับ Cargo นักพัฒนาจะเริ่มต้นการใช้งาน wrapper หนึ่งครั้งและยังคงใช้คำสั่ง cargo มาตรฐาน ดังนั้นการใช้งานประจำวันจึงมุ่งเน้นไปที่บรรทัดคำสั่งและมุ่งเป้าไปที่วิศวกรและเจ้าหน้าที่ DevOps มากกว่าผู้มีส่วนร่วมที่ไม่ใช่ทางเทคนิค.
การเร่งความเร็วที่ใช้ได้จริงสำหรับทีมที่มุ่งเน้นการสร้างโดยมีข้อควรระวังด้านความเข้ากันได้ที่สำคัญ
Kache เหมาะสำหรับวิศวกรที่จัดการการสร้าง Rust, C/C++ หรือ CUDA และต้องการการเข้าถึงแคชที่คาดการณ์ได้ผ่านการจัดเก็บที่อยู่ตามเนื้อหาและแบ็คเอนด์คลาวด์ การตรวจสอบความปลอดภัยและการจัดการขยะทำให้เหมาะสำหรับสภาพแวดล้อม CI ที่ใช้ร่วมกัน ข้อแลกเปลี่ยนหลักคือการสนับสนุนคอมไพเลอร์ Windows: มันไม่ทำการแคชคอมไพเลอร์ MSVC cl.exe ซึ่งจำกัดคุณค่าสำหรับทีมที่พึ่งพาเครื่องมือชุดนี้อยู่