Porównanie kompresji rar, bzip2, lbzip2

Ostatnio zajmowałem się przygotowaniem różnych katalogów do dodatkowej archiwizacji w systemie Linux (chodzi o pliki z lokalizacji /var/log/) zawierające archiwum raportów wykonywanych operacji w systemie i działających programach (często stanowiących serwery usług np. www). Jako, że często używam archiwizacji do formatu RAR postanowiłem sprawdzić czy i w tym wypadku się to sprawdzi.

Test wykonałem w systemie Debian 11 (jądro Linux 5.10.0-13-amd64), na systemie z 2 procesorami Xeon E5-2630L v2, wyposażonym w 64GB pamięci RAM i dysk SSD (SATA).

Najpierw utworzyłem archiwum tar całego katalogu /var/log za pomocą komendy "time tar -pcf log.tar /var/log". Utworzone archiwum zajmuje na dysku 1,7GB. Poniżej wyniki wykonane tymi komendami:
archiwizacja rar (zarejestrowany v 6.12, ze strony producenta): time rar a -m5 -ma5 -md64m -mt24 -r /log.rar /log.tar
archiwizacja bzip2 (v 1.0.8, zainstalowany za pomocą apt): time bzip2 -k -z -9 log.tar
archiwizacja lbzip2 (v 2.5, zainstalowany za pomocą apt): time lbzip2 -k -z -9 log.tar

Komenda time pozwala określić czas jaki dana komenda wykorzystała do działania. Oto wyniki:

Archiwum (nazwa pliku) Czas tworzenia archiwum (sekundy) Rozmiar pliku (KB)
log.tar 2,64 1758197
log.rar 36,87 276366
log.tar.bz2 (bzip2) 313,06 275410
log.tar.bz2 (Lbzip2) 7,83 274947

Jak widać, najlepiej wypada archiwizacja do pliku bz2, za pomocą lbzip2 (czyli implementacji bzip2 zdolnej do wykorzystywania wielu rdzeni, stąd duże przyspieszenie).