Comparing gzcompress/gzuncompress and bzcompress/bzdecompress, the bz combo is about 5x slower than gz.
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
bzcompress — Comprime uma string em dados no formato bzip2
$source
, int $blocksize
= ?, int $workfactor
= ?): string
bzcompress() comprime a string
source
e a retorna no formato de dados codificados
com bzip2.
O parâmetro opcional blocksize
especifica
o tamanho do bloco utilizado no momento de compressão e deve ser um
número de 1 a 9, com 9 sendo a melhor taxa de compressão, mas usando mais
recursos para fazê-lo. O valor padrão de blocksize
é 4.
O parâmetro opcional workfactor
controla
como a fase de compressão irá se comportar quando ocorrer o pior caso: a
entrada de dados muito repetitivos. O seu valor pode ser de 0 até
250, com 0 sendo um caso especial, e 30 o valor padrão.
Independente do valor de workfactor
, a
saída gerada será a mesma.
Exemplo #1 Exemplo de bzcompress()
<?php
$str = "demonstracao de dados comprimidos";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>
Veja também bzdecompress().
Comparing gzcompress/gzuncompress and bzcompress/bzdecompress, the bz combo is about 5x slower than gz.
The blocksize parameter tells bzip to use 100 000 Byte * blocksize blocks to compress the string. In the example above we can see the output size and time needed of bz[2] to bz[9] are nearly the same, because there ware just 189 058 Byte of data to compress and in this case bz[2] to bz[9] means "compress all data et once".
So we may notice a bigger difference in speed and compression rate with bigger files.
the workfactor parameter sets, how fast bzip switches in the slower fallback algorithm, if the standard algorithm gets problems with much repetitive data. 0 means, bzip uses the default value of 30. This option is recommend.
For more information about the parameter look at http://www.bzip.org/1.0.3/html/low-level.html#bzcompress-init