我自己不是 C 或 C++ 程序员,但我经常使用需要编译或依赖于编译器的软件,例如一些 R 包。
如果我使用更新/更好的编译器,该软件的性能会更好吗?例如,现在我使用的是 Mac OS X 系统版本的 Clang,有人建议我改用更高版本。这只是为了节省编译时间和内存的建议吗?还是它实际上会产生更高效的编译软件?
答案1
如果我使用更新/更好的编译器,该软件的性能实际上会更好吗?
这完全取决于在给定版本中是否对编译器的代码优化功能进行了改进。
例如,现在我使用的是 Mac OS X 系统版本的 Clang,有人建议我使用更高版本。
你应该坚持使用你知道可以正常工作的同一编译器版本,除非你需要某个功能,而该功能只存在于更高版本中。除非你知道更高版本可以做更有效的事情,否则你不应该升级。
这只是为了在编译过程中节省我的时间和内存的建议吗?
说实话,这个建议似乎 100% 是基于个人观点的。如果你信任提出这个建议的人,那么你应该采纳它。
我应该指出,编译器是一种软件,较新的版本可能会引入新的错误,从而导致优化程序的性能下降。您应该寻求一种平衡,最好的方法是始终使用稳定版本。