ThatDamnedBoedy, on August 22 2014 - 02:37 AM, said:
There are certain performance gains to be had by accessing more registers and writing larger chunks of data per clock cycle. Otherwise there would be no point aside from the amount of system RAM you can address and Hard Drive space that can be logically assigned.
Well, the only programs that respond well in terms of an increase in performance to 64-bit compiling are ones that have what is termed a heavy "register pressure". Those programs are usually scientific in nature and are normally composed of a number of deeply nested loops or recursion. Games and normal everyday apps don't seem to respond if at all, which is why I said what I said earlier and not seeing an increase in performance. I guess in a way, my statement about using more registers does not increase performance is false. Some applications benefit from the use of more registers and some don't. For every case, you can find one that says theres an increase, you can find another that says there is no increase.
One of the major issues is since the register size has doubled from 4 bytes to 8 bytes, the number of registers you can hold in the CPU cache is effectively cut in half. So having to swap that out ends up taking time and costing a decrease in performance.
As far as clocks per instructions or instructions per clock, thats entirely dependent on the CPU architecture regardless of the choice of bits.
ThatDamnedBoedy, on August 22 2014 - 02:37 AM, said:
And you are correct about the compiler...my bad. So does a 64-bit compiler cost more_ Or take too long to do the job_ Or are there no good ones on the market for 64-bit_ I'm curious about the possibilities.
I don't really think any company charges more for a 64-bit compiler, and don't think that they take noticeably longer to compile. I'm sure its a tad bit longer because of the longer address lengths, and a bit more swapping of registers, but like I said, I doubt its noticeable and longer than a few minutes. I really don't have any experience testing the difference myself, I've never actually tried and timed it. I just knew that the size of the program was larger KB wise, and that a 64-bit application takes up more memory.
Its just that its all up to the compiler to optimize the code, and if it does a cruddy job at it, then you won't see any good results in your program. Thats why I said blame the compiler. I've seen bad compilers try to optimize code and fail badly causing a task exception. When I removed the optimizations flag and recompiled, I had no more issues.
Most do their job well, and some are better than others, but again for everyday normal computing or game playing, its not really worth squeezing a few nanoseconds out, unless you recall that code over and over a few million times.
I think that if Hawken did have a 64-bit version, it would likely only see an increase in performance due to the fact it has access to more memory space.