[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: x86-64 on i386 (was Re: Promoting i386 version over x86_64?)



On 12/14/2009 10:27 AM, Nicolas Mailhot wrote:


Le Dim 13 décembre 2009 22:35, Chris Adams a écrit :

As for the RAM overhead of 64 bit code vs. 32 bit code, I don't see it
much in the real world.

The worst case I've seen reported is when the RAM overhead managed to
annihilate register improvements (worst case in a very specific load). So "RAM
overhead" is pretty much a urban myth on x86_64

It's not an urban myth - Conversely, it can quite easily be proven:

int main()
{
  long i;
  void *array[1000000];

  for ( i = 0; i < 1000000; i++ ) {
    array[i] = (void*) i;
  };

  while(1) {};
}

Compile this snippet for -m64/-m32:
# gcc -m64 -o test-64 -Wall test.c
# gcc -m32 -o test-32 -Wall test.c


Then run them and watch memory consumption (here "top"):

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

5909 corsepiu 20 0 11536 8128 248 R 100.0 0.4 0:16.93 test-64

5903 corsepiu 20 0 5560 4180 224 R 99.0 0.2 1:10.20 test-32

QED


Of course, this is an extreme case, but they also aren't "that rare" in real world cases.

Ralf


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]