Hi Daniel,

Daniel Klein wrote:
lzip seems to somehow "block" I/O in a process feeding it data via pipe.

All processes block I/O feed to them via pipe if the producer is faster than the consumer. It is usually not noticed because most programs read data in small blocks. When compressing, lzip reads data in large blocks (one dictionary size at a time). It does this for efficiency reasons; each time it reads a block, it needs to make room for it with memmove. Reading the data in smaller blocks would probably make it slower, not faster.


The "blocking intervals" get longer with higher compression levels.

This is because dictionary size grows (and compression speed decreases) with compression level.

I'll document this in the manual. Thanks.


Best regards,
Antonio.

_______________________________________________
Lzip-bug mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lzip-bug

Reply via email to