Date: Wed, 11 Oct 2006 13:13:27 +0200 (CEST) From: Oliver Fromme <olli@lurza.secnetix.de> To: freebsd-stable@FreeBSD.ORG, rebehn@ant.uni-bremen.de Subject: Re: Another whirl with FreeBSD Message-ID: <200610111113.k9BBDRV3086345@lurza.secnetix.de> In-Reply-To: <452C8725.3070502@ant.uni-bremen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Heinrich Rebehn wrote: > > [i386 vs. amd64] > Overhead ?? Would this mean that the 64 bit version will run slower? It depends. Most applications will run somewhat faster, but there are cases where you might get a small slow-down. On 64bit platforms, some data types (such as pointers) require twice as much memory as on 32bit platforms. Programs that use many of those data types will require more RAM (and possibly a larger cache size to fit their main working set). Also, amd64 code tends to be a bit larger than i386 code, so it also requires more RAM and more cache. If your RAM and cache sizes are sufficiently larger for the type of applications you run, then amd64 will give you more speed, mainly for two reasons: First, some operations are faster if they can be executed with native 64bit registers (for example, atomic operatins in the kernel that require locking when split into 32bit pieces). Second, amd64 has twice as much general-purpose registers, which gives the compiler more and better opportunities for optimization, e.g. holding variables in CPU registers. On the other hand, there are still quite some ports that are not 64bit-clean. If you need one of those, you'll either have to wait for a fix, or fix them yourself, or look for a different software to do the job. I think there are also some FreeBSD drivers that won't work with more than 4 GB of RAM installed, but that problem is independent from amd64: they will also break if you run i386 + PAE. (I'm not 100% sure about the latter, though ... Someone please correct me if I'm wrong.) If you are a developer who compiles a lot, it might be worth noting that gcc compiles for i386 faster than for amd64. That's because of the different code-generating backends and different optimizer behaviour. Personally I recommend amd64 instead of i386 in either of these cases: - If you absolutely need 64bit support, e.g. for process address spaces beyond 4 GB (you don't have to have more than 4 GB of physical RAM for that). You don't have much of a choice in that case anyway, because PAE does not increase the maximum address space beyond 4 GB. - If you're sure that you won't need any software that's not 64bit-clean, and you have tested the applications that you're going to run will benefit from running in 64bit. Otherwise install FreeBSD/i386 and be done with it. You might avoid some potential trouble, and you probably won't waste a significant amount of performance. Just my 2 Euro cents. best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. "Python is an experiment in how much freedom programmers need. Too much freedom and nobody can read another's code; too little and expressiveness is endangered." -- Guido van Rossum
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610111113.k9BBDRV3086345>