ไมโครซอฟท์เปิดตัว GVFS (Git Virtual File System) เพิ่มความเร็ว Git กับโครงการขนาดใหญ่

by mk
4 February 2017 - 12:05

ไมโครซอฟท์เปิดตัวระบบไฟล์เสมือน GVFS (Git Virtual File System) ใช้เก็บข้อมูลในระบบ Git โดยเฉพาะ เพื่อให้ Git มีประสิทธิภาพมากขึ้นสำหรับเก็บซอร์สโค้ดขนาดใหญ่มากๆ

ไมโครซอฟท์อธิบายว่า Git ไม่ได้ถูกออกแบบมาให้เก็บไฟล์จำนวนมาก (ตัวอย่างคือซอร์สโค้ดของ Windows มีขนาด 270GB และจำนวนไฟล์ 3.5 ล้านไฟล์) เวลาทำงานกับไฟล์จำนวนมากๆ บางคำสั่งอย่าง git checkout หรือ git status ที่ต้องทำงานกับไฟล์ทั้งหมด ต้องใช้เวลานานเป็นหลายชั่วโมงกว่าจะเสร็จ

แต่ในทางปฏิบัติแล้ว การมี repo ใหญ่ขนาดนี้ไม่มีใครสั่งคอมไพล์ซอร์สโค้ดทั้งหมดอยู่แล้ว ใน repo ขนาด 3 ล้านไฟล์ อาจมีไฟล์ที่เราต้องใช้งานจริงๆ เพียงแค่ 50,000-100,000 ไฟล์เท่านั้น เราไม่ควรต้องรอนานขนาดนั้น

GVFS จึงถูกออกแบบมาให้เป็นระบบไฟล์เสมือน (virtual file system) ที่อยู่ใต้ชั้นของ repo อีกที เพื่อให้ดูเหมือนว่า repo ของเราดาวน์โหลดไฟล์มาครบทั้งหมดแล้ว (fully hydrated repo) แต่ในความเป็นจริง ไฟล์จะถูกดาวน์โหลดมาใช้งานตอนถูกเรียกใช้ครั้งแรกแทน ประสิทธิภาพในการใช้งานจึงดีขึ้น ลดระยะเวลาจากหลักหลายชั่วโมงมาเหลือหลักนาที-วินาทีเท่านั้น

ข้อดีอีกอย่างของ GVFS คือมันทำงานในระดับที่อยู่ใต้ Git อีกที ดังนั้นเครื่องมือต่างๆ ที่เรียกใช้งาน Git จึงไม่ต้องปรับแต่งแก้ไขใดๆ เพราะมองไม่เห็นชั้นของ GVFS นั่นเอง

ตอนนี้ GVFS ยังอยู่ระหว่างการพัฒนา แต่เปิดซอร์สโค้ดแล้วบน GitHub และยังจำเป็นต้องใช้กับ Git for Windows เวอร์ชันของไมโครซอฟท์ที่ดัดแปลงให้ทำงานร่วมกับ GVFS ได้

ที่มา - MSDN

Blognone Jobs Premium