Файлы выложены в исходной теме на www.MQL5.com: Тестирование нового компилятора MQL5 для x64 платформ - ускорение расчетов от 2 до 10 раз!
Вот еще предыдущие тесты и обсуждения:
Файлы выложены в исходной теме на www.MQL5.com: Тестирование нового компилятора MQL5 для x64 платформ - ускорение расчетов от 2 до 10 раз!
Это конечно хорошая новость. Но и раньше компилятор MT4 был не намного медленнее компилятора Lattice C (ну тот, который все называют MS VS). А в паре случаев лично у меня он работал быстрее VS, что даже слегка озадачивало.
И тут есть ещё один (пару) важный вопрос:
1). При распределении памяти для массивов - как именно делает это компилятор MT4-MT5 - то есть правильно ли он их выделяет и выравнивает - как положено для ускорения операций SSE2 ?
2). Если он их выравнивает как положено для SSE2 - ВСЕГДА ли он так делает? И для массивов каких типов?
Для MT4-MT5 вроде как заявлена поддержка ускорения SSE2. Значит ВНУТРИ всё (все массивы для расчётов) выравнивается? Или не все?
3). Это очень важно для интерфесов с DLL. Разница в том, что если не выравнивается, то это снижает скорость работы DLL (до 40% и более), а иногда может приводить и к неожиданным зависаниям DLL, если DLL была скомпилирована для использования SSE2.
Поэтому ещё вопрос - будет ли текущее состояние выравнивания массивов (разных типов) сохраняться в будущем?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как мы и обещали ранее, выпускаем новый MQL5 компилятор, оптимизированный для 64 битной версии MetaTrader 5.
Мы сохранили полную совместимость генерируемого кода как для 32 битных версий терминала, так и для старых версий терминалов.
Уже сейчас на нашем демо сервере MetaQuotes-Demo можно обновиться до MetaTrader 5 build 1108, у которого доступен новый функционал. Чтобы включить режим нового оптимизирующего компилятора, надо прописать в metaeditor.ini в раздел [Experts] ключ Optimize=1:
Для тестирования производительности компиляторов MQL4, MQL5 и C++ использовались стандартные тесты компиляторов. Все исходные файлы приложены вместе с Excel таблицей результатов, так что каждый может перепроверить сам.
А пока посмотрим на результаты тестов в следующей среде:
Чтобы увидеть детальный график, кликните по нему, пожалуйста.
Какие выводы:
MQL5 быстрее MQL4 от десятков процентов до нескольких раз. Причина проигрыша в среде исполнения и 32 битах. У MetaTrader 5 гораздо более эффективная и постоянно развиваемая среда исполнения.
Разработка нового компилятора заняла очень много времени, но выигрыш оказался потрясающим. Есть вопросы к оптимизации строковых операций, но постараемся и их ускорить.
Мы еще не активировали все методы оптимизаций, так как пока занимаемся тестированием. Поэтому результаты еще улучшатся.
Что это дает трейдерам?
Возможность за то же самое время проводить больше расчетов и меньше задумываться о переходе на DLL. Особенно это важно для тех, кто занимается тяжелой математикой.