[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#916935: initramfs-tools-core: mkinitramfs shouldn't default to -9 for lzop



Package: initramfs-tools-core
Version: 0.132
Severity: normal

Dear Maintainer,

mkinitramfs defaults to -9 (maximum compression) for lzop but this setting makes lzop a very poor choice. I've did some benchmarks with the compressors listed in initramfs.conf and lzop -9 takes the longest. One normally would select lzop though for very fast compression with minimal compression and lzop -9 clearly isn't doing that very well.

Could the -9 please be removed from lzop? If someone wants better compression then they should use a different compressor like gzip or xz.

Thanks,

Michael Schaller


Benchmark results from a Lenovo ThinkStation P520:

$ sudo mkinitramfs -c cat -o initrd.uncompressed

$ ls -sh initrd.uncompressed
152M initrd.uncompressed

$ for comp in gzip bzip2 lzma lzop 'lzop -9' xz; do echo "$comp:"; cat initrd.uncompressed | time $comp > "initrd.$comp"; ls -sh "initrd.$comp"; echo; done
gzip:
4.78user 0.04system 0:04.84elapsed 99%CPU (0avgtext+0avgdata 1496maxresident)k
0inputs+99920outputs (0major+145minor)pagefaults 0swaps
49M initrd.gzip

bzip2:
9.31user 0.13system 0:09.45elapsed 99%CPU (0avgtext+0avgdata 8300maxresident)k
72inputs+92152outputs (1major+888minor)pagefaults 0swaps
45M initrd.bzip2

lzma:
46.41user 0.13system 0:46.55elapsed 99%CPU (0avgtext+0avgdata 97480maxresident)k
144inputs+63384outputs (2major+2518minor)pagefaults 0swaps
31M initrd.lzma

lzop:  (what mkinitramfs should use)
0.37user 0.09system 0:00.52elapsed 89%CPU (0avgtext+0avgdata 1744maxresident)k
416inputs+139912outputs (0major+246minor)pagefaults 0swaps
69M initrd.lzop

lzop -9:   (what mkinitramfs actually uses)
47.60user 0.14system 0:47.82elapsed 99%CPU (0avgtext+0avgdata 2152maxresident)k
0inputs+111760outputs (0major+325minor)pagefaults 0swaps
55M 'initrd.lzop -9'

xz:
46.77user 0.10system 0:46.88elapsed 99%CPU (0avgtext+0avgdata 97472maxresident)k
0inputs+63344outputs (0major+2535minor)pagefaults 0swaps
31M initrd.xz


Sorted by initrd size (lowest first):
31M/46.55s   lzma
31M/46.88s   xz
45M/9.45s   bzip2
49M/4.84s   gzip
55M/47.82s   lzop -9  (what mkinitramfs actually uses)
69M/0.52s   lzop   (what mkinitramfs should use)


Sorted by time (lowest first):
0.52s/69M   lzop   (what mkinitramfs should use)
4.84s/49M   gzip
9.45s/45M   bzip2
46.55s/31M   lzma
46.88s/31M   xz
47.82s/55M   lzop -9  (what mkinitramfs actually uses)


Reply to: