Re: how to test and compare performance of bullseye for i386 and amd64
>> > it's surprising that "The x64 binary are also somewhat larger than the i386
>> > binaries"
>> There is no fundamental reason why a 64bit architecture (like amd64) would
>> require more code than a 32bit architecture (like x86), but yes, on the
>> average amd64 code is a bit larger than x86.
> For one, pointers are bigger.
Usually there are no pointers inside the code: they are manipulated by
the code but they don't directly appear in the code. Same for integers.
An 256bit-wide `add` instruction doesn't need to use up more code space
than a 16bit-wide `add`.
Of course, immediate operands do occur here and there, and sometimes
they depend on the actual size of pointers and integers, but it's fairly
rare, especially considering that there is no good reason why an ISA
can't accept a 32bit immediate value for a 64bit-wide operation.
So the reasons why amd64 code might be bigger than i386 code are most
likely due to pragmatic choices made in the design of those ISAs rather
than due to the size of their pointers.
Stefan
Reply to: