Компиляция MQL5 программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с 3902 билда
Можно получить какие-нибудь пояснения/комментарии от разработчиков по работе MT5 на процессорах с "энергоэффективными" ядрами?
Народ обычно интересуется работой тестера, но мне интереснее просто работа MT5 с большим количеством запущенных советников (и "мультисоветников" - много независимых в одном).
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Stanislav Korotky, 2023.08.26 21:09
все это - гадание на кофейной гуще. По-хорошему, MQ должны были бы предоставить свой собственный бенчмарк (программу а-ля PCMark, CineBench, Geekbench и пр.) - типа MetaTraderBench. Снялись бы вопросы по производительности CPU/GPU, графики, работы с диском и т.д. именно в прикладных задачах. Проще было бы подбирать конфигурацию ПК под MT.Нет бенча, к сожалению.
позволяют генерировать более эффективный и быстрый код.
Можно получить какие-нибудь пояснения/комментарии от разработчиков по работе MT5 на процессорах с "энергоэффективными" ядрами?
Народ обычно интересуется работой тестера, но мне интереснее просто работа MT5 с большим количеством запущенных советников (и "мультисоветников" - много независимых в одном).
Наши тесты показали:
- Переход от компилятора MSVC к Clang/LLVM дает общий прирост до 25% - именно такой чудовищный рост, Google про сборку Chrome аналогичное заявлял
Поэтому MetaTrader 5 давно собирается на Clang. - Применение AVX в платформе дает серьезный прирост, без указания процентов
Поэтому мы имеем два набора клиентских терминалов: устаревшая NoAVX версия на MSVC для старых процессоров и AVX на Clang для современных.
Инсталлер автоматически автоматически определяют, какую версию ставить. Лайвапдейт тоже. - Последние наши исследования показывают, что AVX2 + FMA3 дают улучшение по сравнению с AVX
FMA3 помогает в векторной математике, что должно хорошо сработать для нашего класса задач.
Скоро мы выпустим третий сет программ с AVX2. При очередном обновлении терминал сам прозрачно выберет новую версию.
Работа с P/E ядрами полностью зависит от Windows Scheduler и даже Intel Thread Director (расширение диспетчера потоков) не до конца эффективно распределяет задачи по важности. Там есть разные пограничные кейсы, где диспетчер неэффективен или сомнителен.
Попытки использовать affinity mask в общем случае только делают хуже. Тем более, когда приложение на виртуалке крутится.
Гвоздями прибивать affinity mask можно только в особых случаях жесткой оптимизации конкретного приложения.
Общие рекомендации по процессорам просты: больше ядер, больше частота, больше объема кешей L1/L2, достаточно скоростной оперативки и NVME диски.
Сейчас потребительские процессоры уверенно взяли порог в 5 гигагерц . Например, Ryzen 7950X за 600 долларов с 32 потоками легко работает при полной нагрузке с частотой 4.5 - 5.0 гигагерц на каждом ядре и выдает потрясающие результаты.
Renat Fatkhullin #:
Инсталлер автоматически автоматически определяют, какую версию ставить. Лайвапдейт тоже.
Обновляю все терминалы через копирование трех exe-файлов (терминал, тестер, редактор). Предыдущие версии люди хранят в том же виде - три эти файла.
Сейчас утверждаете, что они могут быть разными у одного и того же билда. И, соответственно, иметь различную производительность.
Форум по трейдингу, автоматизированным торговым системам и тестированию торговых стратегий
Как начать работу с МТ5, краткое содержание!
Фернандо Каррейро , 01.09.2023 12:43
Как это повлияет на продукцию Market в будущем?
Я предполагаю, что процесс проверки потребует, чтобы продукт был скомпилирован без него, чтобы обеспечить наименьший общий знаменатель.
Обновляю все терминалы через копирование трех exe-файлов (терминал, тестер, редактор). Предыдущие версии люди хранят в том же виде - три эти файла.
Сейчас утверждаете, что они могут быть разными у одного и того же билда. И, соответственно, иметь различную производительность.
Именно - смотрите наличие AVX в баннере описания компьютера при старте терминала.
Рекомендуем не блокировать обновления, так как скоро терминалы будут останавливаться с выдачей предупреждения на старте после обнаружения блокировок.
Разнообразные фермы постоянно попадают в баны из-за:
- блокируют обновления и при постоянных перезапусках выкачивают сотни гигабайт обновлений, нагружая нашу инфраструктуру
- стирают все кеши на старте терминала и создают нагрузку на серверы брокеров
- перезапускают терминалы во всяких докерах/контейнерах/итд с голым окружением десятками тысяч раз в сутки
Вместо жалоб им нужно включать голову и думать о тех, кто их обслуживает. "У меня 5 гб диск и я экономлю, а траф для меня бесплатный" мало кого волнует, если это приводит к расходу ресурсов поставщика технологий или брокера.
Вы торгуете на билдах с багами? По-моему, далеки от практики алготрейдинга.
Так не обновляйтесь на беты в проде.
Релизы выходят каждые 3 месяца. А те злостные фермеры, кто не обновляются, сидят на устаревших версиях по году и больше - им никакой трейдинг не важен. У них чисто утилитарный подход "я свою задачу сделал, на остальных мне плевать".
Я специально пишу о злостных случаях, так как их владельцы безусловно читают этот форум - мои объяснения для них.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В очередной бете мы выпустили возможность компиляции MQL5 программ с применением расширенного набора инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3.
Они позволяют генерировать более эффективный и быстрый код.
Настраивать можно как общие настройки для одиночных программ, так и персональные для проектов:
Просим присоединиться к тестирования, скачав бета-версию с сервера MetaQuotes-Demo или обновиться через раздел меню "Справка".