speed in extracting rar files - unrar vs. 7z

Mel Flynn mel.flynn+fbsd.questions at mailing.thruhere.net
Fri Mar 20 20:27:06 PDT 2009

On Friday 20 March 2009 17:55:49 RW wrote:
> On Sat, 21 Mar 2009 01:53:16 +0200
> Ghirai <ghirai at ghirai.com> wrote:
> > The shareware WinRAR on windows seems to be better implemented (?), as
> > it uses both cores to the fullest, and as such the time needed to
> > extract stuff is a lot shorter.
> IIRC the unix version is portable C, but winrar has a lot of CPU
> specific optimizations.

Among which, being single threaded on unix:
% ldd /usr/local/bin/unrar
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x280ad000)
        libm.so.5 => /lib/libm.so.5 (0x281a1000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x281bb000)
        libc.so.7 => /lib/libc.so.7 (0x281c6000)

Since disk can read faster then the decompression, a threadpool would be able 
to use both CPU's for decompressing and speed things up. At least in theory, 
but certainly on large files with SATA disks.

I believe 7z uses bigger buffers, which would explain the marginal difference 
in runtime.

More information about the freebsd-questions mailing list