I am surprised there are still so many i386 installations. I have been running mostly amd64 for quite some years now. Both for severs and desktops. I know for sure the servers my job bought in 2007 ran amd64.
I'm running several debian i386 virtual machines. I don't see a point running 64-bit os if the memory usage stays well below 3G. And last time I ran UnixBench on squeeze i386 was still faster than amd64.
On bare metal it's a different story, though, but I still would think that there are more virtual servers than real ones.
When you run 64 bit it assumes all the SSE extensions, the presence of the extra register sets, and everything between the 386 and 686 being available. It almost always performs better with software compiled to utilize the extra goods, even if it has slightly larger memory footprints.
Generally yes, you almost always see a performance increase with all the things x86-64 brings. But the increased cache pressure from 64-bit pointers is a real downside and the reason that pretty much every other architecture suffers in performance when it goes to 64 bits. If something about his workload makes it especially sensetive to cache pressure he could very well see a performance penalty, and I'd say heavy virtualization would actually make that more likely.
I'd say you waste time taking a conscious decision between 64-bit and 32-bit, there are few good reasons to not just go with 64-bit, and dwelling on it just wastes time. Do you have any metrics to support your claim that 32-bit Debian is faster than the exact same 64-bit distro?
And what difference does virtual versus physical machines make? Heck, you can even run virtual 64-bit guests on a 32-bit host machine if the CPU supports either Intel-VT or AMD-V.
I did find the results I got but without any further explanation they are not very useful: http://pastebin.com/WjiZNiSg
But interpreting those results indicates to me that there are possible problems with this platform where f.ex. file copy performance is ~50% faster on 32bit than 64bit.
To me just assuming that there is no difference and go with instinct without anything concrete evidence is the wrong way to go.
I consider myself a well versed user and just found out recently that my Core 2 Duo laptop (which I bought in 2007) supports amd64. Have been running i386 all the while, and have even explicitly downloaded the x86 version of Fedora when they presented me the x64 download by default...
No, it's quite true. Some of the Prescott model Pentium 4's released in '05 supported x64, but the Yonah Core processors released in '06 didn't. That's mostly because Yonah was only intended to be a mobile chip. When it ended up being better in many ways than the Pentium 4 Intel quickly released the 64-bit Core 2 as a successor to both.
The number of i386 installations have been relatively constant since 2007. All the growth has been in amd64.
I guess Debian is the kind of distribution you put on a computer that is going to to sit in a room and run the same non-taxing services for years without attention.
I used to run x64 but now I'm back on x86 with Linux (I'm still using 64bit windows). The reason is problems with various "external" (not from repos) libraries, most prominently Flash.
I'm running i386 despite having a 64 bit processor (and kernel) because it's the latest installation in a series of upgrades of an install from many years ago.
The new multiarch support should finally allow me to change that.
The reason x64 is called AMD64 and not x86-64 or x64 is almost entirely Dave Cutler's[1] doing. He, being constantly annoyed with Intel, used "AMD64" in the Windows NT source tree. It was used in version information properties as well. He believed the AMD64 architecture was better than the Intel EM64T architecture and forced the issues by steadfastly refusing to change the name in the Windows source tree.[2]
I recall several attempts by 'marketing' and execs to get AMD64 renamed to something Intel was happy with. The NT team (working on XP Pro 64-bit and Server 2003 SP1 64-bit) won by saying, basically, "oh, we can't do that NOW; it would be too de-stabilizing to the release and we'd slip".
Actually it is the popular AMD 64-bit architecture that extended the original x86 Intel architecture. Intel begrudgingly had to implement AMD's extensions because AMD was first to market with it.
This is also the reason why it is called AMD64. Intel for its 64-bit lineup had bet on it's Itanium lineup of processors which included a completely new 64-bit instruction set which was not backwards compatible with Intel's 32-bit x86 instruction set.
AMD when releasing the spec called it AMD64 (FreeBSD, Debian, *BSD), and the name stuck for certain projects, other names are x86_64 (Apple), x64 (Sun/Oracle, Microsoft). There are a variety of ways to refer to the instruction set, but what is sure is that AMD was the first to market with it, so saying AMD64 is code name for the popular Intel 64-bit architecture is not entirely correct. Intel 64 is a code name for AMD64, AMD's 64 bit extensions to Intel's 32-bit x86 architecture.
On Intel releasing a 64-bit architecture that wasn't compatible with x86 and later to give in to AMD's architecture ... now that's what I call ironic :-)
To be more precise, "AMD64" in this context is the same as "x86-64" (or "x64"), http://en.wikipedia.org/wiki/X86-64 - originally created by AMD and later also licensed back to Intel for use in all the later Pentium and Core CPUs.
It should not be confused with "IA64", aka the "Intel Itanium 64" architecture, which was Intel's mostly-dud non-x86 compatible attempt at 64 bit architecture, a clean break from the x86 legacy. http://en.wikipedia.org/wiki/Ia64#Architecture
I still run i686-bigmem since I only have 8G and since PAE only causes a small reduction (a couple of percent) in performance. It didn't seem worth switching to amd64 and risking some compatibility issues. Now it seems like it's time to switch. I'm finding some packages (not Debian specific) are built only for amd64...
The point is that it has now passed i386 as the most popular architecture (at least for Debian squeeze installations as measured by popcon). Certainly it was inevitable and expected, but it's still noteworthy that it happened now.
Generally with Debian you only install once per machine, as upgrade always works. Its not like other distros where you pretty much have to wipe the drive and restore from backup, or OS like windows where a new MB requires so many new drivers you may as well wipe and replace. So any Debian box commissioned before 2007 or so will semi-eternally run i386, even if upgraded multiple times since then. Multi-arch is supposed to fix that.
I bit the bullet and wipe/install upgraded my home server circa 2009 but I've got plenty of new machines still stuck on i386.
No I didn't. The naming conventions for this instruction set are a bit of a mess [0], with every company trying to stick their brand in the middle of it. No wonder people get confused on this. Thanks for pointing that out.
In practice Itanium only competed with the existing 64-bit architectures from the Unix vendors. Many of whom got suckered into dropping their own stuff and moving onto Itanium, and got wiped out because of the very late & underperforming Itanium chips (frequently called "Itanic")...