На подходе профилировщик кода MQL5 - страница 4

 
Одна из важных задач профайлера - дать возможность нам провести более точную внутреннюю оптимизацию процессов внутри системы MQL5. Мы постараемся избавиться от узких мест.

Еще больше результатов мы получим после включения профайлера в одиночных проходах тестера торговых стратегий.
 
Renat:
Одна из важных задач профайлера - дать возможность нам провести более точную внутреннюю оптимизацию процессов внутри системы MQL5. Мы постараемся избавиться от узких мест.

Еще больше результатов мы получим после включения профайлера в одиночных проходах тестера торговых стратегий.
И дебагер к тестеру прикрутите.
 
Urain:
И дебагер к тестеру прикрутите.
Получается что в скором будущем и профилирощику и дебагеру появится необходимость запуска в тестере, а то в реалтайме долго ждать пока будет вызов функции, примером OrderSend..
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
Urain:
И дебагер к тестеру прикрутите.
Очень дельное пожелание!
 
sigma7i:
Получается что в скором будущем и профилирощику и дебагеру появится необходимость запуска в тестере, а то в реалтайме долго ждать пока будет вызов функции, примером OrderSend..

Профилировщик да,

а по дебагеру это только пожелание, MQ своё "ок" пока не давало.

 
papaklass:
 Теперь понятно почему появился профилировщик и почему в его файле отчета только функции MQL5. А про пользовательские функции Вы пошутили или со временем и их включите?

Приведите код в котором профилировщик игнорирует пользовательские функции.

может действительно баг, и вам скажут большое спасибо.

А то кроме вас этого никто не видит.

 
Urain:

А то кроме вас этого никто не видит.1

Он, похоже, троллит. Раз в упор не замечает пользовательских функций.

Для более детального контроля просто надо включить показ отчета по строкам, а не по функциям.

 
Renat:

Он, похоже, троллит. Раз в упор не замечает пользовательских функций.

Для более детального контроля просто надо включить показ отчета по строкам, а не по функциям.

Я думаю, что мнение о термине "пользовательские функции" расходятся. Вроде бы papaklass сказал, что он имел в виду свои функции, самописные типа void a(int b), по тому и назвал пользовательские, т.к. писал их сам пользователь.
 
papaklass:

А вот перечень некоторых пользовательских функций советника, который я профилировал более 10 часов:

Зрячие, покажите мне слепому ссылки на эти функции в отчете профилировщика.

То, что Вы называете функциями в своем примере, не являются таковыми для оптимизирующего компилятора.

Я не зря сразу написал:

Но учтите, что в MQL5 работает достаточно агрессивный инлайнер и большая часть мелких функций растворяется в вызывающем коде.

Компилятор не оставил ни одной вышеуказанной функции, так как они настолько малы, что их тела полностью включаются в места вызовов. Тем самым компилятор экономит достаточно дорогостоящую подготовку параметров вызова, сам вызов и последующее извлечение результатов.

Мы не стали для режима профилировки отключать режим оптимизатора, так как это бы сразу испортило результаты замеров. Наш профайлер замеряет чистый оптимизированный код.

 
Выберите из контекстного меню режим показа статистики по строкам. Именно в нем сможете лучше оценить затраты.
Причина обращения: