如何在 Dymola 2019 FD01 中为 Visual Studio 编译器使用编译器标志
How to utilize compiler flags in Dymola 2019 FD01 for Visual Studio Compiler
我正在探索利用编译器标志来提高 Dymola 2019 FD01 中编译代码的速度。我开始于:
Advanced.Define.GlobalOptimizations=2;
相当于 /Og 并且模型速度提高了 100%!
我正在研究如何使用如下所示的 "Custom options" 组 a 为 visual studio 设置一些其他标志,但它们似乎没有做任何事情。我什至尝试了 "Visual Studio Custom" 选项和标志,模型速度与未优化的代码相同。在编译器部分设置 /Og 似乎与 GlobalOptimizations 标志的作用不同。
如果有人能阐明在 Dymola 中设置编译器标志的正确方法,我将不胜感激。
默认 Advanced.Define.GlobalOptimizations=0;
关闭全局优化 - 这就是为什么您需要设置 Advanced.Define.GlobalOptimizations=2;
或使用自定义选项启用它并设置 Advanced.Define.GlobalOptimizations=1;
.
全局优化的缺点是编译时间可能会大幅增加,这就是为什么它默认关闭的原因。
Link-time 代码生成(编译器选项 /GL
和链接器选项 /LTCG
)实际上对 dymosim 没有影响,因为整个模型代码都在一个模块中 - 因此已经可用于优化器。
(由于编译器的限制,有多个用于其他事情的模块。)
我正在探索利用编译器标志来提高 Dymola 2019 FD01 中编译代码的速度。我开始于:
Advanced.Define.GlobalOptimizations=2;
相当于 /Og 并且模型速度提高了 100%!
我正在研究如何使用如下所示的 "Custom options" 组 a 为 visual studio 设置一些其他标志,但它们似乎没有做任何事情。我什至尝试了 "Visual Studio Custom" 选项和标志,模型速度与未优化的代码相同。在编译器部分设置 /Og 似乎与 GlobalOptimizations 标志的作用不同。
如果有人能阐明在 Dymola 中设置编译器标志的正确方法,我将不胜感激。
默认 Advanced.Define.GlobalOptimizations=0;
关闭全局优化 - 这就是为什么您需要设置 Advanced.Define.GlobalOptimizations=2;
或使用自定义选项启用它并设置 Advanced.Define.GlobalOptimizations=1;
.
全局优化的缺点是编译时间可能会大幅增加,这就是为什么它默认关闭的原因。
Link-time 代码生成(编译器选项 /GL
和链接器选项 /LTCG
)实际上对 dymosim 没有影响,因为整个模型代码都在一个模块中 - 因此已经可用于优化器。
(由于编译器的限制,有多个用于其他事情的模块。)