http://www.phoronix.com/scan.php?page=n ... &px=OTAyNw
Q. What does it meant for Porteus project?
A. TROUBLES
Q. Why?
A. LZMA and XZ are not compatible and conversion between them is necessary (damn - again!?)
Q. Do we need to use XZ?
A. Don't know yet but probably yes as i believe that everyone gonna switch from LZMA to XZ and LZMA support for squashfs will be simply dropped (2.6.36 and 2.6.37 kernels had Lzma support ported from 2.6.35 kernel) in favor of XZ.
Q. How wide is XZ kernel adoption?
A. Everything can be compressed with XZ algorithm: vmlinuz (kernel), initrd.xz (not lz), and modules (XZM instead of LZM???)
I'm wonder what other live distros gonna do: stick to LZM name (for historical reasons) or switch to XZM?
i was really excited with this news so i have tried 2.6.38-rc1 straight away. unfortunately Aufs doesn't support it yet (but Junjiro is working on it) so couldn't test Porteus with XZ compressed modules.
Philip Lougher prepared squashfs-tools (latest cvs pull) for xz support so simple compression/decompression tests were possible:
LZMA compression:
Code: Select all
time mksquashfs squashfs-root/ 001-core.lzm -b 256K
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on 001-core.lz, block size 262144.
[======================================================================================================================\] 14162/14162 100%
Exportable Squashfs 4.0 filesystem, lzma compressed, data block size 262144
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 54077.52 Kbytes (52.81 Mbytes)
XXXXXXXXXXXXXXXXXXXXXXXXXXX
real 0m51.547s
Code: Select all
time mksquashfs squashfs-root/ 001-core.xzm -b 256K -Xbcj x86
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on 001-core.xz, block size 262144.
[======================================================================================================================/] 14162/14162 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 262144
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 52548.66 Kbytes (51.32 Mbytes)
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
real 1m40.081s
Compression time does not matter - you are doing it only once. The more important things are: size and decompression time (Porteus speed).
Lets check decompression now.
LZMA:
Code: Select all
time unsquashfs 001-core.lzm
Parallel unsquashfs: Using 2 processors
15890 inodes (15805 blocks) to write
[======================================================================================================================/] 15805/15805 100%
created 14019 files
created 774 directories
created 1636 symlinks
created 6 devices
created 1 fifos
real 0m3.282s
Code: Select all
time unsquashfs 001-core.xzm
Parallel unsquashfs: Using 2 processors
15890 inodes (15805 blocks) to write
[======================================================================================================================-] 15805/15805 100%
created 14019 files
created 774 directories
created 1636 symlinks
created 6 devices
created 1 fifos
real 0m2.731s
LZMA needed 3.282s while XZ only 2.731s which is nearly 17% faster
Cant wait to test Porteus with 2.6.38 kernel and XZ compressed modules.
BTW - I think we can change the roadmap a bit and ship Porteus-1.0 with 2.6.38 kernel instead of 2.6.37.x