Fedora carries a nifty utility for years which is called lbzip2. What it does? Well, an example is worth hundreds of words:

[lzap@box tmp]$ time tar -c linux-5.2.9/ | bzip2 -5 > /dev/null

real    1m10,480s
user    1m10,228s
sys     0m1,705s

[lzap@box tmp]$ time tar -c linux-5.2.9/ | lbzip2 -5 > /dev/null

real    0m4,155s
user    1m3,190s
sys     0m1,581s

This is my 8-core (16-threads) Ryzen CPU so pretty much a standard modern CPU and the difference is obvious. With maximum compression block results are the same:

[lzap@box tmp]$ time tar -c linux-5.2.9/ | bzip2 -9 > /dev/null

real    1m14,493s
user    1m14,205s
sys     0m1,705s

[lzap@box tmp]$ time tar -c linux-5.2.9/ | lbzip2 -9 > /dev/null

real    0m4,603s
user    1m9,684s
sys     0m1,641s

In 2014, it was proposed to replace bzip2 with lbzip2 in Fedora, but this was not approved. The question is - is it time right now? Sure, the original bzip2 is from 1996 thus if we are not there yet can we probably implement “alternatives” for bzip2 so users can easily switch between one or another to see if everything else works as expected? I say yes to this half-way step and have another period of extensive testing.

Want to comment on this? Do it in a BZ.

Kudos to Laszlo, Mikolaj and other contributors for this engineering achievement. Let’s see what we can do with it.