Тестирование нового компилятора MQL5 для x64 платформ - ускорение расчетов от 2 до 10 раз! - страница 19
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Профилировщиком уже предлагали воспользоваться?
Вариант №2. Вынести каждую строку типа:
в отдельную функцию. Попробуйте поверить Ренату:)
Т.е. результат должен быть таким в итоге:
и т.д.Да, тут ссылка на советник.
Прошло двое суток - компиляция 7%...
Вот на этой тачке
Профилировщиком уже предлагали воспользоваться?
Нет не предлагали - что конкретно я должен в нем увидеть? Я им не очень то умею пользоваться.
Вариант №2. Вынести каждую строку типа:
в отдельную функцию. Попробуйте поверить Ренату:)
Т.е. результат должен быть таким в итоге:
и т.д.Там прирост значительный в скорости дает именно вариант с "case :" а не "if". Если даже сделать типа
То код увеличится ещё больше... но сравнить время компиляции и производительности можно, конечно...
Вот на этой тачке
Да тот код не большой, я не выкладывал код на 500 мегабайт - если надо, то могу...
Какие средства ещё предложите? Это самый быстрый вариант, что я пока придумал...
Оптимизировать логику. Например поработать с массивами и циклами. Попробовать значения критериев упаковать в массив. А проверки делать в цикле. Может тогда потребность в 74-х тысячах case'ов и отпадёт...
1. Нет не предлагали - что конкретно я должен в нем увидеть? Я им не очень то умею пользоваться.
2. Там прирост значительный в скорости дает именно вариант с "case :" а не "if". Если даже сделать типа
То код увеличится ещё больше... но сравнить время компиляции и производительности можно, конечно...
1. Вы там увидите самые "тормознутые" места в коде. Хотя... еще вопрос, влияет ли это на компиляцию...
2. Как хотите: можете через case. Вам же посоветовали разбить на мелкие функции. Разбейте и проверьте. Да, конечно, код еще больше увеличится. А что делать.
Я бы перебросил этот перебор, допустим, во внешний файл CSV, но тогда возникает другая проблема - трата времени на чтение файла, а кроме того при раздаче заданий агентам я не в состоянии каждому агенту отправить 500 мегабайт, в то время как код советника отправляется одному агенту (или нет?) и делится между ними.
И ещё вопрос, мой код легко сжимается 7zip с 500 до 15 мегабайт, но после компиляции файл будет в районе 500 - почему так - нет возможности при компиляции делать примитивное сжатие (хоть до 100 мегабайт)?
Файл сожмите зипом. Читайте зип, распаковывайте внутри. Будет быстрее, чем передавать 500 Мб советника (он тоже каждому агенту передается).
@Renat Fatkhullin, уточните пожалуйста, профилировщик может помочь выявить тонкие места при компиляции? Или использовать исключительно для проверки скорости работы кода в реальном времени?
Профилировщик не имеет отношения к компиляции.