jarkkop wrote:crafty has started to use c++ features in variable declarations?
iterate.c
if (iteration_depth > 3) {
time_used = ReadClock() - start_time; int time_left = time_limit - time_used; int prev_ply = ReadClock() - prev_time;
Aha. That is something Jason changed. Peter Skinner was having problems compiling, probably with a compiler that didn't appreciate this. I will change it and re-copy the source so that no one will have difficulty...
Crafty v22.8 (1 cpus)
White(1): bench
Running benchmark. . .
......
Total nodes: 111671982
Raw nodes per second: 2147538
Total elapsed time: 52.21
Crafty v22.9 (1 cpus)
White(1): bench
Running benchmark. . .
......
Total nodes: 114972412
Raw nodes per second: 2169290
Total elapsed time: 53.16
Perhaps Bob Hyatt can quantify the improvement more accurately.
It is very small and is mainly an issue of cache usage. HashProbe() now has a 2x loop rather than two separate blocks of probe code. Same thing happens a couple of places in the "NextMove/NextEvasion" etc procedures...
It is not a big improvement, but it is measurable.
Playing Crafty 22.9 in an engine tournament with a - 40m/40' -repeating- time setup, in either of Arena 1.1 or 2.0.1, Crafty "thinks" for long periods after the 1st 40 moves and eventauly runs out of time. Anyone seen the same?