Особенности языка mql5, тонкости и приёмы работы - страница 276
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Немного более оптимизированная версия:
Результаты:
Немного более оптимизированная версия:
Результаты:
Немного более оптимизированная версия:
Ого! Первая версия, стабильно лучшая на всех процессорах (x86/AVX/AVX2).
Только наверное надо сделать скрипт для тестирования на правильность всех алгоритмов. Это просто, ИМХО. В цикле по датам сравнивать все результаты расчётов со встроенной функцией.
Отличный Доминик, вы смогли побить рекорд в 5 наносекунд в этом видео https://youtu.be/0s9F4QWAl-E?si=ZzdFCrFtU8Ean2NJ&t=590
Немного более оптимизированная версия:
Результаты:
AVX2 медленнее, чем X64? Странно.
Вот это да! Первая версия, неизменно лучшая на всех процессорах (x86/AVX/AVX2).
Просто, наверное, стоит сделать скрипт для проверки корректности всех алгоритмов. Это просто, ИМХО. В цикле даты сравниваем все результаты вычислений со встроенной функцией.
BTW, процессоры AMD все еще поддерживают AVX512...
Мой AMD Ryzen 3 PRO 3200GE - нет. Мне кажется, его поддерживают серверные процессоры, но я не интересовался.
AMD Ryzen 3 PRO 3200GE
Немного более оптимизированная версия:
Результаты:
Я давно заметил, что с компилятором MQL при выполнении бенчмарков происходит что-то странное,
Если количество сравниваемых функций превышает определенный предел ?!, то вы не получаете правильных результатов (т.е. функции в конце mq5-файла получают лучшие результаты с наименьшим временем выполнения, а верхние функции - плохие результаты). Такое уже случалось со мной, поэтому лучше ограничить сравниваемые функции до 3/4 максимума. Если у кого-то есть объяснение этому странному явлению, пожалуйста, просветите меня.
Это произошло и здесь, когда версия Доминика была добавлена в файл скрипта бенчмарка.
Чтобы получить более наглядное представление, я просто сохранил в исходном коде только две функции, и вот мои результаты в сравнении:
Одинаковая производительность, и обеим удалось опуститься ниже 5 наносекунд.