Effect of the Hash Table size

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Effect of the hash table size.

Post by Laskos »

Ajedrecista wrote:Hello Kai:
Laskos wrote:

Code: Select all

H4 on 4 cores:
100 positions Depth=21   4MB time: 53:02
100 positions Depth=21 256MB time: 32:32
The benefit, assuming 100*log[time] Elo points per doubling time is 11 Elo points from doubling the hash table, when the hash table is clearly saturated.
Could you explain a little more from where do you obtain the figure of 11 Elo with your data, please? I am a bit blind today.

Thanks in advance.

Regards from Spain.

Ajedrecista.
There are 6 doublings from 4MB hash to 256MB hash. We need to get Elo from one doubling. The ratio of TTD from 6 doublings is 53:02 / 32:32 ~ 1.63. So for 1 doubling the exponent is log2[1.63]/6, and the empirical 100*log[t] becomes 100*log[1.1175] ~ 11 Elo points. If I didn't mess up a log[2] somewhere.

EDIT:
I did mess up something. The correct is 1.63^(1/6) ~ 1.0848 speed-up for _one_ doubling of hash size, so the empirical formula needs 100*log[1.0848] ~ 8 Elo points.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Effect of the hash table size.

Post by Laskos »

Laskos wrote:
Ajedrecista wrote:Hello Kai:
Laskos wrote:

Code: Select all

H4 on 4 cores:
100 positions Depth=21   4MB time: 53:02
100 positions Depth=21 256MB time: 32:32
The benefit, assuming 100*log[time] Elo points per doubling time is 11 Elo points from doubling the hash table, when the hash table is clearly saturated.
Could you explain a little more from where do you obtain the figure of 11 Elo with your data, please? I am a bit blind today.

Thanks in advance.

Regards from Spain.

Ajedrecista.
There are 6 doublings from 4MB hash to 256MB hash. We need to get Elo from one doubling. The ratio of TTD from 6 doublings is 53:02 / 32:32 ~ 1.63. So for 1 doubling the exponent is log2[1.63]/6, and the empirical 100*log[t] becomes 100*log[1.1175] ~ 11 Elo points. If I didn't mess up a log[2] somewhere.

EDIT:
I did mess up something. The correct is 1.63^(1/6) ~ 1.0848 speed-up for _one_ doubling of hash size, so the empirical formula needs 100*log[1.0848] ~ 8 Elo points.
So, a correction, ~8.5% speed-up for doubling the hash size when it is well saturated, empirically meaning ~8 Elo points at intermediate time controls.