Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У меня есть подозрение, что автор сего высказывания вообще не в курсе, как работает процессор, память и компилятор...
Помоему автор этого коммента на столько не внимателен, что не понял сути вопроса
Причем тут память и процессор, вопрос был про оптимизацию в MQL5, внимательнее читать надо
P.S. Почитайте на досуге занимательную книжечку " Техника развития внимания, Андреев О.А., 2007"
Причем тут память и процессор, вопрос был про оптимизацию в MQL5, внимательнее читать надо
То есть по вашему тот код не использует ни память, ни процессор? И я ответил на высказывание про компиляторы " Чтобы переплюнуть оптимизации современных компиляторов - это надо очень сильно постараться."
У меня есть подозрение, что автор сего высказывания вообще не в курсе, как работает процессор, память и компилятор... Готов поспорить, что любой ваш код можно ускорить минимум в десятки раз, а то и в сотни.
Так попробуйте для начала доказать это в отношении обсуждаемого кода. Более того, если верить результатам выше, которые привёл Игорь, то получается то всё наоборот. Объявление внутри цикла работает чуть быстрее.
Так что все эти пляски и шаманства в попытках переиграть компилятор в итоге выходят себе дороже. Компилятору становится сложнее оптимизировать код. Когда переменная объявлена за пределами блока, то она считается внешней, сохраняющей своё состояние между итерациями. А значит компилятор ограничен в возможностях её оптимизации. Чистый код всегда оптимизируется лучше, чем "грязный" (имеющий побочные эффекты), если вы знакомы с парадигмой функционального программирования.
Так попробуйте для начала доказать это в отношении обсуждаемого кода. Более того, если верить результатам выше, которые привёл Игорь, то получается то всё наоборот. Объявление внутри цикла работает чуть быстрее.
Так что все эти пляски и шаманства в попытках переиграть компилятор в итоге выходят себе дороже. Компилятору становится сложнее оптимизировать код. Когда переменная объявлена за пределами блока, то она считается внешней, сохраняющей своё состояние между итерациями. А значит компилятор ограничен в возможностях её оптимизации. Чистый код всегда оптимизируется лучше, чем "грязный" (имеющий побочные эффекты), если знакомы с парадигмой функционального программирования.
Почитайте на досуге все-таки предложенную мной книгу, думаю много нового узнаете про компиляторы.
Так попробуйте для начала доказать это в отношении обсуждаемого кода. Более того, если верить результатам выше, которые привёл Игорь, то получается то всё наоборот. Объявление внутри цикла работает чуть быстрее.
Так что все эти пляски и шаманства в попытках переиграть компилятор в итоге выходят себе дороже. Компилятору становится сложнее оптимизировать код. Когда переменная объявлена за пределами блока, то она считается внешней, сохраняющей своё состояние между итерациями. А значит компилятор ограничен в возможностях её оптимизации. Чистый код всегда оптимизируется лучше, чем "грязный" (имеющий побочные эффекты), если вы знакомы с парадигмой функционального программирования.
Мой тест показывает обратное, код с объявлением переменной за циклом работает быстрее
https://www.mql5.com/ru/forum/320307/page2#comment_12886814
Запускал много раз, результат стабилен, код с объявлением переменной за циклом, работает быстрее
Мой тест показывает обратное, код с объявлением переменной за циклом работает быстрее
Странно, а чуть ранее у человека получились обратные разультаты
Хватит уже флудить, матчасть сначала освойте, а потом уже доказывайте свою правоту. Вам результат был бы понятен без каких-либо тестов, если бы вы как минимум прочитали хоть одну книжку по работе процессора и памяти. Я вам предложил самую гениальную из них, если вы захотите немого продвинутся в программировании, то вы ее обязательно прочитаете.
Странно, а чуть ранее у человека получились обратные разультаты
Я уже говорил, что такой тест скорости на искуственном примере вообще не показателен. Разве недостаточно моих исследований под отладчиком? Мне нет доверия? Все проигнорили. Дело хозяйское, я выхожу.
Более того, если верить результатам выше, которые привёл Игорь, то получается то всё наоборот.
я сам себе не верю, всегда перепроверяю, думаю не стоит Вам мою самооценку поднимать... случаи в истории разные были, щас найду наполеонку и понеслась! ))))
Странно, а чуть ранее у человека получились обратные разультаты
не странно, нужно уметь тестировать простейшие операторы и операции в MQL - ну вот на кой я я добавил в свой тест srand(GetTickCount()) ?
;)