From owner-freebsd-questions@FreeBSD.ORG Tue May 26 19:26:47 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5676A106564A for ; Tue, 26 May 2009 19:26:47 +0000 (UTC) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: from wojtek.tensor.gdynia.pl (wojtek.tensor.gdynia.pl [IPv6:2001:4070:101:2::1]) by mx1.freebsd.org (Postfix) with ESMTP id 6BBBF8FC18 for ; Tue, 26 May 2009 19:26:46 +0000 (UTC) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: from wojtek.tensor.gdynia.pl (localhost [IPv6:::1]) by wojtek.tensor.gdynia.pl (8.14.3/8.14.3) with ESMTP id n4QJQabJ047466; Tue, 26 May 2009 21:26:36 +0200 (CEST) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: from localhost (wojtek@localhost) by wojtek.tensor.gdynia.pl (8.14.3/8.14.3/Submit) with ESMTP id n4QJQaNO047463; Tue, 26 May 2009 21:26:36 +0200 (CEST) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Date: Tue, 26 May 2009 21:26:36 +0200 (CEST) From: Wojciech Puchar To: Gary Gatten In-Reply-To: <70C0964126D66F458E688618E1CD008A0793ED96@WADPEXV0.waddell.com> Message-ID: References: <4A1AA3DC.5020300@network-i.net><4A1C3725.8040509@infracaninophile.co.uk><70C0964126D66F458E688618E1CD008A0793ED94@WADPEXV0.waddell.com> <200905261400.22053.kirk@strauser.com> <70C0964126D66F458E688618E1CD008A0793ED96@WADPEXV0.waddell.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-questions@freebsd.org Subject: RE: FreeBSD & Software RAID X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 May 2009 19:26:47 -0000 > ZFS is thoroughly 64-bit and uses 64-bit math pervasively. That means > you > have to emulate all those operations with 2 32-bit values, and on the > register-starved x86 platform you end up with absolutely horrible > performance. no this difference isn't that great. it doesn't use much less CPU on the same processor using i386 and amd64 kernels - i checked it. no precise measurements but there are no more than 20% performance difference - comparable to most programs used in i386 and amd64 mode. so no "horrible performance" on i386, or if you prefer - always horrible performance no matter what CPU mode. while x86 architecture doesn't have much registers EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP 8 total (+EIP) it doesn't affect programs that much, as all modern x86 processors perform memory-operand instructions single cycle (or more than one of them). anyway extra 8 registers and PC-relative addresses are very useful. this roughly 20% performance difference is because of this. if you mean gain on 64-bit registers when calculating block checksums in ZFS - it's for sure memory-bandwidth and latency limited, not CPU power.