Rybka node speed: the truth?

Discussion of chess software programming and technical issues.

Moderator: Ras

Jouni
Posts: 3655
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Rybka node speed: the truth?

Post by Jouni »

From Rybka forum (Lukas Cimiotti):

"Putting a (node) counter into the inner loop of a program costs performance. So it's better for speed to avoid this and count (much bigger) nodes in an outer loop. So this has nothing to do with obfuscating but with optimizing speed." :) :)

Jouni
rbarreira
Posts: 900
Joined: Tue Apr 27, 2010 3:48 pm

Re: Rybka node speed: the truth?

Post by rbarreira »

The next Rybka will print negative nodes/s, this will optimize it even more.
bhlangonijr
Posts: 482
Joined: Thu Oct 16, 2008 4:23 am
Location: Milky Way

Re: Rybka node speed: the truth?

Post by bhlangonijr »

rbarreira wrote:The next Rybka will print negative nodes/s, this will optimize it even more.
or... not print nodes at all?

Maybe displaying only the 'bestmove' is even better. :lol:
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Rybka node speed: the truth?

Post by bob »

Jouni wrote:From Rybka forum (Lukas Cimiotti):

"Putting a (node) counter into the inner loop of a program costs performance. So it's better for speed to avoid this and count (much bigger) nodes in an outer loop. So this has nothing to do with obfuscating but with optimizing speed." :) :)

Jouni
That is simply a crock. It is almost certain that a simple nodes++ will cost _zero_. That will get scheduled by the out-of-order-execution hardware and done at a time when the CPU is stalled anyway, so that the cost is exactly zero.

It has _everything_ to do with obfuscating, regardless of what they say... I've been about performance from day one yet I still count nodes correctly. Anyone can feel free to look in search.c and quiesce.c and remove the lines of code "tree->nodes_searched++;" and see what that does to speed. Then you get truth rather than crap.
Engin
Posts: 1001
Joined: Mon Jan 05, 2009 7:40 pm
Location: Germany
Full name: Engin Üstün

Re: Rybka node speed: the truth?

Post by Engin »

i am fully agree with bob, its not make much different or benefit some speed to not counting nodes.

may that rybka dont count quiesce nodes, to know how much nodes the main search really searching to improved that only.

or he will hide something to us because he dont want to tell us the real speed of rybka.
Mincho Georgiev
Posts: 454
Joined: Sat Apr 04, 2009 6:44 pm
Location: Bulgaria

Re: Rybka node speed: the truth?

Post by Mincho Georgiev »

The annoying thing about Rybka's node count business is that they always answered that question (I mean Vas and CO) the same way: Rybka counts differently. Well, why on Earth is secret what exactly Rybka counts, does it skips qnodes, does it count whole lines for one node or ...
So anyone with even a nibble of comprehension about computer chess would think that something is indeed a crap. Otherwise, we wouldn't ask ourselves that cyclic question for the last couple of years or so. But it's author's decision after all.
User avatar
JuLieN
Posts: 2949
Joined: Mon May 05, 2008 12:16 pm
Location: Bordeaux (France)
Full name: Julien Marcel

Re: Rybka node speed: the truth?

Post by JuLieN »

Do you guys count all the nodes in the tree your engine explore, or only the terminal leaves? My engine counts them all. Maybe Rybka only counts the evaluated terminal leaves? (so the counter might be in eval() instead of the search routines).
"The only good bug is a dead bug." (Don Dailey)
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
Dann Corbit
Posts: 12792
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Rybka node speed: the truth?

Post by Dann Corbit »

JuLieN wrote:Do you guys count all the nodes in the tree your engine explore, or only the terminal leaves? My engine counts them all. Maybe Rybka only counts the evaluated terminal leaves? (so the counter might be in eval() instead of the search routines).
Most people count all the nodes. Sometimes, people have slight differences of opinion as to what constitutes a node (e.g. a singlular reply may not be counted since no real analysis is needed -- junior does this IIRC). Sometimes, people do not count hashed nodes when there is a hash hit.

In the case of Rybka, the node count is apparently intended to be humorous, along with the depth.
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: Rybka node speed: the truth?

Post by CThinker »

But why does it matter if Rybka counts its nodes differently? Node counts only make sense for the program itself and cannot be compared with other programs.

The node count of Crafty cannot be compared with the node count of Stockfish.

The only comparison that makes sense is the node count of the same program on different machines. This gives an indication of the relative speed of machines. You can do this comparison with Rybka's node count on different machines.
Engin
Posts: 1001
Joined: Mon Jan 05, 2009 7:40 pm
Location: Germany
Full name: Engin Üstün

Re: Rybka node speed: the truth?

Post by Engin »

yes, that is clear and we know that, but if they said different it seems nothing to do with normaly computerchess, it is only like a fake node outputs or randomly calculations to hide something.