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