我正在探索利用编译器标志来提高Dymola 2019 FD01中编译代码的速度。我开始的时候是:
Advanced.Define.GlobalOptimizations=2;
相当于/ Og,它使模型速度提高了100%!
我一直在研究如何使用下面显示的“自定义选项”组a来为Visual Studio设置其他一些标志,但它们似乎无能为力。我什至尝试了“ Visual Studio Custom”选项和标志,并且模型速度与未优化的代码相同。在编译器部分设置/ Og似乎与GlobalOptimizations标志的作用不同。
如果有人能阐明在Dymola中设置编译器标志的正确方法是什么,我将不胜感激。
答案 0 :(得分:3)
默认的Advanced.Define.GlobalOptimizations=0;
关闭了全局优化-这就是为什么您需要设置Advanced.Define.GlobalOptimizations=2;
或使用自定义选项启用它并设置Advanced.Define.GlobalOptimizations=1;
的原因。
全局优化的缺点是编译时间可能会大大增加,这解释了为什么默认情况下将其关闭。
链接时代码生成(编译器选项/GL
和链接器选项/LTCG
)实际上对dymosim无效,因为整个模型代码在一个模块中-因此已经可以用于优化器。
(由于编译器的限制,用于其他用途的模块有多个。)