Bitcoin x64 for Windows

11 messages BitcoinTalk Olipro, knightmb, Ground Loop, Satoshi Nakamoto, Bitcoiner July 20, 2010 — July 26, 2010
Olipro July 20, 2010 21:02 UTC Source ·

So, after a lot of experimentation, pulling out of hair, cursing of the developer, I finally managed to get a build of Bitcoin compiled under MSVC.

all optimizations are on including SSE2, LTCG and favouring of Intel64 (well hey, that’s my processor)

Performance difference? The two builds I made (namely 32 and 64 bit) are practically equal in terms of performance - however, their performance is not equal to the stock build currently available.

On my quad-core with the stock Windows binary available from bitcoin.org I get about 1700k hashes a second. With the builds I produced under MSVC I get 2500K a second. Anyone interested?

Olipro July 26, 2010 06:39 UTC Source ·

OK, now for some absolutely incredible performance.

Credit to tcatm for the caching part of the SHA context - this offers absolutely brilliant performance. Additionally, the Intel compiler really comes into its own here as its parallelisation abilities give a massive performance boost over Visual Studio.

Performance: 4700khash/s on 4 cores, I think that speaks for itself.

I’ve included both the VS and Intel build, but there’s really no comparison, the Intel build craps all over VS.

Grab SHA state caching Bitcoin here

knightmb July 26, 2010 15:33 UTC Source ·

They do physically, but if you use a virtual machine, you can set environments to have 3 for example. Windows will work with 3 cores or 4 cores just fine, it doesn’t care how many it has.

Olipro July 26, 2010 15:51 UTC Source ·
Quote from: knightmb on July 26, 2010, 6:33:34 AM UTC

They do physically, but if you use a virtual machine, you can set environments to have 3 for example. Windows will work with 3 cores or 4 cores just fine, it doesn’t care how many it has.

VMware only permits even numbers of processors/cores although I believe you can expose 8 cores and then configure the OS to only see 7.

if he really does have this setup, I’m going to bet that he’s opted for more processors/cores than his CPU actually has (yep, you can do this but it will have a pretty negative effect on performance)

knightmb July 26, 2010 16:44 UTC Source ·
Quote from: Olipro on July 26, 2010, 6:51:13 AM UTC
Quote from: knightmb on July 26, 2010, 6:33:34 AM UTC

They do physically, but if you use a virtual machine, you can set environments to have 3 for example. Windows will work with 3 cores or 4 cores just fine, it doesn’t care how many it has.

VMware only permits even numbers of processors/cores although I believe you can expose 8 cores and then configure the OS to only see 7.

if he really does have this setup, I’m going to bet that he’s opted for more processors/cores than his CPU actually has (yep, you can do this but it will have a pretty negative effect on performance)

I was thinking about Virtual Box when I wrote that 😉

Ground Loop July 26, 2010 18:03 UTC Source ·

I’ve thought about dialing BitCoin down to 7 active cores on my desktop machine, just to keep one free for general lightweight UI use.

Olipro July 26, 2010 18:11 UTC Source ·
Quote from: Ground Loop on July 26, 2010, 9:03:29 AM UTC

I’ve thought about dialing BitCoin down to 7 active cores on my desktop machine, just to keep one free for general lightweight UI use.

the BitCoin threads are automatically assigned low priority; as soon as any other processes want to use the CPU it will automatically lose CPU time

Satoshi Nakamoto July 26, 2010 18:41 UTC Source ·
Quote from: Olipro on July 25, 2010, 9:39:17 PM UTC

Credit to tcatm for the caching part of the SHA context - this offers absolutely brilliant performance. Additionally, the Intel compiler really comes into its own here as its parallelisation abilities give a massive performance boost over Visual Studio.

Performance: 4700khash/s on 4 cores, I think that speaks for itself.

I’ve included both the VS and Intel build, but there’s really no comparison, the Intel build craps all over VS. Is that still starting from Crypto++?  Lets get this into the main sourcecode.

Olipro July 26, 2010 18:44 UTC Source ·
Quote from: satoshi on July 26, 2010, 6:41:31 PM UTC
Quote from: Olipro on July 26, 2010, 6:39:17 AM UTC

Credit to tcatm for the caching part of the SHA context - this offers absolutely brilliant performance. Additionally, the Intel compiler really comes into its own here as its parallelisation abilities give a massive performance boost over Visual Studio.

Performance: 4700khash/s on 4 cores, I think that speaks for itself.

I’ve included both the VS and Intel build, but there’s really no comparison, the Intel build craps all over VS.

Is that still starting from Crypto++? Lets get this into the main sourcecode.

no, it’s not Crypto++ now, check the x86 thread for relevant source links.

Bitcoiner July 26, 2010 19:43 UTC Source ·
Quote from: knightmb on July 26, 2010, 2:06:53 PM UTC
Quote from: Olipro on July 26, 2010, 6:39:17 AM UTC

OK, now for some absolutely incredible performance.

Credit to tcatm for the caching part of the SHA context - this offers absolutely brilliant performance. Additionally, the Intel compiler really comes into its own here as its parallelisation abilities give a massive performance boost over Visual Studio.

Performance: 4700khash/s on 4 cores, I think that speaks for itself.

I’ve included both the VS and Intel build, but there’s really no comparison, the Intel build craps all over VS.

Grab SHA state caching Bitcoin here

Wow, this is the biggest jump I’ve ever seen. Nearly a 250% increase in speed from the stock version, amazing. Now let’s see how stable it is

This one blows the other one out of the water, even on my AMD.

knightmb July 26, 2010 20:37 UTC Source ·

Yeah, I easily see 10,000 khash/s on some of my lower end 8 core servers. This should give just about anyone a major speed boost.