Jump to content
  • Advertisement
Sign in to follow this  
jvff

64 bit optimizations

This topic is 5408 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, Following the news of the first game optimized for 64 bit processors (Shadow Ops: Red Mercury I think), it is told that it gains 20% (I think its more, but I can't remember the exact number) of performance increase. I wonder how can such gains be possible, from what I know, the increase is more memory and wider registers. Am I mistaken? I would like to know how 64 bit can give such performance gains. Thank you, JVFF

Share this post


Link to post
Share on other sites
Advertisement
and *more* registers :)
You get 16 general purpose registers, instead of the "usual" 8 on a 32 bit system.

I think that's the main reason for the performance gains.

Share this post


Link to post
Share on other sites
Quote:
wider registers

Yes, from what I've heard, the major performance gains come from the wider registers, sinc this is where information is handled the fastest.
[EDIT: Love it how a new post appears after I've written something down]

Share this post


Link to post
Share on other sites
probably it's because 32-bit operations works slower on 64-bit processor or something, for example, alignment. I doubt they use 64-bit to add 2 32-bit values at once (and anyway 32-bit CPU can do that).
and yes,registers, but there's more registers not because it's 64 bit but for some other reason. _Most_ 32 bit CPUs have more registers, except 32bit x86.

Share this post


Link to post
Share on other sites
The only reason is that you get double the registers, 64 bit alone would rather slow down, because you need to store 8 bytes, instead of 4 for every pointer.

There are a few special cases where wider registers also speed computations up, but that's hardly the case for games.

Share this post


Link to post
Share on other sites
Thanks for your replys! So it is indeed just marketing of AMD, and the performance gains are the normal performance gains you get when optimizing for one single CPU (ie. having one target cpu). Thanks again,

JVFF

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Number of general purpose register is not that important nowadays when we have dynamic register renaming and fast L1 cache.

Share this post


Link to post
Share on other sites
Quote:
Original post by jvff
Thanks for your replys! So it is indeed just marketing of AMD, and the performance gains are the normal performance gains you get when optimizing for one single CPU (ie. having one target cpu). Thanks again,

JVFF


Why just AMD ? Intel trades the same technology as 'with 64 Bit Extensions'.

Share this post


Link to post
Share on other sites
Quote:
Number of general purpose register is not that important nowadays when we have dynamic register renaming and fast L1 cache.

Yes it is. Because you just can't rename anything and L1 is way slower than registers.

Quote:
So it is indeed just marketing of AMD, and the performance gains are the normal performance gains you get when optimizing for one single CPU

No it's not. Hammers are normally faster in 64-bit Mode, EMT64T is _not_.

Share this post


Link to post
Share on other sites
Quote:
and L1 is way slower than registers

Rather an overstatement. Some L1 is accessible in a single cycle, which is not "way" slower, particularly when performing a multicycle operation.

Merely going 64-bit is, ceteris paribus, slower than 32-bit (assuming that in both cases you have ample virtual memory). Reason being, the larger pointers and integers create more cache/memory pressure.

But the abominable x86-64 also adds more architectural (i.e. directly usable) registers. Sure, rename registers can mitigate lack of architectural registers to a fair degree. But they're not as good as the real thing.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!