Microsoft ได้ประกาศเปิดตัว Git Virtual File System (GVFS) แบบ Open Source สำหรับให้ผู้ใช้งาน Git สามารถทำงานได้อย่างมีประสิทธิภาพมากขึ้นอย่างมหาศาล โดยไม่ต้องแก้ไขอะไรใน IDE หรือ Build Tool เลย
Microsoft เองนั้นถือเป็นธุรกิจพัฒนา Software ขนาดใหญ่ ทำให้การแก้ไขปัญหาในการพัฒนา Software นั้นก็ถือเป็นสิ่งหนึ่งที่ Microsoft ให้ความสำคัญอย่างสูง และหนึ่งในปัญหาที่ Microsoft พบนั้นก็คือการใช้ Git ในโครงการพัฒนา Software ที่มีขนาดใหญ่มาก อย่างเช่น Windows ที่มีมากถึง 3.5 ล้านไฟล์และมีขนาดเกินกว่า 270GB นั่นเอง
สิ่งที่ Microsoft เจอนั้นก็คือปัญหาทางด้านประสิทธิภาพในระหว่างการพัฒนา Software ในโครงการขนาดใหญ่เหล่านี้ที่จะต้องใช้เวลานานมากเมื่อกระทำการใดๆ เกี่ยวกับ Git เช่นการทำ git checkout ที่อาจใช้เวลานานถึง 3 ชั่วโมง, การทำ git status ที่ใช้เวลาเกือบ 10 นาที หรือการทำ git clone ที่กินเวลาเกินกว่า 12 ชั่วโมง
ด้วยเหตุนี้โครงการพัฒนา Git Virtual File System หรือ GVFS จึงได้เกิดขึ้นมาเพื่อแก้ปัญหาเหล่านี้โดยเฉพาะ ซึ่งจะช่วยทำการ Virtualize ระบบ File System ที่ใช้จัดเก็บ Repo ต่างๆ เอาไว้และแสดงผลเหมือนกับว่ามีไฟล์ทั้งหมดครบอยู่แล้ว แต่ในความเป็นจริงนั้น Repo บน GVFS นี้จะทำการโหลดไฟล์ต่างๆ มาเมื่อมีการเปิดใช้งานครั้งแรกเท่านั้น
แนวคิดของ GVFS นี้ช่วยให้การพัฒนา Software ในโครงการที่มีขนาดใหญ่มีความเร็วสูงขึ้นมาก เพราะนักพัฒนา Software ในโครงการลักษณะนี้มักเป็นการเปลี่ยนแปลงแค่โค้ดบางส่วนของโปรแกรมเท่านั้น ไม่ใช่การเปลี่ยนทั้งหมดในทีเดียว ทำให้การใช้คำสั่งต่างๆ เกี่ยวกับ Git นั้นจะมีผลกระทบเฉพาะไฟล์จำนวนน้อย และ GVFS ก็ช่วยให้กระบวนการต่างๆ เกิดขึ้นกับเฉพาะไฟล์ที่มีการเปลี่ยนแปลงจริงๆ เท่านั้น เช่น ในการจัดการ Repo ของ Windows จากเดิมที่อาจต้องประมวลผลมากถึง 3.5 ล้านไฟล์ นักพัฒนาก็อาจโหลดไฟล์มาใช้จริงแค่ 50,000 – 100,000 ไฟล์เท่านั้น
GVFS ทำให้การจัดการ Windows Repo เร็วขึ้นเป็นอย่างมาก เช่น การทำ git clone ก็ลดเวลาจากเกินกว่า 12 ชั่วโมงเหลือเพียงไม่กี่นาทีเท่านั้น, การทำ git checkout ที่เดิมเคยใช้เวลา 2-3 ชั่วโมงก็ลดเหลือเพียง 30 วินาที ในขณะที่การสั่ง git status นั้นก็ลดเวลาจาก 10 นาทีเหลือเพียง 4-5 วินาทีเท่านั้น อีกทั้ง Microsoft ก็ยังมีแผนที่จะทำให้ประสิทธิภาพของ GVFS สูงขึ้นไปอีกด้วยในอนาคต
ผู้ที่สนใจอยากลองใช้งานสาามารถเข้าไปศึกษาในโครงการ Open Source ของ GVFS ได้ที่ https://github.com/Microsoft/gvfs เลยนะครับ แต่ Microsoft ก็เตือนว่า GVFS ยังอยู่ในช่วงพัฒนา ลองบน VM ได้ แต่ไม่แนะนำให้ใช้ในระบบ Production ช่วงนี้ครับ นอกจากนี้ GVFS เองนั้นก็ได้มีการพัฒนา Protocol ส่วนเสริมเพิ่มขึ้นมาให้นำไปใช้ต่อยอดกันได้ ลองเข้าไปศึกษากันได้ที่ https://github.com/Microsoft/gvfs/blob/master/Protocol.md ครับ
ที่มา: https://blogs.msdn.microsoft.com/visualstudioalm/2017/02/03/announcing-gvfs-git-virtual-file-system/