Tại sao git quá chậm với các tệp lớn?


8

Tôi đã cố gắng sử dụng git để quản lý ảnh của mình (sao lưu / chụp ảnh nhanh). Toàn bộ thư viện là vài GB. Hầu hết các tệp là JPG 2-3M. Khi tôi thêm các tệp vào kho lưu trữ, có vẻ như phải mất vài ngày. Việc sử dụng CPU luôn ở mức gần 100%.

Có một lý do tại sao git nên chậm trên các tệp lớn?

ps tôi biết git không được thiết kế cho việc này.

Câu trả lời:


7

Git theo mặc định nén các tập tin. JPEG theo mặc định đã được nén. Không phải là tệp lớn, mà là tệp nén.

Bạn sẽ nhận thấy hiệu ứng tương tự khi thêm các tệp ZIP vào kho lưu trữ git.

EDIT: Có một chủ đề thú vị trên /programming/7102053/git-pull-without-rem Remote- compressing-objects về nén.


1
Làm thế nào tôi có thể nói với git không nén tập tin? Tôi không nhất thiết cần hiệu quả không gian. Tôi muốn nó càng nhanh càng tốt. Cảm ơn!
rừng

2
Có một loạt các công tắc bạn có thể chơi với git config, bao gồm core.compressionpack.window. Xem như tôi chưa bao giờ thực sự thử chạy git mà không nén, YMMV. Vui lòng gửi những gì bạn khám phá, để giúp tất cả chúng ta học hỏi từ kinh nghiệm của bạn.

@Eroen, bạn làm cho một điểm tốt. Tôi đã bình chọn bình luận của bạn lên.

2
Git cũng làm cho (và kiểm tra) một hàm băm sha1 của mỗi tệp mỗi lần sử dụng nó, điều này có thể mất một thời gian quá cho các tệp lớn.
Eroen

3
@RandolphWest: Tốt, nhưng sai. nén zlib có thể được tắt bởi $ git set core.compression 0. sha1 là hàng chục MiB mỗi giây, nhưng chúng có thể ảnh hưởng xấu đến điều kiện bộ nhớ thấp.
Eroen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.