Tôi có một số quy trình tạo ra một luồng hàng triệu dòng rất giống nhau. Tôi đang dẫn nó đến gz
. Liệu tỷ lệ nén có cải thiện theo thời gian trong một thiết lập như vậy không? Tức là tỷ lệ nén tốt hơn cho 1 triệu dòng tương tự, hơn là 10.000?
Tôi có một số quy trình tạo ra một luồng hàng triệu dòng rất giống nhau. Tôi đang dẫn nó đến gz
. Liệu tỷ lệ nén có cải thiện theo thời gian trong một thiết lập như vậy không? Tức là tỷ lệ nén tốt hơn cho 1 triệu dòng tương tự, hơn là 10.000?
Câu trả lời:
Nó làm đến một điểm nhất định và điều này phát triển ra. Các thuật toán nén có một hạn chế về kích thước của các khối mà chúng nhìn vào ( bzip2
) và / hoặc trên các bảng mà chúng giữ với thông tin về các mẫu trước đó ( gzip
).
Trong trường hợp của gzip, một khi một bảng đầy đủ các mục cũ sẽ bị đẩy ra và nén không cải thiện thêm. Tùy thuộc vào yếu tố chất lượng nén của bạn ( -0
đến -9
) và tính lặp lại của đầu vào của bạn, việc điền này tất nhiên có thể mất một lúc và bạn có thể không nhận thấy.
Dưới đây là tổng quan về thuật toán của gzip .
Câu trả lời ngắn gọn là nó sẽ không cải thiện đáng kể sau khi dữ liệu ban đầu cần thiết cho băm được tính đến.