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 — Compresse une chaîne avec bzip2
bzcompress() compresse la chaîne
source
et retourne les données ainsi encodées.
data
La chaîne à compresser.
block_size
Spécifie la taille de bloc utilisée durant la compression et doit être un nombre de 1 à 9, sachant que 9 représente la meilleure compression, mais qu'elle utilise plus de ressources pour se faire.
work_factor
Contrôle le comportement de la compression dans les pires cas de données hautement répétitives. Cette valeur peut aller de 0 à 250 (0 est une valeur spéciale).
En dehors de work_factor
, le résultat sera le même.
La chaîne compressée ou un numéro d'erreur si une erreur survient.
Exemple #1 Compression de données
<?php
$str = "donnée simple";
$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