По следам всех моих экспериментов могу сказать, что современные процессоры весьма нетривиально откликаются на все изменения. :) Например, убираешь...
Ну если вопрос в соревновании с WildCat, то я сбросил еще пару секунд. Теперь должно быть быстрее Кошки. :) [изменение 14.48 -> 12.41 ]...
Уже похоже. :) У меня хранится и возможность убрать шах и возможность получить шах, отдельно, и собственно направление линии. А начинал тоже с...
Остается вам померить скорость без валидации у себя, и сравнить данные с моими. Тогда будет понятно насколько эффективная валидация получилась у...
Возможной мой код не совсем разборчив, и неправильно понят, Моя идея заключается не в оптимизации функции IsUnderCheck() , а в том чтоб ее вообще...
Разницы - не заметил, все в пределах погрешности. Хотя в коде видел копирование порциями по 8байт [quad word] через mmx регистер.
Не рекомендую совмещать. Тут дело как раз в мелочах, при частичной реализации, эффект получается гораздо хуже. Например, известно что ход с края...
Ты перебираешь лучи, для клетки, У меня же для каждого хода, в большинстве случаев, рассматривается только 1 луч. Это несколько разные вещи.
Что касается моей оптимизации, то заключается она в том, чтоб не проверять заведомо валидные или заведомо не валидные ходы. если оригинал...
Яндекса, блин, не дождешься http://dev.enterra-inc.com/perft/performance_s_nosse2.exe (без SSE2)
Напиши мне на ksharenkov собака yandex точка ру. Чтоб не засорять форум. А модератор пусть потом почистит нашу эпопею с экзешником.
Слинковал Runtime статически http://dev.enterra-inc.com/perft/performance_s.exe 155К Кстати cтала быстрее на пол секунды!!! Запускай несколько...
Кстати нашел в одном месте полезные данные для проверки генерации, мне - очень пригодились Perft tests: Initial position:...
http://dev.enterra-inc.com/perft/performance.exe (40K) На твоем компе думаю можно ожидать в районе 40с. Сначала выдает perft без валидации,...
Чтоб оценить эффекивность валидации ходов по шаху. (свой король после хода под шахом) убрал эту проверку в конце make_move, а именно вот этот...
Юрий, А у вас BitBoard или MailSlot движок ?
Вторая серия. Не выдержал, придумал как еще оптимизировать валидацию. :) В Результате неплохое ускорение Все ходы perft(6): 11.19c Валидные ходы:...
Согласен. Именно по этому их и оставил. Я просто хотел указать на ошибочность вот этого высказывания...
В этом сучае мы отбросим неправильный ход на шаг позднее. Увеличим дерево и добавим в дополнительные проверки в поиск. Я не уверен, но чутьё...
Такие идеи работают до тех пор пока размер данных и кода не превысит размер кэша процессора. Можно пробовать, но по моему это уже фанатизм :)...