Adam Jacob Muller wrote:
As an aside, if you are upgrading the same machine to 64-bit with the
same hardware and expecting better performance, you will not find this.
Please excuse me for somewhat off-topic here, but I want to comment on this.
The thing is - whenever after switching to 64bits one will see any
speedups or slowdowns really depends on the workload and other issues.
There are 2 components involved - kernel, which may be 64 or 32 bits,
and userspace (including postfix itself), which, with 64bits kernel,
also may be 64 or 32 bits.
In kernel, there are alot of places where 64bits arithmetics is used.
Including many filesystem (I/O) operations, timekeeping and so on.
Those things are running faster on 64bits (i.e. without software
emulation of all the arith operations). This one fact alone may
speed up some workloads.
x86-64 systems has more registers than traditional x86. Which speeds
up things further, sometimes significantly -- especially computation-
intensive tasks.
There are addressing problems in 32bit mode as well - for example,
with, say, 2Gb memory, kernel has to do some work to ensure that
DMA areas stays below 1Gb anyway due to hardware limitations, thus
wasting "low" memory for DMA, and moving/remapping userspace pages
on direct I/O for example.
There are other improvements in x86-64 compared to x86 as well.
And there are several downsides: word size is increased in 64bits,
so is memory requirements (one now needs twice the memory for
pointers and "normal" integers). With mixed 64bits kernel and
32bits userspace we may be wasting additional time on syscall
conversions inside the kernel.
Postfix itself does not benefit from 64bits. But the system
as a whole may. Again, with postfix-only workload even if
there will be some benefits, they will barely be measurable/
noticeable. If the same system is doing something else too,
it may become another story.
/mjt