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 una cadena con bzip2
bzcompress() comprime la cadena
source
y devuelve los datos así codificados.
data
La cadena a comprimir.
block_size
Especifica el tamaño de bloque utilizado durante la compresión y debe ser un número de 1 a 9, siendo 9 la mejor compresión, pero que utiliza más recursos para realizarse.
work_factor
Controla el comportamiento de la compresión en los peores casos de datos altamente repetitivos. Este valor puede ir de 0 a 250 (0 es un valor especial).
Fuera de work_factor
, el resultado será el mismo.
La cadena comprimida o un número de error si ocurre un error.
Ejemplo #1 Compresión de datos
<?php
$str = "datos simples";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>
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