gpt4 book ai didi

c++ - clang osx march=native 没有优化的大约 1/3rd 速度

转载 作者:行者123 更新时间:2023-11-28 05:39:20 25 4
gpt4 key购买 nike

我有一个项目,其中速度是最重要的,所以正在试验编译器标志以尝试获得一些免费性能。我有两个相同的构建,除了构建 2 中的附加标志 march=native。

为了完整性,标志是:

A) -std=c++14 -g -fno-omit-frame-pointer -O3

B) -std=c++14 -g -fno-omit-frame-pointer -O3 -march-native

在这些构建上运行基准测试会产生令人困惑的结果:

A) 61s

B) 160s

这里可能发生了什么?

最佳答案

使用 -march=native 优化当前 cpu 的代码。大多数时候,它会提高执行速度。有时它可能无法生成最快的代码,因为它启用了某些 CPU 指令。

echo | clang -E - -march=native -###

将显示 clang 通过 -march=native 启用的内容。最有可能的罪魁祸首是 CMOV,它由 -march=native 启用。你可以在这个问题的答案中看到为什么这可能会减慢速度的解释:gcc optimization flag -O3 makes code slower than -O2 .

关于c++ - clang osx march=native 没有优化的大约 1/3rd 速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com