[Call for testers] "BSD ar"

Kai Wang kaiwang27 at gmail.com
Fri Jan 11 06:50:09 PST 2008

Hi list,

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.

Kai Wang

More information about the freebsd-current mailing list