Microptimize MoveList loop

Add MOVE_NONE at the tail, this allows to loop
across MoveList checking for *it != MOVE_NONE,
and because *it is used imediately after compiler
is able to reuse it.

With this small patch perft speed increased of 3%

And it is also a semplification !

No functional change.
This commit is contained in:
Marco Costalba
2013-05-19 22:00:49 +02:00
parent 38cfbeeb50
commit d3608c4e79
6 changed files with 6 additions and 7 deletions

View File

@@ -89,7 +89,7 @@ Move move_from_uci(const Position& pos, string& str) {
if (str.length() == 5) // Junior could send promotion piece in uppercase
str[4] = char(tolower(str[4]));
for (MoveList<LEGAL> it(pos); !it.end(); ++it)
for (MoveList<LEGAL> it(pos); *it; ++it)
if (str == move_to_uci(*it, pos.is_chess960()))
return *it;