Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Единственно смущает второй слип. Остальное все в силе.
По всей видимости, профилировщик не годится для целей ускорить куски кода, выполняющиеся быстрее нескольких миллисекунд.
Советник 30 мс находится в слипе, а профилировщик показыает, что аж 13% он находился в функции, где три сложения и два умножения!
А вот, что показывает b2593.
Там ноль! Потому что, действительно, там ноль. Более того, по второму отчету все предельно очевидно.
Давайте разбираться, чтобы улучшить, а не ругаться.
профилировщик показыает, что аж 13% он находился в функции, где три сложения и два умножения!
Вот и думал, по какой причине боевой советник, полный проход которого в OnTick занимает в среднем 3 мс (там полно расчетов и работы с торговым окружением) при профилировании якобы 60% находится в "три сложения и два умножения". Пришел вот к таким лаконичным примерам.
Хочу воспользоваться старым профилировщиком в MT5, но тут такие пляски с билдами приходится творить. До сих пор не удалось запустить.
Прошу помочь с интерпретацией данных профайлера на простом примере.
Все выглядит, как лютый бред.
Очень стараюсь въехать, не выходит пока.
ЗЫ Пробовал замену Sleep.
Все также непонятные значения профайлера.
Что в отчёте по вызовам?
Впечатление, что приведённый код не соответствует отчёту на скриншоте.
Точно не правили код, пока работал профилировщик ?
Что в отчёте по вызовам?
Впечатление, что приведённый код не соответствует отчёту на скриншоте.
Точно не правили код, пока работал профилировщик ?
Не правил.
Прошу помощи в расшифровке результатов профилировщика.
Прошу помощи в расшифровке результатов профилировщика.
Что не понятно?
Я обычно сортирую по Total CPU, и смотрю, что больше всего тормозит программу в целом. Бывает полезно.
У себя с 5700 ордерами в истории при первом запуске получил почти пустой отчет, а потом вот такое:
Больше всего съедают HistoryDealGetInteger (все вызовы заняли 36%) и HistorySelect (27%). Потом идет HistoryOrderGetInteger (18%) и глобал_инициализация (9%).
Оставшиеся 10% ушли на остальной код.
Но на таком быстром одиночном выполнении на результаты смотреть смысла нет, имхо.
Что не понятно?
Проблема с интерпретацией. Нет понимания, что, где и как подтормаживает.
Я обычно сортирую по Total CPU, и смотрю, что больше всего тормозит программу в целом. Бывает полезно.
У себя с 5700 ордерами в истории при первом запуске получил почти пустой отчет, а потом вот такое:
Больше всего съедают HistoryDealGetInteger (все вызовы заняли 36%) и HistorySelect (27%). Потом идет HistoryOrderGetInteger (18%) и глобал_инициализация (9%).
Оставшиеся 10% ушли на остальной код.
Спасибо за развернутый ответ. Только не понял, почему 45%-строки и остальные не стали брать в расчет?
Но на таком быстром одиночном выполнении на результаты смотреть смысла нет, имхо.
Добавил 20-ти кратное повторение на большой истории.
29.41% (непонятно от чего) приходится на закрывающую метод скобку уже после return. Сложно интерпретировать.