FreeBSD & Software RAID

Wojciech Puchar wojtek at
Tue May 26 19:26:47 UTC 2009

> 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.

More information about the freebsd-questions mailing list