MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 23

 
Lyuk:


Печалит только то что числодробилки за последние 15 лет ускорились всего примерно в 12 раз , я думал что современные процессоры пошустрее.

У меня старенький i7-3770K, лет семь ему уже. Современные процы пошустрее.

 
Roman:

У меня старенький i7-3770K, лет семь ему уже. Современные процы пошустрее.

Увы, Ваш 3770К легко гониться до 4,8 Ггц, вот если бы еще по древнее 2600К дак там вобще рай для разгона, все дело в стремление к уменьшению процессоров что приводит к проблемам при охлаждении. К примеру 6ххх вобще проблема разогнать. Вобщем  для пользователей характеристики сильно не изменились за исключением последних i9 которые стали больше походить на ксеоны. Преимущество ксеонов в энергоэфективности в отличии от процов под обычных потребителей. так что ваш 3770к вполне еще нормальный как для рядового пользователя

 
Есть тема про тесты процессоров, топикстартер хорошо собрал статистику.
Кому интересно, можете затестить свои процы.
Оцениваем ядра CPU для оптимизации
Оцениваем ядра CPU для оптимизации
  • 2019.08.09
  • www.mql5.com
Предлагаю собрать статистику по производительности разных процессоров с целью оценки их эффективности для работы тестера стратегий в режиме оптимиз...
 

Протестировал на виртуалке Windows7 32 бит с 2 ядрами от AMD FX.

На mql5 получилось 6 сек.

На Python в один поток получилось 2.5 сек

Это сильно быстрее , и даже быстрее чем у вас на I7 в один поток, что удивительно.

Видимо jit компилятор лучше работает для AMD, или AMD лучше для таких задач.

 
То есть Python с jit компилятором уделал  С (mql)  в  2 раза !, если его запустить на современном 8 ядерном процессоре - уделает в 8 раз просто потому что многопоточный.

Ну нормальный тест, разрешили питону забить на точное соответствие IEEE стандарту (fastmath=true), тогда и сишке нужно подсунуть -Ofast. А ещё есть OpenMP, распараллелить цикл им - [пара доп строк](https://www.ibm.com/developerworks/ru/library/au-aix-openmp-framework/index.html).

Любители абстракций... А если над питоном ещё надстройку? А там ещё одну? Компиляция в байт код виртуальной мишины виртуальной машины виртуальной машины.

 

К сожалению, считанное количество алгоритмов можно в параллельность разложить.

Приведенный пример расчета пи как раз для демонстрации такого синтетического теста. Аналогично делается с OpenMP в C++. И даже быстрее можно сделать в MQL5 с OpenCL.

 

В Visual Studio, обнаружил такой параметр параллельности для циклов.
Может в mql тоже такую директиву реализовать?
Или циклы в mql и так параллелятся по умолчанию ?

vs

 
Roman:

В Visual Studio, обнаружил такой параметр параллельности для циклов.
Может в mql тоже такую директиву реализовать?
Или циклы в mql и так параллелятся по умолчанию ?

Применение этого параметра в Visual Studio я так(как и все остальные) и не смог увидеть за последние 10 лет. Даже включив все флаги репортинга о развертках циклов.

Он по сути не работал и не работает даже на огромных проектах, где есть масса возможностей распараллелиться. Работает только прямой OpenMP с ручной разметкой циклов.

В MQL5 циклы не параллелятся.

 
Renat Fatkhullin:

К сожалению, считанное количество алгоритмов можно в параллельность разложить.

Приведенный пример расчета пи как раз для демонстрации такого синтетического теста. Аналогично делается с OpenMP в C++. И даже быстрее можно сделать в MQL5 с OpenCL.

В блоге выложил расчет, который великолепно параллелится. К сожалению, OpenCL-информация такого уровня, что требует значительно более высоких компетенций, чем у меня имеются.

Хотелось бы на простом примере (как в блоге) увидеть OpenCL-реализацию и результат ускорения.

 
fxsaber:

В блоге выложил расчет, который великолепно параллелится. К сожалению, OpenCL-информация такого уровня, что требует значительно более высоких компетенций, чем у меня имеются.

Хотелось бы на простом примере (как в блоге) увидеть OpenCL-реализацию и результат ускорения.

Не в тему OpCl, но в тему Python

Визуально подобные случаи тоже неплохо определяются (распределения приращений)

Обратите внимание на группу 0-6 часов (по GMT + 2)

Месяцы за 10 лет

Часы за 10 лет