Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 May 2009 21:26:36 +0200 (CEST)
From:      Wojciech Puchar <wojtek@wojtek.tensor.gdynia.pl>
To:        Gary Gatten <Ggatten@waddell.com>
Cc:        freebsd-questions@freebsd.org
Subject:   RE: FreeBSD & Software RAID
Message-ID:  <alpine.BSF.2.00.0905262121230.47364@wojtek.tensor.gdynia.pl>
In-Reply-To: <70C0964126D66F458E688618E1CD008A0793ED96@WADPEXV0.waddell.com>
References:  <4A1AA3DC.5020300@network-i.net><4A1C3725.8040509@infracaninophile.co.uk><70C0964126D66F458E688618E1CD008A0793ED94@WADPEXV0.waddell.com> <200905261400.22053.kirk@strauser.com> <70C0964126D66F458E688618E1CD008A0793ED96@WADPEXV0.waddell.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0905262121230.47364>