I compiled crafty 20.14 for win32 and win64 and i analyzed the starting position to check for the speed difference. The analysis I got from 32 and 64 is the same except for the node count:
I would like to know if I did something wrong. I compiled from the command line with /DNT_i386. Do I have to define any other symbol? I also made 32 and 64 bit linux compiles that gave the same nodes as the win32 executable so maybe its a compiler bug. I compiled with and without optimization and the result was the same for the win64.
I compiled crafty 20.14 for win32 and win64 and i analyzed the starting position to check for the speed difference. The analysis I got from 32 and 64 is the same except for the node count:
I would like to know if I did something wrong. I compiled from the command line with /DNT_i386. Do I have to define any other symbol? I also made 32 and 64 bit linux compiles that gave the same nodes as the win32 executable so maybe its a compiler bug. I compiled with and without optimization and the result was the same for the win64.
Thanks.
I have not seen that happen. So a couple of questions first:
I assume different machines? If so, can you verify that the .craftyrc file is identical on both? IE one doesn't have endgame tables, the other not? One doesn't have a larger or smaller hash table than the other?
Barring that, I would suspect the compiler since this is one of the first tests we always do, verifying node counts across platforms to make sure we didn't let one of those very-difficult-to-find bugs slip in that sometimes show up when the compiler rearranges stuff due to different platforms...
I only used a pentium 4 at 3.4 Ghz for the test. I forgot to say that I compiled with /DNT_i386 /DNOEGTB for windows and -DLINUX -DNOEGTB for linux. I didn't use a .craftyrc file.
Now I'm even more puzzled because i tried the same with an old version (20.6) and now the nodes are the same for win32 and win64 (and linux of course). So maybe it was some change between 20.6 and 20.14?
Pablo Vazquez wrote:I only used a pentium 4 at 3.4 Ghz for the test. I forgot to say that I compiled with /DNT_i386 /DNOEGTB for windows and -DLINUX -DNOEGTB for linux. I didn't use a .craftyrc file.
Now I'm even more puzzled because i tried the same with an old version (20.6) and now the nodes are the same for win32 and win64 (and linux of course). So maybe it was some change between 20.6 and 20.14?
It is always possible that 20.14 had a bug, the code is certainly large enough and complex enough...