Dragon v4.7

Discussion about development of draughts in the time of computer and Internet.
Joost Buijs
Posts: 559
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: Dragon v4.7

Post by Joost Buijs »

Ed Gilbert wrote: Mon Aug 31, 2026 21:42
The per-thread egdb cache is an interesting idea. I didn't realize you could read a small block from an SSD in 5 us. The last time I benchmarked this stuff was quite a while ago. I have a single egdb cache and use locks to protect critical regions.
I devised a benchmark using 40 million binary EGDB positions from real games. This shows that the very first cache miss can take substantially longer than 5 microseconds. Because both SSDs and Windows utilize caching, Windows will eventually cache the entire compressed 7P EGDB, assuming there is enough memory.

The numbers I have shown are averages across these 40 million positions: approximately 35 to 40 nanoseconds for a cache hit, and 5 microseconds for a cache miss. Since different threads analyse different variations anyway, I chose to use thread-local caches to avoid the locks required to synchronize a global cache.

Joost
Joost Buijs
Posts: 559
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: Dragon v4.7

Post by Joost Buijs »

BertTuyt wrote: Tue Sep 01, 2026 00:17
not 100% sure, can you verify:

Format: configuration all_win all_draw all_lose, noncapture_win noncapture_draw noncapture_lose

1221 678795283 1395118040 7606227 86768707 568453887 260
Bert, thanks! I will compare these numbers with what I've got here.

Edit:

The numbers compare nicely. Now the depth figures are still missing, this is not very important.

Joost
Krzysztof Grzelak
Posts: 1477
Joined: Thu Jun 20, 2013 17:16
Real name: Krzysztof Grzelak

Re: Dragon v4.7

Post by Krzysztof Grzelak »

Ed,
I have a question. As you wrote, you have 2 versions of the databases. Which one is better and more accurate.
Ed Gilbert
Posts: 884
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: Dragon v4.7

Post by Ed Gilbert »

Krzysztof, in my tests kingsrow performed the same with either db in engine matches, and in test positions of 12 to 16 pieces measuring search time to obtain an egdb win or loss score. However version 1 is 389 GB vs 56 GB for version 2, so version 2 is much easier to manage on your internal drive and for archival storage, and it initializes much faster at startup. There is an advantage for version 1 if you are running a different kind of program that needs to lookup the WLD value of every position in a db, but an alphabeta engine search doesn't need that kind of functionality.
Krzysztof Grzelak
Posts: 1477
Joined: Thu Jun 20, 2013 17:16
Real name: Krzysztof Grzelak

Re: Dragon v4.7

Post by Krzysztof Grzelak »

Ed Gilbert wrote: Wed Sep 02, 2026 13:56 Krzysztof, in my tests kingsrow performed the same with either db in engine matches, and in test positions of 12 to 16 pieces measuring search time to obtain an egdb win or loss score. However version 1 is 389 GB vs 56 GB for version 2, so version 2 is much easier to manage on your internal drive and for archival storage, and it initializes much faster at startup. There is an advantage for version 1 if you are running a different kind of program that needs to lookup the WLD value of every position in a db, but an alphabeta engine search doesn't need that kind of functionality.
Thanks for the reply Ed. Can you tell me how much space a 10 figure database would take in GB? Of course, in draughts 10x10.
Post Reply