Chúng tôi có một số kho lưu trữ thực sự lớn trong git, trong đó chúng tôi đã quan sát cách nén từ xa/máy chủ là một nút cổ chai khi nhân bản/kéo. Với cách git phổ biến đã trở thành và đó là sử dụng zlib, có nén zlib này được tối ưu hóa?Git DEFLATE/tối ưu hóa zlib
Một chi tiết giấy Intel làm thế nào họ có thể tăng tốc nén Deflate với một yếu tố của khoảng ~ 4 lần mặc dù với một tỷ lệ nén nhỏ hơn:
giấy khác cho thấy tốc độ tăng của ~ 1,8 lần nơi tỷ lệ nén được bảo quản đối với hầu hết nén 'mức' (1-9):
tối ưu hóa sau này là có vẻ như sẵn trên github: 01.
zlib có vẻ khá cũ (trong ngành công nghiệp tốc độ nhanh này) bản phát hành mới nhất là từ tháng 4 năm 2013. Đã có bất kỳ nỗ lực nào để tối ưu hóa SIMD zlib cho các thế hệ bộ xử lý mới không? Hoặc là có lựa chọn thay thế để sử dụng zlib trong git?
Tôi hiểu rằng bạn có thể chỉ định mức nén trong git sẽ tác động đến tốc độ và tỷ lệ nén. Tuy nhiên, ở trên cho thấy có thể thực hiện các cải tiến hiệu suất khá lớn trên zlib mà không làm giảm tỷ lệ nén.
Vì vậy, để tóm tắt lại, có bất kỳ triển khai git hiện có nào sử dụng giải pháp thay thế zlib hoặc zlib được tối ưu hóa cao không?
PS: Có vẻ như rất nhiều nhà phát triển/máy chủ sẽ được hưởng lợi từ điều này (thậm chí phát thải khí nhà kính;)).
Cảm ơn, tôi hiểu, liên quan đến điều này tôi có thể hỏi tại sao "đồng bằng" không được nén trước trong git?Theo như tôi hiểu kho git chỉ lưu trữ các đối tượng nén, tại sao nó lại có giải nén và nén khi gửi cho một máy khách? – nietras
Tuy nhiên, khi các liên kết hiển thị với một số sửa đổi, việc nén/giải nén có thể được thực hiện nhanh hơn với các hướng dẫn SIMD, đó là những gì Intel đã hiển thị. – nietras