Что влияет на скорость компиляции программы? - страница 4

 
Malik Arykov #:
Чем отличается mqh от mq5. В результате компиляции mq5 получается ЗАШИФРОВАННЫЙ ex5. Вот на эту защиту + сборку и тратится столько времени (ИМХО)

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

именно генерация оптимизированного кода отнимает львиную долю времени.

Stanislav Korotky #:

Еще почему-то не упомянули: файл config/metaeditor.ini ->

[Experts]

Optimize=0

Так вроде убрали эту опцию?
 
Andrei Trukhanovich #:

Так вроде убрали эту опцию?

А я был не в курсе.

PS. Если бы проект был кроссплатформенный, то быстрее всего компилировать в ME от четверки.

 
Какой смысл в частой компиляции?
 

На увеличение скорости (иногда геометрически) влияет исключительно стадия оптимизации кода.

Ради максимальной производительности результирующей программы мы применяем очень агрессивные и глубокие методы многопроходной оптимизации.

Чтобы быстро компилировалось, используйте проекты *.mqproj и отключайте галочку максимальной оптимизации:


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

 
Renat Fatkhullin #:

На увеличение скорости (иногда геометрически) влияет исключительно стадия оптимизации кода.

Ради максимальной производительности результирующей программы мы применяем очень агрессивные и глубокие методы многопроходной оптимизации.

Чтобы быстро компилировалось, используйте проекты *.mqproj и отключайте галочку максимальной оптимизации:


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

Спасибо большое за ответ. Сработало. Снизил время компиляции с 15-ти секунд до пол секунды!!!


 
Andrei Trukhanovich #:

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

именно генерация оптимизированного кода отнимает львиную долю времени.

Так вроде убрали эту опцию?

Спасибо за ответ. Да, вы оказались правы. Именно оптимизация занимала столько времени. Там дальше отписались, как ее выключить, сработало )

 
yar.forex:
Здравствуйте, подскажите пожалуйста, я тут программу пишу и столкнулся с тем, что чем больше она становится, тем дольше компилируется (вот это новость!)

Пока что дошел до 15 секунд компиляции после нажатия F7. Согласен, немного и жить можно. Хотя уже начинает раздражать.
Часто компилирую файл и хочу сразу видеть результат своих правок. Уже успеваю браузер поскроллить, пока компилируется )

Программа вырастет еще в 2-3 раза по объему кода. А ждать минуту после F7 это уже зашквар.

Хотелось бы узнать, если кто-то знает, что влияет на скорость компиляции?
Например, в этой программе я делаю много #include файлов, мне так удобнее ориентироваться, влият ли это на скорость компиляции или лучше все функции пихать в один файл?
Или например, влияет ли то, какие я использую типы данных? Я имею ввиду, вот я использую double там где можно было бы обойтись float. Может ли это влиять на скорость компиляции?

Мне просто еще кажется, что вот я пишу несколько дней, пишу и скорость компиляции висит, например  на 10 секундах. А потом бах и сразу 15 секунд. А что я такого в код добавил, что замедлило компиляцию на 5 секунд, я не знаю.
Может кто-то тестил, или просто эта информация доступна, я просто не нашел, или есть какие-то стандарты в этом вопросе?

Благодарю за ответы

Когда-то давно, я компилировал код с статичным массивом ОЧЕНЬ большого размера.
Час или 1,5 )) Писал в поддержку, эту проблему исправили.

 

У меня эксперт + с десяток скриптов, использующих одни и те же mqh

Я правильно понял, что на каждый mq5 я должен создать свой mqproj и настроить (описание + галочки)?

 
yar.forex #:

Спасибо большое за ответ. Сработало. Снизил время компиляции с 15-ти секунд до пол секунды!!!


делители лучше оставить.

 
Malik Arykov #:

У меня эксперт + с десяток скриптов, использующих одни и те же mqh

Я правильно понял, что на каждый mq5 я должен создать свой mqproj и настроить (описание + галочки)?

Да. Описание создается автоматически.
Чтобы создать проект (файл .mqproj), нужно навести на основной файл в навигаторе и кликнуть по нему правой кнопкой мыши, далее выбрать "новый проект из исходного файла". Файл  .mqproj будет создан автоматически. Заходите в него и тыкаете галочки со скриншота.

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