The compression requires large amounts of memory. Thus you should call the {@link #close() close()} method as soon as possible, to forceCBZip2OutputStream to release the allocated memory.
You can shrink the amount of allocated memory and maybe raise the compression speed by choosing a lower blocksize, which in turn may cause a lower compression ratio. You can avoid unnecessary memory allocation by avoiding using a blocksize which is bigger than the size of the input.
You can compute the memory usage for compressing by the following formula:
<code>400k + (9 * blocksize)</code>.
To get the memory required for decompression by {@link CBZip2InputStream CBZip2InputStream} use
<code>65k + (5 * blocksize)</code>.
| Memory usage by blocksize | ||
|---|---|---|
| Blocksize | Compression memory usage | Decompression memory usage | 
| 100k | 1300k | 565k | 
| 200k | 2200k | 1065k | 
| 300k | 3100k | 1565k | 
| 400k | 4000k | 2065k | 
| 500k | 4900k | 2565k | 
| 600k | 5800k | 3065k | 
| 700k | 6700k | 3565k | 
| 800k | 7600k | 4065k | 
| 900k | 8500k | 4565k | 
For decompression CBZip2InputStream allocates less memory if the bzipped input is smaller than one block.
Instances of this class are not threadsafe.
TODO: Update to BZip2 1.0.1
The compression requires large amounts of memory. Thus you should call the {@link #close() close()} method as soon as possible, to forceCBZip2OutputStream to release the allocated memory.
You can shrink the amount of allocated memory and maybe raise the compression speed by choosing a lower blocksize, which in turn may cause a lower compression ratio. You can avoid unnecessary memory allocation by avoiding using a blocksize which is bigger than the size of the input.
You can compute the memory usage for compressing by the following formula:
<code>400k + (9 * blocksize)</code>.
To get the memory required for decompression by {@link CBZip2InputStream CBZip2InputStream} use
<code>65k + (5 * blocksize)</code>.
| Memory usage by blocksize | ||
|---|---|---|
| Blocksize | Compression memory usage | Decompression memory usage | 
| 100k | 1300k | 565k | 
| 200k | 2200k | 1065k | 
| 300k | 3100k | 1565k | 
| 400k | 4000k | 2065k | 
| 500k | 4900k | 2565k | 
| 600k | 5800k | 3065k | 
| 700k | 6700k | 3565k | 
| 800k | 7600k | 4065k | 
| 900k | 8500k | 4565k | 
For decompression CBZip2InputStream allocates less memory if the bzipped input is smaller than one block.
Instances of this class are not threadsafe.
TODO: Update to BZip2 1.0.1
The compression requires large amounts of memory. Thus you should call the {@link #close() close()} method as soon as possible, to forceCBZip2OutputStream to release the allocated memory.
You can shrink the amount of allocated memory and maybe raise the compression speed by choosing a lower blocksize, which in turn may cause a lower compression ratio. You can avoid unnecessary memory allocation by avoiding using a blocksize which is bigger than the size of the input.
You can compute the memory usage for compressing by the following formula:
<code>400k + (9 * blocksize)</code>.
To get the memory required for decompression by {@link CBZip2InputStream CBZip2InputStream} use
<code>65k + (5 * blocksize)</code>.
| Memory usage by blocksize | ||
|---|---|---|
| Blocksize | Compression memory usage | Decompression memory usage | 
| 100k | 1300k | 565k | 
| 200k | 2200k | 1065k | 
| 300k | 3100k | 1565k | 
| 400k | 4000k | 2065k | 
| 500k | 4900k | 2565k | 
| 600k | 5800k | 3065k | 
| 700k | 6700k | 3565k | 
| 800k | 7600k | 4065k | 
| 900k | 8500k | 4565k | 
For decompression CBZip2InputStream allocates less memory if the bzipped input is smaller than one block.
Instances of this class are not threadsafe.
TODO: Update to BZip2 1.0.1
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  |