Как использовать флаги компилятора в Dymola 2019 FD01 для компилятора Visual Studio - PullRequest
1 голос
/ 01 июня 2019

Я изучаю использование флагов компилятора для повышения скорости скомпилированного кода в Dymola 2019 FD01.Я начал с:

Advanced.Define.GlobalOptimizations=2;

, что эквивалентно / Og, и это улучшило скорость модели на 100%!

Я искал, как можно установить некоторые другие флаги для визуальной студии, используя«Пользовательские параметры» сгруппированы как показано ниже, но они, похоже, ничего не делают.Я даже попробовал параметр «Visual Studio Custom» вместе с флагами, и скорость модели такая же, как у неоптимизированного кода.Установка / Og в разделе компилятора, похоже, не делает то же самое, что флаг GlobalOptimizations.

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

Simulation Setup - Compiler Tab

1 Ответ

3 голосов
/ 03 июня 2019

Значение по умолчанию Advanced.Define.GlobalOptimizations=0; отключает глобальные оптимизации - поэтому вам нужно либо установить Advanced.Define.GlobalOptimizations=2;, либо включить его с помощью пользовательских параметров и установить Advanced.Define.GlobalOptimizations=1;.

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

Генерация кода времени соединения (опция компилятора /GL и опция компоновщика /LTCG) на практике не оказывает никакого влияния на dymosim, посколькуКод модели находится в одном модуле - и, таким образом, уже доступен для оптимизатора.(Есть несколько модулей для других вещей из-за ограничений компилятора.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...