DenVdmj / xdelta

Automatically exported from code.google.com/p/xdelta (actual: https://github.com/jmacd/xdelta-devel/)
0 stars 0 forks source link

External compression and setting -B may cause incorrect source block size & count #113

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The code that opens and reads the first block of the source file has to decide 
whether it is compressed, in which case it forks a decompress process and 
continues reading the data.

The value for -B defaults to 64MB with 32 buffers of 2MB each.

If the file size is known to be less than -B or if it fits entirely within the 
first block read, then the main program sets up the library with a single block 
containing the entire contents.  This improves compression slightly.

However, the logic in 3.0z and earlier sets up the single-block case when the 
compressed size is smaller than -B, not taking into account the decompression 
that takes place.  As a result, it is quite possible that raising -B reduces 
compression.

Original issue reported on code.google.com by josh.mac...@gmail.com on 24 Aug 2010 at 4:57

GoogleCodeExporter commented 9 years ago
SVN 324 fixed.

Original comment by josh.mac...@gmail.com on 24 Aug 2010 at 6:08

GoogleCodeExporter commented 9 years ago
SVN 336 Really Fixed with a big code cleanup.

Original comment by josh.mac...@gmail.com on 7 Nov 2010 at 8:26

GoogleCodeExporter commented 9 years ago

Original comment by josh.mac...@gmail.com on 9 Jan 2011 at 8:46