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