Как эффективно проверять ограничения времени поиска в шахматном движке C++ UCI?C++

Программы на C++. Форум разработчиков
Anonymous
Как эффективно проверять ограничения времени поиска в шахматном движке C++ UCI?

Сообщение Anonymous »

Я пишу шахматный движок на C++, который взаимодействует через протокол UCI, и мне нужен эффективный способ проверить, превышено ли выделенное время поиска, без дополнительных затрат. Поиск выполняется в выделенном потоке, и моя первоначальная идея заключалась в том, чтобы создать отдельный поток синхронизации, который периодически проверяет часы и устанавливает атомарный флаг searchStopRequested, но я обеспокоен тем, что это может быть не самый эффективный подход, поскольку у меня уже есть два потока (один для связи UCI и один для поиска). Как лучше всего обрабатывать проверки времени в шахматном движке UCI, чтобы минимизировать влияние на производительность?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ess-engine

Вернуться в «C++»