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

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

  1. TopicStarter Overlay

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

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

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Принципиально без спиков была прошлая версия.
    В этой списки практически как у Мюллера. И очень Похоже на FreeChess.
  3. TopicStarter Overlay

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Shark, скомпилируй Мюллера на VC++ 2005 c pgo.
    Мой интеловский компилятор совсем не годится для Мюллера.
  4. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    http://dev.enterra-inc.com/perft/muller_vspgo.zip
    На P4-3000 Выигрыш процентов 10
    Muller VS PGO: 3.70 5.61 28.52 5.97

    Интересно Как на твоем AMD?
  5. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Кстати я продолжаю пока совершенствоваться :)
    Пофиксил ужасное отставание по Intel процессорам. Теперь программа так же хорошо поддается PGO (40%)
    Хотя без PGO Она даже замедлилась!!

    просто переставил инструкции:
    Код:
    void doWhiteMove( Move move, HistoryMove& history )
    {
        bidx_t from = move.from();
        pidx_t figure = m_cells[from];
        m_cells[from] = PI_EMPTY;
    
        bidx_t to = move.to();
        m_positions[figure] = to;
    
        history.m_captured = m_cells[to];
        m_cells[to] = figure;
        m_positions[history.m_captured] = 0;
    
        history.m_state = m_state;
        m_prevMove = move;
    
    ...
    Оригинальную последовательность см Выше

    Принцип перестановки:
    Чтоб данные извлекались как можно позднее, только непосредственно перед использованием
  6. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    [c]
    ———————————————————————————————————————————————-
    | | Sempron 2295 | P4-3000 | Celeron - 950 |
    |——————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat | 7.50| 13.20| 72.42| 14.34| 7.50| 13.66| 74.88| 15.03| 21.48| 34.43|204.46| 40.22|
    |ProstoTak| 8.98| 11.66| 73.02| 17.14| 9.30| 13.65| 82.10| 20.65| 25.61| 35.92|197.68| 50.60|
    |Shark | 3.03| 4.48| 23.38| 4.80| 5.77| 8.95| 45.87| 8.56| 20.93| 32.78|175.39| 42.51|
    |Muller | 4.11| 6.23| 29.67| 6.44| 3.70| 5.61| 28.52| 5.97| 11.54| 17.75| 84.80| 18.41|
    ———————————————————————————————————————————————-
    [/c]
  7. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Bankuss, как там у тебя дела? Присоединяйся. Тем более твой Core 2 Duo нам был бы очень полезен для тестов.
  8. TopicStarter Overlay

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

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

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

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

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Вот выгуглил http://www.prism.gatech.edu/~gtg365v/Buzz/
  11. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    [c]
    ———————————————————————————————————————————————-
    | | Sempron 2295 | P4-3000 | Celeron - 950 |
    |——————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |——————————————————————————————————————————————-|
    |WildCat | 7.50| 13.20| 72.42| 14.34| 7.50| 13.66| 74.88| 15.03| 21.48| 34.43|204.46| 40.22|
    |ProstoTak| 8.98| 11.66| 73.02| 17.14| 9.30| 13.65| 82.10| 20.65| 25.61| 35.92|197.68| 50.60|
    |Shark | 3.03| 4.48| 23.38| 4.80| 5.77| 8.95| 45.87| 8.56| 20.93| 32.78|175.39| 42.51|
    |Muller | 3.59| 5.72| 27.94| 5.83| 3.70| 5.61| 28.52| 5.97| 11.54| 17.75| 84.80| 18.41|
    ———————————————————————————————————————————————-
    [/c]
  12. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    24.05.2006
    Сообщения:
    1.084
    Симпатии:
    38
    Репутация:
    6
    Оффлайн
    Shark медленно! :) я еще продумываю доску и всякие мелочи. и чуть чуть кодю.
    а насчет теста - кидайте exe на мыло - я вам резы кину. все 4 проги разом :)
  13. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    http://www.extrabrain.kiev.ua/001/pgo.zip
    Лучшие компиляции (pgo) на моём компе Целерон - 950

    wc 19.31 33.06 194.98 37.77
    pt 24.36 31.45 184.25 46.75
    sh 8.28 13.44 66.12 13.51
    ml 9.60 14.81 71.77 15.21
  14. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    24.05.2006
    Сообщения:
    1.084
    Симпатии:
    38
    Репутация:
    6
    Оффлайн
    Лучшие компиляции (pgo) на Core2Duo e6300 2.69 Ггц DDR2-800

    wc 4.00 6.88 43.91 8.41
    pt 5.89 6.67 41.02 10.31
    sh 2.06 3.15 17.25 3.65
    ml 2.22 3.61 17.55 3.72
  15. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Вoт пофиксенная версия моего генератора:
    http://dev.enterra-inc.com/perft/perft_last.zip
    Основные изменения
    - Пофиксена удручающая производительность на P4
    - Убрал использование C++ runtime (теперь все на <stdio.h> вместо <iostream>), Размер файла значительно уменьшился.
    - Прочие мелкие улучшения

    Shark P4-3000: 3.95 6.62 38.37 6.72

    На процессорах с коротким конвеером (P3, AMD, C2D) выигрыш, по моим прикидкам, может составить до 5% относительно вчерашней версии.

    Теперь буду ждать пока меня кто-нибудь обгонит. ;)
    А пока займусь оценочной функцией и альфа-бета.
  16. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    [c]
    —————————————————————————————————————————————————————————————-
    | | Sempron 2295 | P4-3000 | Celeron - 950 | Core2Duo - 2690 |
    |————————————————————————————————————————————————————————————-|
    | |Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|Тест 1|Тест 2|Тест 3|Тест 4|
    |————————————————————————————————————————————————————————————-|
    |WildCat | 7.50| 13.20| 72.42| 14.34| 7.50| 13.66| 74.88| 15.03| 19.31| 33.06|194.98| 37.77| 4.00| 6.88| 43.91| 8.41|
    |ProstoTak| 8.98| 11.66| 73.02| 17.14| 9.30| 13.65| 82.10| 20.65| 24.36| 31.45|184.25| 46.75| 5.89| 6.67| 41.02| 10.31|
    |Shark | 3.03| 4.48| 23.38| 4.80| 3.95| 6.62| 38.37| 6.72| 8.28| 13.44| 66.12| 13.51| 2.06| 3.15| 17.25| 3.65|
    |Muller | 3.59| 5.72| 27.94| 5.83| 3.70| 5.61| 28.52| 5.97| 11.54| 17.75| 84.80| 18.41| 2.22| 3.61| 17.55| 3.72|
    —————————————————————————————————————————————————————————————-
    [/c]
  17. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Так поудобнее будет, думаю.
    [c]
    | WC | PT | Sh | Mu |
    —————————————————————————————
    |Sempron |Тест 1| 7.50 | 8.98 | 3.03 | 3.59 |
    |2295Mhz |Тест 2| 13.20 | 11.66 | 4.48 | 5.72 |
    | |Тест 3| 72.42 | 73.02 | 23.38 | 27.94 |
    | |Тест 4| 14.34 | 17.14 | 4.80 | 5.83 |
    —————————————————————————————
    |Pentium 4 |Тест 1| 7.50 | 9.30 | 3.95 | 3.70 |
    |3000Mhz |Тест 2| 13.66 | 13.65 | 6.62 | 5.61 |
    | |Тест 3| 74.88 | 82.10 | 38.37 | 28.52 |
    | |Тест 4| 15.03 | 20.65 | 6.72 | 5.97 |
    —————————————————————————————
    |P3-Celeron |Тест 1| 19.31 | 24.36 | 8.28 | 11.54 |
    |950Mhz |Тест 2| 33.06 | 31.45 | 13.44 | 17.75 |
    | |Тест 3| 194.98 | 184.25 | 66.12 | 84.80 |
    | |Тест 4| 37.77 | 46.75 | 13.51 | 18.41 |
    —————————————————————————————
    |Core2Duo |Тест 1| 4.00 | 5.89 | 2.06 | 2.22 |
    |2690Mhz |Тест 2| 6.88 | 6.67 | 3.15 | 3.61 |
    | |Тест 3| 43.91 | 41.02 | 17.25 | 17.55 |
    | |Тест 4| 8.41 | 10.31 | 3.65 | 3.72 |
    —————————————————————————————
    [/c]
    Надеюсь нигде не ошибся, проверяйте
  18. TopicStarter Overlay

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

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

    Сорость около 40 млн поз в секунду! :cool:
  19. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    А общая скорость движка при этом на сколько выросла?
  20. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Таблицу обновлю завтра утром, вдуг еще результаты будут.
    Кстати наконец придумал название для будущего движка.
    Называться будет: Rush

    Кроме прямого значения, ассоциации
    RUssian SHark
    RUssiSH
    Rush Use Sharp Heuristics

    Ну или у кого какая фантазия. :)

    PS.
    Shark это всего лишь SHARenkov Konstantin
  21. TopicStarter Overlay

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

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

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Обьявляется конкурс на придумывание названия моему будущему движку. Если название понравится то может и движок сделаю :D
  23. ProstoTak Старожил

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Ну а ты то сам будешь новые достижения в своём движке использоать?
  24. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Ты что-ли поменял структуру хранения позиции и представление хода?
    А если нет - то кто мешает подставить новые генераторы в существующую программу?!
  25. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Ну не то чтоб совсем никакого. Превая версия, которую я написал в июне за 3 дня. Играла на 1350 пунктов :D [По ChessMaster 10]
    Новой пока нет, только генератор, первые результаты будут не раньше чем через неделю - полторы.
  26. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    NS, это результаты моего генератора.
  27. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Теперь понял.
  28. TopicStarter Overlay

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

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

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    А Мюллера копать не буш?
  30. TopicStarter Overlay

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

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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Переписываю Греку обратно на C++. Пробую сделать генератор по уму - избавляюсь понемногу от мэйлбоксовщины :) Выигрыш в скорости - уже в два раза, даже без особых оптимизаций.

    Правда, в ваши безумные скачки включусь вряд ли - до старины Мюллера мне всё равно очень далеко :)
  32. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Микромакс с такой жуткой скоростью играет всего на 2000.
    Так что старину Мюллера ты давно обогнал.
    Не туда он силы свои направил. :)
  33. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Повторяю еще раз. Мюллеровский MicroMax и его же Perft Это две абсолютно разные программы, ничего общего между собой не имеющие. Не надо считать что что одна запчать другой. У них разные цели.
    MicroMax - самый маленький движок
    Perft - Самый быстрый генератор ( был :) )

    Если бы Micromax перебирал со скоростью Perft У него рейтинг был бы не меньше 2400
    Направляет Мюллер свои силы куда надо.
    Он обычно пишет чтонибудь "Самое Самое ... в мире" :)
  34. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    То есть у Микромакса генератор в 50 раз медленней???
  35. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Точно не мерял, но он там занимает всего несколько символов. Раз в 20 точно медленнее
    Вот здесь все разжевано до символов
    http://home.hccnet.nl/h.g.muller/max-src2.html

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