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

@@ -408,7 +408,7 @@ const string Position::pretty(Move move) const {
ss << square_to_string(pop_lsb(&b)) << " ";
ss << "\nLegal moves: ";
for (MoveList<LEGAL> it(*this); !it.end(); ++it)
for (MoveList<LEGAL> it(*this); *it; ++it)
ss << move_to_san(*const_cast<Position*>(this), *it) << " ";
return ss.str();