[Call for testers] "BSD ar"
kaiwang27 at gmail.com
Fri Jan 11 06:50:09 PST 2008
I think it's time for "BSD ar" to get a public review after months of
bug hunting and cleaning up done by jkoshy@ and me. The majority of
the coding work was done during the summer of 2007 and was sponsored
by Google SoC 2007 programme.
You can find the tarball at:
BSD ar is mostly compatible with GNU ar and it has advantages like:
* BSD licensed.
* hopefully cleaner and simpler. (build on libarchive and libelf)
* inherited compression support from libarchive.
(the usefulness of this function is limited though, since ld(1)
does not recognize compressed .a files)
* faster, due to the adoption of libarchive and libelf.
(see benchmark below)
Some details on the speedup brought by BSD ar:
Below is a speed comparison of processing 5329 .o files (38 MB in
total) in create, list and extract mode of both ar. The benchmark was
done by the acp.sh script (you can find it in the tarball) which was
adapted from Jan Psota's Tar Comparison Program.
outcast% sh acp.sh ~/arobj .
bsdar: BSD ar 1.0.0 - libarchive 2.4.10
gnuar: GNU ar 2.15 [FreeBSD] 2004-05-23
best time of 3 repetitions
src=/home/kaiw/arobj, 38M in 5329 files
archive=./acp.a, extract to ./acptmp
program operation real user system speed
bsdar create 2.17 0.26 0.68 15741 KB/s
gnuar create 8.80 5.30 2.89 3881 KB/s
bsdar list 0.04 0.00 0.04 854000 KB/s
gnuar list 0.70 0.51 0.18 48800 KB/s
bsdar extract 4.10 0.02 1.22 8331 KB/s
gnuar extract 4.95 0.68 1.65 6901 KB/s
Any feedback would be appreciated. After more thorough test, I'd
like to bring it to the tree as an alternative ar.
Testing I've done:
1. BSD ar's own test suite. (you can find it in the tarball)
2. make universe.
More information about the freebsd-current