我想知道苹果提供的Clang编译器与Homebrew提供的OpenMP附带的Clang编译器相比是否有任何优势?如果切换到OpenMP Clang(不管多线程能力),会有任何性能损失吗?
我也发现这个老问题没有好的答案
更新我用苹果的Clang和主流的Clang编译OOFEM,出现了同样的问题,
苹果的Clang:实时消耗:000h:01m:26s
主流Clang:实时消耗:000h:01m:24s
在启用多线程的情况下,性能是相似的。我还注意到的一个区别是,苹果的Clang似乎忽略了一些CMake选项,例如-DOpenMP_CXX_FLAGS="-I/usr/local/opt/libomp/include"
对苹果的Clang没有影响,而与主流的Clang工作得很好。
有区别吗?
如前所述,答案本身。它们是两个不同的编译器,我们不知道苹果在它们里面做了什么。我们知道他们不提供OpenMP支持,所以这至少是一个区别。
切换到OpenMP Clang会有性能损失吗(不管多线程能力)?
我对此表示怀疑,但既然您清楚地测量了性能并使用了两个编译器,您似乎可以很好地告诉我们:-)