The main difference between XZ compression and Gzip compression is in the compression algorithms they use. XZ compression is based on the LZMA2 algorithm, which is designed to achieve very high compression ratios. Gzip compression, on the other hand, uses the Deflate algorithm, which is designed to achieve better compression speeds. Another difference is that XZ compression is usually more efficient than Gzip in terms of file size when compressing larger files. This is because the XZ compression algorithm is designed to detect and store repeating patterns more efficiently. Gzip, on the other hand, is better suited for compressing smaller files, as the Deflate algorithm is faster and more efficient in these cases. Kernel compression methods and comparisons: GZIP, bzip2, LZMA, XZ, LZO,LZ4,ZSTD ====== Size ====== ls -s bzImage XZ: 4276 bzImage LZO: 5988 arch/x86/boot/bzImage LZMA: 4584 arch/x86/boot/bzImage ====== Compressing root build directory: ====== [easto@cupcake][/opt/snacklinux_rootfs]$ find . -print | cpio -o -H newc --quiet | gzip -9 > rootfs.gz cpio: File ./rootfs.gz grew, 1048576 new bytes not copied [easto@cupcake][/opt/snacklinux_rootfs]$ ls -s rootfs.gz 7812 rootfs.gz [easto@cupcake][/opt/snacklinux_rootfs]$ find . -print | cpio -o -H newc --quiet | gzip > rootfs.gz cpio: File ./rootfs.gz grew, 1064960 new bytes not copied [easto@cupcake][/opt/snacklinux_rootfs]$ ls -s rootfs.gz 7852 rootfs.gz ====== Speed: ====== [easto@cupcake][~/snacklinux]$ cd /opt/snacklinux_rootfs/; time find . -print | cpio -o -H newc --quiet | gzip > /home/easto/snacklinux/rootfs.gz real 0m0.661s user 0m0.607s sys 0m0.052s [easto@cupcake][/opt/snacklinux_rootfs]$ cd /opt/snacklinux_rootfs/; time find . -print | cpio -o -H newc --quiet | xz > /home/easto/snacklinux/rootfs.xz real 0m4.697s user 0m4.521s sys 0m0.162s