Меряемся производительностью perft

Тема в разделе "Машинное отделение", создана пользователем WildCat, 4 июл 2007.

  1. Chemer Максим

    • Участник
    Рег.:
    14.09.2006
    Сообщения:
    1.674
    Симпатии:
    13
    Репутация:
    0
    Адрес:
    Запорожье
    Оффлайн
    Я тоже надеюсь скоро включюсь.
  2. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Кот, а если я тебе исходники свои дам, скомпилишь своим компилятором?
  3. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Давай.
  4. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Вечером выложу.
    И не понятен такой факт. У меня по второму тесту цифры 41 и 37 (разница 4 секунды) а у тебя 18 - 13.6 (разница 4.4). Как такое может быть? По идее все цифры должны были пропорционально уменьшится, а у тебя разница даже возросла.
  5. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Процессоры ведь разные.
  6. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Пути работы современных процессоров неисповедимы, сыны мои! :)

    А если серьезно, то с их кэшами и распаралеливанием и предсказаниями ветвления не соскучишься.
    Вчера был случай, Добавил глобальный массив в программу, ни одно обращения к нему не было. Производительность упала на 2сек! (16%). Закомментировал, попробовал попереставлять разные глобальные массивы местами. производительность гуляет +- 0.5 сек
    Вот так то.
  7. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Я скоро включусь. Правда, по олимпийскому принципу - "главное участие" :)
  8. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    [c]
    ———————————————————————————————————————————————-
    | | Sempron 2295 | Проц 2 | Проц 3 |
    |——————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat | 8.42| 13.61| 72.53| 14.31| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    |ProstoTak| 12.17| 18.03|106.44| 26.30| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    |Shark | хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    |WinPooh | хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    ———————————————————————————————————————————————-
    [/c]
    Вот эту табличку и давайте заполнять потихоньку. :)
  9. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Кот, вот. http://www.extrabrain.kiev.ua/001/chess3.zip
    Там и исходник и экзешник. Интересно посмотреть сравнение моего экзешника с тем что ты скомпилируешь.
  10. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
  11. ChessTerminator75 Андрей

    • Участник
    Рег.:
    22.05.2007
    Сообщения:
    121
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Челябинск
    Оффлайн
    ProstoTak
    вставляй перед функциями хотя бы
    краткие комментарии о том что они делают :)
    и хорошо бы их как-нибудь друг от друга отделять
  12. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Может тебе и ключ дать... где деньги лежат? :D
  13. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Ну что ж, подправляю таблицу.
    [c]
    ———————————————————————————————————————————————-
    | | Sempron 2295 | Проц 2 | Проц 3 |
    |——————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat | 8.42| 13.61| 72.53| 14.31| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    |ProstoTak| 9.81| 14.75| 92.88| 21.22| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    |Shark | хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    |WinPooh | хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    ———————————————————————————————————————————————-
    [/c]
    Вот эту табличку и давайте заполнять потихоньку. :)
  14. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    так я не понял, у кого пис... перфт самый короткий?!
  15. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Пока только 2 генератора тестились, и Кот меня опережает по всем тестам. Смотри таблицу.
  16. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Признаюсь, есть у меня версия, которая 8.10 perft(6) считает на P4-3000 [WildCat =9.45] :)
    Но уж до ума все доведу и завтра, наверное, выложу с исходниками.
  17. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Нужно чтобы её Кот компильнул у себя и у себя же протестил, чтобы всё условия совпадали.
  18. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Делаю понемногу свою perft-считалку. Пока что в "псевдошахматах" (без проверки на шах и взятие короля) достиг скорости 8700 knps - у Простотаковской программы на моём компе чуть больше 9000, причём в легальном поиске. Работа продолжается.
  19. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Преодолел в "псевдошахматах" рубеж 10000 knps.
    Теперь буду добавлять проверку - производительность неизбежно просядет... Ну и ладно, главное что всё равно будет быстрее нынешней версии Греки чуть ли не в два раза.
  20. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Если напишешь оптимально, ниже 8000 knps не упадет.
    Надеюсь, все эти соревнования дадут дополнительный толчок к появлению Greko 6 и WildCat 8 :D
  21. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    А я вот подумываю на JavaScript полноценный движок написать. Как считаете какого рейта можно достичь таким движком при условии реального времени конечно, а не сутками над ходом думать?
  22. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Да, кстати, еще условие если кто надумает присоединится.
    Программа должна работать в 1 поток.
    Распаралеливать perf - нечестно :)
  23. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Кстати, WinPooh, ты приводил такие данные
    GreKo 5.3 Athlon X2 4400+ 2.21 GHz
    perft 6 - 27.03 sec, 4404 knps

    Я когда собрал под VS 2005 c моими настройками, вышло
    GreKo 5.3 Athlon X2 3800+ 2.00 GHz
    perft 6 - 17.7 sec

    Выигрыш (с учетом процессора) почти в 2 раза.
    Может тебе компилятор сменить :)
    Могу выложить собраный мной Greko

    Правда на P4-3000 не такие впечатляющее результаты
    GreKo 5.3 Pentium 4 3000Mhz
    perft 6 - 20.06 sec
  24. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Ну что ж, подправляю таблицу.
    Код:
    ———————————————————————————————————————————————-
    |         |      Sempron 2295         |          P4-3000          |           Проц 3          |
    |——————————————————————————————————————————————-|
    |         |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat  |  8.42| 13.61| 72.53| 14.31|  9.41| 17.11| 84.06| 17.31| хх.хх| хх.хх| хх.хх| хх.хх|
    |ProstoTak|  9.81| 14.75| 92.88| 21.22| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    |Shark    | хх.хх| хх.хх| хх.хх| хх.хх|  8.34| 15.79| 81.42| 18.34| хх.хх| хх.хх| хх.хх| хх.хх|
    |WinPooh  | хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх| хх.хх|
    ———————————————————————————————————————————————-
    Вот почему мой генератор последний тест слил поразбираюсь сегодня вечером :)
    все остальное, как и обещал, - завтра
  25. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Shark Так и мой же прогони на своём компе http://www.igorkorshunov.narod.ru/ProstoTak.rar
    [c]
    ———————————————————————————————————————————————-
    | | Sempron 2295 | P4-3000 | Проц 3 |
    |——————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat | 8.42| 13.61| 72.53| 14.31| 9.41| 17.11| 84.06| 17.31| —.—| —.—| —.—| —.—|
    |ProstoTak| 9.81| 14.75| 92.88| 21.22| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—|
    |Shark | —.—| —.—| —.—| —.—| 8.34| 15.79| 81.42| 18.34| —.—| —.—| —.—| —.—|
    |WinPooh | —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—|
    ———————————————————————————————————————————————-
    [/c]
  26. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Кот, компильни и протестируй вот это, плиз. http://www.extrabrain.kiev.ua/001/chess4.zip
    По идее я тебя обошёл в третьем тесте и улучшился в четвёртом.
  27. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Итак.

    Пришел вчера домой и протестировал последнюю версию свой программы. Как и ожидал, на более короткоконвеерном AMD Athlon X2 3800+ , результаты были гораздо хуже. Удалось обогнать WC только в первом тесте. Генератор мой, кстати, принципиально без списков фигур (сканом по доске).

    Поработал еще над программой, удалось улучшить результаты, Но в 4м тесте так и не победил Игоря, видимо в нем списки все таки рулят. Ну, соответственно, на P4 все стало еще лучше.

    Сделал тесты c выгрузкой из пямяти всех программ.
    Вот данные для обновления таблицы (У ProstoTak лучше получается обновлять таблицу :) )

    Код:
    P4-3000
         Sh     WC     PT
    1)  8.01   9.30  10.91
    2) 12.75  16.94  16.17
    3) 77.39  83.03  95.82
    4) 17.98  17.14  24.73
    
    Athlon X2 3800+ (справочно, не для таблицы)
         Sh     WC     PT
    1)  9.33   9.64  12.13
    2) 14.59  15.65  18.17
    3) 78.50  84.20 111.36
    4) 18.86  17.02  26.47
    ProstoTak, Как видишь, твой код тоже тяготеет к длинному конвееру.
    В качестве 3го процессора нам нужен Core 2 Duo

    Ну и, наконец, мои файлы
    http://dev.enterra-inc.com/perft/shark_perft.zip

    PS.
    Буду благодарен, если Игорь попробует мою программу Интелом скомпилировать.
  28. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    [c]
    ———————————————————————————————————————————————-
    | | Sempron 2295 | P4-3000 | Проц 3 |
    |——————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat | 8.42| 13.61| 72.53| 14.31| 9.30| 16.94| 83.03| 17.14| —.—| —.—| —.—| —.—|
    |ProstoTak| 9.81| 14.75| 92.88| 21.22| 10.91| 16.17| 95.82| 24.73| —.—| —.—| —.—| —.—|
    |Shark | —.—| —.—| —.—| —.—| 8.01| 12.75| 77.39| 17.98| —.—| —.—| —.—| —.—|
    |WinPooh | —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—| —.—|
    ———————————————————————————————————————————————-
    [/c]
  29. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
  30. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Я, пожалуй, пока возьму перерыв. Что-то нынешняя схема с проверками ходов слишком сильно тормозит мою программу, а под другую надо кое-что переделывать в структурах данных. И времени на это совершенно нет. Так что меня пока из таблицы уберите, может быть ближе к осени найду время для котоборства...
  31. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Я в шоке :rolleyes:

    Вот Эта программа http://home.hccnet.nl/h.g.muller/perft.c

    От известно автора micro-Max - считает perft
    т.е Как у нас, но не делает ходы последнего уровня.
    На P4-3000 ee результат потрясает!!!!
    1) 1.56
    2) 2.57
    3) 26.25
    4) 3.78

    Моя программа в таком режиме дает всего лишь
    1) 5.70
    2) 8.78
    3) 61.28
    4) 14.06

    Вот кто настоящий МАНЬЯК!!!
    Все учимся у него :D
  32. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Новые результаты.
    ProstoTak:
    9.58
    14.13
    81.91
    19.73

    Shark (VS2005 __cdecl):
    8.17
    12.31
    66.11
    14.80
  33. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Спасибо за компиляцию и тестирование, но дай мне мою версию откомпилированную интелом и весрию Шарка. Ты ведь и Шарка компилил?
    [c]
    ———————————————————————————————————————————————-
    | | Sempron 2295 | P4-3000 | Проц 3 |
    |——————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat | 8.42| 13.61| 72.53| 14.31| 9.30| 16.94| 83.03| 17.14| —.—| —.—| —.—| —.—|
    |ProstoTak| 9.58| 14.13| 81.91| 19.73| 10.91| 16.17| 95.82| 24.73| —.—| —.—| —.—| —.—|
    |Shark | 8.17| 12.31| 66.11| 14.80| 8.01| 12.75| 77.39| 17.98| —.—| —.—| —.—| —.—|
    ———————————————————————————————————————————————-
    [/c]
  34. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    У меня при такой схеме скорость возрастает на примерно 25-30%, собственно как и у тебя.
  35. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн

Поделиться этой страницей