bsdtar vs gtar performance
Bruce Evans
bde at zeta.org.au
Sun Sep 24 01:23:48 PDT 2006
On Sat, 23 Sep 2006, Tim Kientzle wrote:
> Kris and Ruslan were recently discussing the performance of bsdtar
> relative to gtar, which prompted me to do some measurements
> of my own. I used /usr/ports as my test, because it stresses
> file and directory creation over extracting large files.
>
> Here are some initial results, based on ten runs of each test on a
> quiescent system, comparing results with PHK's "ministat":
>
> [... ones with no difference]
>
> * Extracting uncompressed archives: gtar is about 13% faster
> than bsdtar in my test. Interestingly (to me), this was the same
> with or without -m. (I've long suspected dir timestamp restores
> as a contributor; this shows otherwise.)
Changes to attributes by syscalls (utimes(), chown()... are always
written asynchronously, so -m should always have little effect.
A quick test showed that the main difference for extraction is that
bsdtar does an lchmod() for every file extracted. gtar apparently
optimizes away null chmod()'s. I would expect -m to make little
difference for bsdtar since the writes for the changes to the
attributes from utimes() + lchmod() are coalesced, but for gtar
-m would be noticeable faster since it usually eliminates these
writes.
Bruce
More information about the cvs-src
mailing list