64 bit binaries for Windows

Submitted by chrismartin on 2009-08-10

Would there be any benefit in producing a 64 bit build for Windows? I'm no coder, but it seems there would be benefits to any float calculations when you zoom into a set ways.

Could you release a 64 bit version so we could compare the performance? Is there much recoding involved when you are already using high precision floats?

Thanks!

It doesn't involve any recoding on Fraqtive side, but I would have to recompile the whole Qt (it seems to support the 64-bit Windows platform when using Visual Studio but I haven't tried this, besides I have a 32-bit Windows on my dev. machine).

Fraqtive uses not only double-precision (64 bit) floats but also the SSE2 processor extensions, so I think the benefit from building it for 64 bit platform wouldn't be very high anyway.

Regards,
Michał

Ummm, aren't 64bit floats exactly the commands that have the highest performance yields for compiling binaries for 64 bit? My understanding is that a 32 bit binary has to execute 64 bit floats over at least two clock cycles, while the same source compiled 64 did it in one due to the on CPU registers not being able to be loaded with 64 bit data. That's a 100% performance gain, if that is the case. This, combined with the gains from additional SSE registers and commands, surely there is some gain, or at least enough of a case to produce a single 64 bit beta (or alpha) version to compare and measure what the gain, if at any, is.

I would compile my own version, and I did download Visual C 2008 Express and have a crack, but QT doesn't seem to like working with 2008 Express yet.

Also, you don't need Visual Studio installed on a 64 bit machine to produce 64 bit binaries (I found these links with a Google search):
"http://social.msdn.microsoft.com/Forums/en-US/netfx64bit/thread/f21450f5-b36d-4ea2-9806-f169aff0388d"

"http://msdn.microsoft.com/en-us/library/ms241064(VS.80).aspx"

Sure, you can't debug, but I would try a 64 bit Beta. If you want access to a 64 bit machine, I would happily create a 64 bit VM and install the remote debugger there for you.

All of the articles I have read that marginalise the benefits of 64 bit seem to revolve around saying that there isn't much precision math in Word, Excel, etc, and therefore there is no benefit to the average user, but this IS high precision math, done in massively iterated implementations, the ultimate application to make 64 bit shine. On the other side of the coin, most pro 64 articles focus on the addressable memory gain which, while important for databases and scientific simulations, is not a compelling argument for desktop users, but fail to mention the benefits those who have taken the 64 bit plunge have reaped. Ask anyone who uses Photoshop, Matlab, AutoCAD or 3DSMax or plays Crysis, UT2004 or FarCry on 64 bit.

I have been running 64 bit ever since I could get XP 64, to the point of ordering it internationally when Microsoft were slow in getting stock to Australia, and have never looked back. In the last 6 or so years I have been running Windows 64 of some kind as my primary OS on both my desktop and my laptop, I have run into 2 real issues, and they were both drivers for XP. Since moving to Vista I have not had a single issue with 64, even to the point of being able to run any application the runs on Vista 32 on 64. All of the issue I have had running software have been related to the age of the software and it wasn't a 64 bit issue.

The 64 bit architecture definitely speeds up arithmetics on 64-bit integers because it's possible to add/multiply them using single instructions. Some of the applications you mentioned may actually use integers to perform fixed-point calculations. Fraqtive would benefit from compiling for a 64 bit processor if it had a similar fixed-point engine and I may do it one day. But for now it uses floating-point numbers and these are processed by the same 128-bit SSE2 unit whether the CPU is working in 32-bit or 64-bit mode.

Regards,
Michał