EndGame Databases

Discussion about development of draughts in the time of computer and Internet.
Post Reply
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: EndGame Databases

Post by BertTuyt »

I just checked again and that's what the code is printing ...
You are right I made a type :D

Bert
Rein Halbersma
Posts: 1722
Joined: Wed Apr 14, 2004 16:04
Contact:

Re: EndGame Databases

Post by Rein Halbersma »

BertTuyt wrote:
I just checked again and that's what the code is printing ...
You are right I made a type :D

Bert
I use the following code in order to neatly print thousands separators:

Code: Select all

#include <iostream>
#include <locale>

int main()
{
    std::cout.imbue( std::locale( "en_US.utf8" ));
    std::cout << (1LL << 32);
}

This will print 4,294,967,296
http://coliru.stacked-crooked.com/a/ce64a281172cc213

For those using printf():

Code: Select all

#include <stdio.h>
#include <locale.h>

int main()
{
    setlocale(LC_NUMERIC, "en_US.utf8"); 
    printf("%'lld\n", (1LL << 32));
} 
http://coliru.stacked-crooked.com/a/0d6f31402206f7b8
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: EndGame Databases

Post by BertTuyt »

I tried to modify the EndgameDB generator (as shared in het past based upon the works of Michel and Harm), so it could use multiple cores.
As a result the generation (still for the 10x10 version) of the 6P BreakThrough Databases (15 DBs) now takes 30.6 seconds (on my 8-core 4Ghz computer).

With 516M Positions this yields a 16.9 MPositions/second.
Which is okish, but needs to be improved, as with larger DBs, one should use a cache, and most likely one also needs compressed DBs (with a time penalty).

Bert
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: EndGame Databases

Post by BertTuyt »

I tested also hyperthreading (so 16 threads), and now the time is 22.3 seconds, so 23.1 MPositions/second.

Edit: Small improvement which yield 20.6 sec (aka 25.0 MPos/sec).

Bert
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: EndGame Databases

Post by MichelG »

BertTuyt wrote:I tested also hyperthreading (so 16 threads), and now the time is 22.3 seconds, so 23.1 MPositions/second.

Edit: Small improvement which yield 20.6 sec (aka 25.0 MPos/sec).

Bert
Assuming it scales, that's fast enough to do 5x5 in a day. 6x6 would take a month and fill up a 8 TB harddisk :-)
Post Reply