Тестирование нового компилятора MQL5 для x64 платформ - ускорение расчетов от 2 до 10 раз! - страница 18

 
Alexey Sarmin:

Вопрос: а сейчас (в последней версии) компилятор MT5 x64 по умолчанию компилирует с включенной оптимизацией? (Optimize=1)


Вроде да.

 

Как уменьшить время работы компилятора, пусть за счет снижен производительности итогового кода?

Мне нужно откомпилировать файл на 500 мегабайт - уже устал ждать...

 
Aleksey Vyazmikin:

Как уменьшить время работы компилятора, пусть за счет снижен производительности итогового кода?

Мне нужно откомпилировать файл на 500 мегабайт - уже устал ждать...

Вы, вроде, когда-то пример похожего кода приводили... можете еще раз это сделать?

 
Alexey Kozitsyn:

Вы, вроде, когда-то пример похожего кода приводили... можете еще раз это сделать?

Да, тут ссылка на советник.

Прошло двое суток - компиляция 7%...

 
Aleksey Vyazmikin:

Да, тут ссылка на советник.

Прошло двое суток - компиляция 7%...

Посмотрел файл... Просто какой-то case-армаггедон :-)

 
Denis Kirichenko:

Посмотрел файл... Просто какой-то case-армаггедон :-)

А что делать, нужно перебрать много разных комбинаций наборов переменных.

 
Aleksey Vyazmikin:

А что делать, нужно перебрать много разных комбинаций наборов переменных.

Цель благородная. Но зачем такими варварскими средствами? В стандартной поставке MetaEditor есть несколько юнит-тестов. Что-то я не видел там файлов по 35 Мб. У меня даже редактор завис :-))

 
Denis Kirichenko:

Цель благородная. Но зачем такими варварскими средствами? В стандартной поставке MetaEditor есть несколько юнит-тестов. Что-то я не видел там файлов по 35 Мб. У меня даже редактор завис :-))

Какие средства ещё предложите? Это самый быстрый вариант, что я пока придумал.

Файл компилируется тот нормально, там не более часа ждать... а вот на 500 мегабайт уже тяжко.

По сути и не ясно, что там компилятор делает, всё предельно ясно в коде - нечего оптимизировать как бы...
 

Чтобы ускорить компиляцию(фазу оптимизации), кардинально уменьшайте размер функций.

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

 
Renat Fatkhullin:

Чтобы ускорить компиляцию(фазу оптимизации), кардинально уменьшайте размер функций.

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

Я бы перебросил этот перебор, допустим, во внешний файл CSV, но тогда возникает другая проблема - трата времени на чтение файла, а кроме того при раздаче заданий агентам я не в состоянии каждому агенту отправить 500 мегабайт, в то время как код советника отправляется одному агенту (или нет?) и делится между ними.

И ещё вопрос, мой код легко сжимается 7zip с 500 до 15 мегабайт, но после компиляции файл будет в районе 500 - почему так - нет возможности при компиляции делать примитивное сжатие (хоть до 100 мегабайт)?

Причина обращения: