mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Revert "Use std::stable_sort() instead of std::sort()"
Unfortunatly std::stable_sort() implementation in gcc is horrendously slow. We have a big performance regression on Linux systems (-20% !) So revert the commit and wait to fix the issue in a different way, perhaps with an our home grown sorting, that should be comparable in speed with std::sort() Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
e2e249eabd
commit
d6b04c2798
3 changed files with 7 additions and 7 deletions
|
@ -62,7 +62,7 @@ struct MoveStack {
|
|||
int score;
|
||||
};
|
||||
|
||||
// Note that operator< is set up such that std::stable_sort() will sort in descending order
|
||||
// Note that operator< is set up such that std::sort() will sort in descending order
|
||||
inline bool operator<(const MoveStack& f, const MoveStack& s) { return s.score < f.score; }
|
||||
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ void MovePicker::go_next_phase() {
|
|||
case PH_GOOD_CAPTURES:
|
||||
lastMove = generate_captures(pos, moves);
|
||||
score_captures();
|
||||
std::stable_sort(moves, lastMove);
|
||||
std::sort(moves, lastMove);
|
||||
return;
|
||||
|
||||
case PH_KILLERS:
|
||||
|
@ -134,7 +134,7 @@ void MovePicker::go_next_phase() {
|
|||
case PH_NONCAPTURES:
|
||||
lastMove = generate_noncaptures(pos, moves);
|
||||
score_noncaptures();
|
||||
std::stable_sort(moves, lastMove);
|
||||
std::sort(moves, lastMove);
|
||||
return;
|
||||
|
||||
case PH_BAD_CAPTURES:
|
||||
|
@ -142,20 +142,20 @@ void MovePicker::go_next_phase() {
|
|||
// to get SEE move ordering.
|
||||
curMove = badCaptures;
|
||||
lastMove = lastBadCapture;
|
||||
std::stable_sort(badCaptures, lastMove);
|
||||
std::sort(badCaptures, lastMove);
|
||||
return;
|
||||
|
||||
case PH_EVASIONS:
|
||||
assert(pos.is_check());
|
||||
lastMove = generate_evasions(pos, moves, pinned);
|
||||
score_evasions();
|
||||
std::stable_sort(moves, lastMove);
|
||||
std::sort(moves, lastMove);
|
||||
return;
|
||||
|
||||
case PH_QCAPTURES:
|
||||
lastMove = generate_captures(pos, moves);
|
||||
score_captures();
|
||||
std::stable_sort(moves, lastMove);
|
||||
std::sort(moves, lastMove);
|
||||
return;
|
||||
|
||||
case PH_QCHECKS:
|
||||
|
|
|
@ -210,7 +210,7 @@ void print_uci_options() {
|
|||
for (Options::const_iterator it = options.begin(); it != options.end(); ++it)
|
||||
vec.push_back(it->second);
|
||||
|
||||
std::stable_sort(vec.begin(), vec.end());
|
||||
std::sort(vec.begin(), vec.end());
|
||||
|
||||
for (std::vector<Option>::const_iterator it = vec.begin(); it != vec.end(); ++it)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue