DEV Community

Discussion on: x86 vs x64 systems for roadrunners

greenroommate profile image
Haris Secic

I'm not up to date but there is a catch that initially x64 was not real 64bit but two 32bit. Sounds stupid as some might ask what's the difference. Well 2 times something means that real underlying implementation uses smaller size which makes things like 64 bit number, long for example, not volatile. This means that it cannot guarantee that part of number is not changed while loading it to register. It makes some issues for branch prediction and similar. Let's say you use it in a loop, and chnage for some reason long in another thread. This may lead either to unexpected results or slowe performance. I'm here mostly talking about Intel and AMD for PC. Was hoping to find some of it here

developertharun profile image
Tharun Shiv Author

Sounds cool, wasn't aware of this until now. Thanks