Ошибки, баги, вопросы - страница 3360
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пример из жизни MQL5 EA.
да, для массива пример рабочий
в любом цикле всегда минимум одна проверка
Вот самый короткий способ полного перебора типа uchar:
Работает, спасибо.
да, для массива пример рабочий
Там несколько тоньше.
Перебор всех сделок.
Кстати классный вариант для перебора значений всего ненулевого массива. Возможно - лучший по производительности(не уверен)
Спасибо, взял на заметку.
Возможно - лучший по производительности(не уверен)
Помнится производительность рекурсии, как цикла, была очень удивительна.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Индикаторы: MaFromMa
Ilyas, 2019.04.04 14:59
Да, тут есть над чем поработать
Представленная рекурсия вырождается в цикл, который очень похож на сравниваемый, только оптимизируется он лучше.
Буду разбираться в возникшей разнице.
Для скорости (более лучших оптимизаций компилятором) работы программы в циклах, старайтесь избегать использования (адресации к) глобальных переменных и членов объектов.
Попробуйте в приведённом примере использовать локальную sum1 вместо глобальной
Это нормальное поведение с целочисленными типами и называется оно переполнение. У uchar 255+1 = 0; 0-1 = 255.
Помнится производительность рекурсии, как цикла, была очень удивительна.
С рекурсией, действительно, тогда было удивительное. Что касается массивов через unsigned-индексы, то там будет странно увидеть разность в скорости.
С рекурсией, действительно, тогда было удивительное. Что касается массивов через unsigned-индексы, то там будет странно увидеть разность в скорости.
Надо проверить ради интереса. Хотя, согласен - маловероятно
проверил. Результаты неожиданные для меня. Вариант с bool() работает на ~75%(!!!) медленнее. Видимо преобразование типов (даже bool) весьма затратная штука. Помнится, об этом несколько раз говорил Ренат.
рекурсия с циклом while сейчас почти одинаковые и самые быстрые. Значит Ильяс починил.
цикл for на ~35% медленнее, чем while, и почти одинаков по производительности do while
Вывод: для максимальной производительности используйте цикл while!
Кстати классный вариант для перебора значений всего ненулевого массива. Возможно - лучший по производительности(не уверен)
Спасибо, взял на заметку.
Да, мне тоже очень понравился такой вариант.
Раньше я пользовался таким
Спасибо fxsaber, я тоже беру в пользование ваш вариант.