From owner-freebsd-current@FreeBSD.ORG Fri Jan 11 14:50:09 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D4E816A41B for ; Fri, 11 Jan 2008 14:50:09 +0000 (UTC) (envelope-from kaiwang27@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.157]) by mx1.freebsd.org (Postfix) with ESMTP id 0AE4813C45A for ; Fri, 11 Jan 2008 14:50:08 +0000 (UTC) (envelope-from kaiwang27@gmail.com) Received: by fg-out-1718.google.com with SMTP id 16so1219688fgg.35 for ; Fri, 11 Jan 2008 06:50:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:date:from:to:subject:message-id:mail-followup-to:mime-version:content-type:content-disposition:user-agent; bh=1N6zn+TSQOXwFoRLdKZPzBFXmp7Zi0XSVffbYzeaEdA=; b=ZAAxTYE6kswg2DSuaEF9azRa/zqN6JEshoUif19fxz0ZYpien9w0uESTWkbr1ioHCfRBgPfES1+clBIAs1OqbkoauO9idNMrfyek+UzdKCgvrfaJ51oVZ8+JdGInsX5KIiTJXdqMaw1C75EP8Xo6Biyj/jEP4gwdppvmtZvunJc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:mail-followup-to:mime-version:content-type:content-disposition:user-agent; b=KsLEoXicmNEXNbfu8/6uYqIvUZBEtp4W+QC/OMxD0t0ibuu8X60WO9lVoUxtNgjKPETw5Fm05qHob3/mJNwDl5dwFZMCGv3NyNyUTE5rOljrk3vH16RAeWm6SK44NJjYdUdQPxF/1VvxA1xNkDO0VwVVRRdNFliD+mQrqP7xP58= Received: by 10.82.161.19 with SMTP id j19mr5356884bue.20.1200061421071; Fri, 11 Jan 2008 06:23:41 -0800 (PST) Received: from plan0.kaiwan.csbnet.se ( [193.11.244.12]) by mx.google.com with ESMTPS id m5sm2229120gve.11.2008.01.11.06.23.38 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 11 Jan 2008 06:23:40 -0800 (PST) Received: by plan0.kaiwan.csbnet.se (Postfix, from userid 1001) id 5443EB8FC; Fri, 11 Jan 2008 15:23:36 +0100 (CET) Date: Fri, 11 Jan 2008 15:23:36 +0100 From: Kai Wang To: freebsd-current@freebsd.org Message-ID: <20080111142336.GA1379@plan0.kaiwan.csbnet.se> Mail-Followup-To: freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.16 (2007-06-09) Subject: [Call for testers] "BSD ar" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2008 14:50:09 -0000 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: http://web.student.chalmers.se/~kaiw/patch/ar-20080111.tgz 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