gpt4 book ai didi

编译器 -march 标志基准测试?

转载 作者:行者123 更新时间:2023-12-02 10:58:55 26 4
gpt4 key购买 nike

编译器(例如:gcc)中的 -march 标志真的很重要吗?

如果我使用 -march=my_architecture 而不是 -march=i686 编译所有程序和内核,会不会更快

最佳答案

是的,确实如此,尽管差异只是有时相关。但是,如果您的代码可以矢量化以使用 SSE 或其他扩展指令集(这些指令集在一种架构上可用,但在另一种架构上不可用),那么它们可能会很大。当然,32 位和 64 位之间的差异可能(但不一定)很明显(如果您将其视为 -march 参数的类型,则为 -m64)。

作为轶事证据,几年前我在 gcc 中遇到了一个有趣的错误,其中在 Pentium 4 上运行的特定代码段速度大约慢了 2 倍 使用 -march=pentium4 编译时与使用 -march=pentium2 编译时相比。

所以:通常没有区别,有时有,有时与您预期的相反。一如既往:在决定使用任何超出“安全”范围的优化之前进行测量(例如,使用实际的精确 CPU 模型而不是更通用的模型)。

关于编译器 -march 标志基准测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15496824/

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