Новая версия платформы MetaTrader 5 build 2755: Улучшения в окне котировок и отладчике - страница 26
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
4. Со всем уважением - внимательно читаю сообщения, особенно разработчиков. Знаю, почему переходите на новый профилировщик. Понимаю, что он ещё в разработке, и когда-то заработает в полной мере. Пока что я просил совета - что мне делать, чтобы получить хоть какой-то полезный результат от профилировщика в текущем состоянии. Ваше сообщение полно советов, но это, как я сейчас описал, не мой случай.
Тоже очень хочу научиться пользоваться новым. Возможно, мешают закостенелые привычки. Статью по профилировщику прочел. Но так и не смог разобраться, чтобы на 100% понимать. Допускаю, что это из-за еще неисправленных проблем. Наверное, когда будут устранены слабые места в профилировщике, можно будет с большей вероятностью разобраться в нем.
ЗЫ Новый термин "Code Coverage" взял на вооружение.
Я читал. Но речь не о счётчике попаданий в строки кода, не анализе текста кода. Польза от старого профилировщика была в пост-анализе времени выполнения каждого оператора и каждой функции, для поиска узких мест. И пусть он безбожно врал, но позволял найти эти места. Этот инструмент можно переименовать так, чтобы не вызывать сомнений у неопытных программистов, и включить как дополнительный инструмент. Можно даже при его использовании полностью отключать оптимизацию и инлайнинг. Но я уже понял, что нет.
Я читал. Но речь не о счётчике попаданий в строки кода, не анализе текста кода. Польза от старого профилировщика была в пост-анализе времени выполнения каждого оператора и каждой функции, для поиска узких мест. И пусть он безбожно врал, но позволял найти эти места. Этот инструмент можно переименовать так, чтобы не вызывать сомнений у неопытных программистов, и включить как дополнительный инструмент. Можно даже при его использовании полностью отключать оптимизацию и инлайнинг. Но я уже понял, что нет.
Вы только представьте себе степень вранья:
Для примера, строка кода короткой функции
Псевокод
И это для каждой строки исходного кода !
Старый профилировщик нельзя использовать - это была иллюзия
В целом спасибо за сообщения и обсуждения, это позволяет делать переоценку нашего кода и мы теперь знаем, что можно улучшить в новом профилировщике, чтобы поднять его качество.
1. Вам приходится читать много сообщений, поэтому вы не особо вчитываетесь к отдельные. Я же написал, что знаю и про контекстное меню, и про раскрывание строк. И, кстати, про длительность истории (21 год), количество трейдов (15К), время профилирования (почти 3 мин), что говорит о достаточном количестве данных для профилировщика.
2. Не синтетический тест, предназначенный показать баг (или свой игнор реальности), а реальный эксперт, над которым я работаю.
3. "Мизерный код" занимает после Release-компиляции с полной оптимизаций 690 Кб в ex5.
4. Со всем уважением - внимательно читаю сообщения, особенно разработчиков. Знаю, почему переходите на новый профилировщик. Понимаю, что он ещё в разработке, и когда-то заработает в полной мере. Пока что я просил совета - что мне делать, чтобы получить хоть какой-то полезный результат от профилировщика в текущем состоянии. Ваше сообщение полно советов, но это, как я сейчас описал, не мой случай.
5. Мой первый язык программирования был отнюдь не Бейсик, а ассемблер миниэвм Digital Equipment Corp PDP-11. А в 1984 я написал декомпилятор ROM для ZX 81 (предшественника Spectrum). А потом декомпилятор программ, драйвера устройств для советской персоналки ДВК. Для ГТС - определитель номера и голосовой робот. Для лингвистов - анализ речи, граф. звуковой редактор под Windows 1.0. После развала страны не писал код за деньги, и с возрастом сало в голове застывает, но полученный опыт позволяет адекватно оценивать реальность. Вот для этого последнего предложения, а не из гордыни, я и перечислил былые дела.
Вы забыли самое главное - доказательства с отчетами этих самых 690 кб кода.
Пока у вас только слова. Или вы утверждаете, что результат полноценного профилирования ваших 690 кб, это вот эта строка? Которая даже не раскрыта.
Нашел слабое место CopyTicks, которое прошу устранить.
Не представляю, как его можно было бы обнаружить при помощи Профилировщика. Прошу подсказать правильный подход на этом примере лага.
Насколько существенное ускорение можно получить, если вместо вызова функции из #import ex5 сделать #include исходного mqh?
Будет зависеть от вызываемой функции:
Я рекомендую воздержаться от использования модулей, мы планируем изменение в их работе, теоретически могут возникнуть проблемы в совместимости версий.
Нашел слабое место CopyTicks, которое прошу устранить.
Еще одно.
https://www.mql5.com/ru/forum/342090/page81#comment_20534660
Вы забыли самое главное - доказательства с отчетами этих самых 690 кб кода.
Пока у вас только слова. Или вы утверждаете, что результат полноценного профилирования ваших 690 кб, это вот эта строка? Которая даже не раскрыта.
Какие доказательства? Логи? Скриншот - это результат честного и долгого профилирования большого советника (690 Кб - это не размер кода, а размер ex5; хотя и код примерно такого же объёма).
Да, результат - эта одна строка. Она не раскрывается (а должна?) ни кликом, ни из контекстного меню ("Развернуть всё"). И переключение режима просмотра ничего не меняет. И эта функция (одна из сотен) очень быстро выполняется при инициализации эксперта, который сам занимает почти 3 минуты профилирования. И показанные на ней 19% очень странны.
Этот результат стабильно повторился раз 10, на разных билдах (последних). В начале моих попыток там была одна, но другая функция. Которая НИ РАЗУ НЕ ВЫЗЫВАЛАСЬ. Я закомментировал её тело и вызов, и теперь так.
Если так только у меня - я не могу дать код, да и смысла нет. В другом окружении всё будет по-другому. Я вижу, что баги с новым отладчикам нестабильны и трудноуловимы, возможно зависят от окружения.
2772 - те же ошибки в дебаггере - Could not evaluate expression (на этот раз кроме input-переменных), остановка где угодно или глухое зависание при пошаговом выполнении (в т.ч. на пустых строках).
Опять вернулся к 2761.