ทำไม git ถึงช้าขนาดไฟล์ใหญ่?


8

ฉันพยายามใช้ git เพื่อจัดการรูปภาพของฉัน (backup / take snapshots) ไลบรารีทั้งหมดมีหลาย GB ไฟล์ส่วนใหญ่เป็น JPG ของ 2-3M เมื่อฉันเพิ่มไฟล์ลงในที่เก็บดูเหมือนว่าจะใช้เวลาหลายวัน การใช้ CPU อยู่ใกล้ 100% เสมอ

มีเหตุผลว่าทำไมคอมไพล์ควรช้าในไฟล์ขนาดใหญ่?

ป.ล. ฉันรู้ว่าคอมไพล์ไม่ได้ถูกออกแบบมาสำหรับเรื่องนี้

คำตอบ:


7

Git โดยค่าเริ่มต้นบีบอัดไฟล์ JPEG ตามค่าเริ่มต้นจะถูกบีบอัดไว้แล้ว ไม่ใช่ว่ามันเป็นไฟล์ขนาดใหญ่ แต่เป็นไฟล์ที่ถูกบีบอัด

คุณจะสังเกตเห็นผลกระทบเดียวกันกับการเพิ่มไฟล์ ZIP ในที่เก็บ git

แก้ไข: มีกระทู้ที่น่าสนใจใน/programming/7102053/git-pull-without-remotely-compressing-objectsเกี่ยวกับการบีบอัด


1
ฉันจะบอกคอมไพล์ไม่ให้บีบอัดไฟล์ได้อย่างไร? ฉันไม่จำเป็นต้องมีประสิทธิภาพของพื้นที่ ฉันต้องการให้มันเร็วที่สุด ขอบคุณ!
ไม้

2
มีโฮสต์ของสวิทช์คุณสามารถเล่นกับในgit configรวมทั้งและcore.compression pack.windowเนื่องจากฉันไม่เคยลองใช้คอมไพล์โดยไม่บีบอัด YMMV กรุณาโพสต์สิ่งที่คุณค้นพบเพื่อช่วยพวกเราทุกคนเรียนรู้จากประสบการณ์ของคุณ

@Eroen คุณสร้างจุดดี ฉันโหวตความคิดเห็นของคุณแล้ว

2
Git ยังทำให้ (และตรวจสอบ) แฮช sha1 ของทุกไฟล์ทุกครั้งที่ใช้งานซึ่งอาจใช้เวลานานเกินไปสำหรับไฟล์ขนาดใหญ่
Eroen

3
@ RandolphWest: ดี แต่ผิด การบีบอัด zlib $ git set core.compression 0สามารถปิดได้โดย sha1 คือสิบ MiB ต่อวินาที แต่พวกเขาอาจรบกวนอย่างรุนแรงกับเงื่อนไขหน่วยความจำต่ำ
Eroen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.