Kodi Community Forum

Full Version: [Windows] Time for a 64 bit version?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm hoping we can soon get dev support for a 64bit version of XBMC.

The first question many will ask is, why Smile

The answer is, performance...
64bit apps can be 2 to 6 times faster, than the 32bit version, when running on a 64bit OS.

Note: this has nothing to do with being able to address more RAM in 64bit.

This is especially true for math intensive applications... which I'm guessing, the GUI for XBMC is fairly math intensive with animations, gfx, etc. As the skins have become more complex, they have also slowed down noticeably - especially on lower-powered CPUs.

Read more on 64bit vs 32bit testing here...
http://www.passmark.com/forum/showthread.php?t=3348

Again... I hope a dev will look into this as it could move XBMC to the next level of performance.
Livin Wrote:The answer is, performance...
64bit apps can be 2 to 6 times faster, than the 32bit version, when running on a 64bit OS.

Bunk Smile Please try actually reading the URLs you post instead of leaping to a silly conclusions.

"What we found at the time was that a 64bit CPU, running a 64bit O/S, executing 64bit code could in some cases be twice as quick as 32bit code."

" In PerformanceTest V7 some CPUs now get up to 4 - 6 times the performance in 64bit integer maths, compared to 32bit."

The article talks about the speed up in '64-bit integer math", now if all xbmc code only consisted of 64-bit integer math, that might be true, however, at best you are looking at maybe 10 percent of the code.
Livin Wrote:I'm hoping we can soon get dev support for a 64bit version of XBMC.

Again... I hope a dev will look into this as it could move XBMC to the next level of performance.

A 64bit compile would depend mainly on the dependent libraries being 64bit compatible. (Which they invariably often aren't)

But any performance gains would be completely minimal and not even slightly noticeable IMO, despite the crud written in the included link. It certainly shouldn't be a priority considering how many things would make a difference to performance in XBMC. A 64bit version would also use twice the memory to do the same thing it does now... Smile
With the statement I made I did say 'can be' and also that it mainly affected computations (math). But I will give you, I could have said it better/clearer.

What is most interesting in the test results...

Addition of two 32bit numbers
Subtraction of two 32bit numbers
Multiplication of two 32bit numbers
Division of two 32bit numbers
... These first four operations are unsurprisingly executed in the same way and at the speed on a 32bit machine and a 64bit machine.

Addition of two 64bit numbers
Subtraction of two 64bit numbers
Multiplication of two 64bit numbers
Division of two 64bit numbers
... These second four 64bit operations are executed at a much quicker speed on a 64bit machine.

So, if I read it correctly, if XBMC is using 64bit numbers the number crunching could be much faster than the 32bit equal.

... admittedly, I don't know how much XBMC does this - or would do this given a 64bit compile.

I'm don't know how many XBMC libraries are 64bit or what it would take to get them there. I did assume much of the code, if compiling for Windows platform, would be Microsoft libraries and many would be 64bit... especially the ones pertaining to GUI - which I suspected would be math/computationally intensive and benefit most from the 64bit speed gains?
We don't calculate much with 64bit numbers. Thats a fact.
Livin Wrote:I'm don't know how many XBMC libraries are 64bit or what it would take to get them there. I did assume much of the code, if compiling for Windows platform, would be Microsoft libraries and many would be 64bit... especially the ones pertaining to GUI - which I suspected would be math/computationally intensive and benefit most from the 64bit speed gains?

Wrong. We use precompiled third party libs which often aren't available in 64bit. Additionally the root of most libs are Linux/Unix and those are compiled via mingw and there aren't many M$ libs which would help.
Dunno what happens if we would have a XBMC 64 bit binary which loads 32bit dlls (does it even work?).
I won't start which such a task but any dev is invited to do so.
doubt there is a official mingw64 is it?
WiSo Wrote:Dunno what happens if we would have a XBMC 64 bit binary which loads 32bit dlls (does it even work?).

The linker would simply refuse to load it, you can only load dll's compiled for the same cpu architecture.
(2012-02-01, 23:39)Memphiz Wrote: [ -> ]doubt there is a official mingw64 is it?

There is, and has been for a long time.
mingw-w64.sourceforge.net

They offer 64- and 32-bit native and cross compilers. Most common libraries have been fixed to work on 64-bit Windows. Please contact their public mailing list if you are still interested in getting a Windows x64 build of XBMC. I can help, and am subscribed to their mailing list.

Thanks!
So with there being a *nix 64-bit and more recently OSX 64-bit version, is a Windows 64-bit compile (more of) a possibility these days?
Awesome - thanks for the link!
(2012-02-01, 05:20)Livin Wrote: [ -> ]64bit apps can be 2 to 6 times faster, than the 32bit version, when running on a 64bit OS.

If you want it faster, couldn't you just use fast forward? Tongue
Seriously, even Mozilla gave up on a 64bit Firefox because the pain involved is just not worth it.