Search found 1054 matches

by Joost Buijs
Fri Mar 08, 2013 9:09 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Transposition table usage in quiescent search?
Replies: 68
Views: 12931

Re: Transposition table usage in quiescent search?

What makes it unnatural, IMO, is that removing wasteful MakeMove() UnMake() pairs would decrease your NPS, while it is obviously beneficial speedwise. Besides, MakeMove() does not seem to be a uniquely defined concept. For me, MakeMove() does just that: making the move on the internal board. Updati...
by Joost Buijs
Fri Mar 08, 2013 7:16 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Transposition table usage in quiescent search?
Replies: 68
Views: 12931

Re: Transposition table usage in quiescent search?

Crafty counts nodes like everyone else. Each "MakeMove()" produces a new position (node). The q-search is pretty fast. It's been around since 1994 and has been modified many times to improve speed. Not all programs work the same, and counting nodes like this would not cause the same count for the s...
by Joost Buijs
Fri Mar 08, 2013 7:03 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Transposition table usage in quiescent search?
Replies: 68
Views: 12931

Re: Transposition table usage in quiescent search?

A q-search entry in the hash table cannot generally be used to cause a cutoff in the non-qsearch part of the tree, because it has searched only a restricted subset of moves and so the score there is not valid in a part of the search that is not so restricted. Normally this is handled by giving q-se...
by Joost Buijs
Thu Mar 07, 2013 3:34 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: C vs ASM
Replies: 93
Views: 21733

Re: C vs ASM

I thought the C standard for aligning char was on 1-byte boundaries? I am pretty sure it must be, as in Fairy-Max my hash entry is defined as struct _ { int signature, score; char from, to, depth, flags; } *hashTable; and I know from the memory footprint that this measures 12 bytes. As it...
by Joost Buijs
Thu Mar 07, 2013 1:54 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: C vs ASM
Replies: 93
Views: 21733

Re: C vs ASM

I thought the C standard for aligning char was on 1-byte boundaries? I am pretty sure it must be, as in Fairy-Max my hash entry is defined as struct _ { int signature, score; char from, to, depth, flags; } *hashTable; and I know from the memory footprint that this measures 12 bytes. It is...
by Joost Buijs
Thu Mar 07, 2013 1:27 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: C vs ASM
Replies: 93
Views: 21733

Re: C vs ASM

I thought the C standard for aligning char was on 1-byte boundaries? I am pretty sure it must be, as in Fairy-Max my hash entry is defined as struct _ { int signature, score; char from, to, depth, flags; } *hashTable; and I know from the memory footprint that this measures 12 bytes. Well,...
by Joost Buijs
Thu Mar 07, 2013 11:59 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Transposition table usage in quiescent search?
Replies: 68
Views: 12931

Re: Transposition table usage in quiescent search?

Well, 3 others have posted in this thread that it's a noticeable win for them. How much ELO did it cost Crafty? Probably the result depends on how expensive an engine's qsearch is. Mine's slow. I can't really tell whether my q-search is slow or not because I never compared it with other ones. I use...
by Joost Buijs
Thu Mar 07, 2013 11:05 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: C vs ASM
Replies: 93
Views: 21733

Re: C vs ASM

Like Evert already said you can use an anonymous union for it. For instance MSVC and Intel C++ allow you to do something like this: static union { #pragma pack(1) struct { char a1, a2, a3, a4, a5, a6, a7, a8; }; #pragma pack() __int64 an; }; an = 0; // this clears al...
by Joost Buijs
Thu Mar 07, 2013 10:33 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: C vs ASM
Replies: 93
Views: 21733

Re: C vs ASM

(*) Ed please don't take this as a personal attack. I write sucky code too, and so does everyone (then we fix it, programming is often an iterative process). And I would like to thank you for your efforts and time on this case study. I don't feel offended, instead I blame myself for (unconsciencely...
by Joost Buijs
Wed Mar 06, 2013 1:25 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: C vs ASM
Replies: 93
Views: 21733

Re: C vs ASM

Out of curiosity I also run this one through the Intel compiler. 32 bit: Free memory = 1758 Mb Allocated space for 175 Mb entries Creating 100000000 Zobrist keys Sorting now... Done in 11584 64 bit: Free memory = 3072 Mb Allocated space for 307 Mb entries Creating 100000000 Zobrist keys Sorting now....