speed in extracting rar files - unrar vs. 7z

Ghirai ghirai at ghirai.com
Sat Mar 21 05:29:22 PDT 2009


On Fri, 20 Mar 2009 19:27:02 -0800
Mel Flynn <mel.flynn+fbsd.questions at mailing.thruhere.net> wrote:

> 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
> /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.
> -- 
> Mel
> 

That sounds about right, thanks.

This is too bad really, seeing as multicore has gained a lot of
traction, and seems to be getting even more popular in the future.

I forgot to state that the disks are SATA300, and i ran WinRAR on the
same hardware as unrar/7z.

-- 
Regards,
Ghirai.


More information about the freebsd-questions mailing list