![GCC 和 AMD 锐龙](https://linux22.com/image/15061/GCC%20%E5%92%8C%20AMD%20%E9%94%90%E9%BE%99.png)
https://wiki.gentoo.org/wiki/Ryzen#GCC 说,GCC 6.x 和 GCC 7 都没有针对 Ryzen 进行优化。但是,当执行 man gcc-7 时,我清楚地看到 March=znver1 在 GCC-7 中可用。或者这只是一个什么都不做的虚拟选项?我想使用 March=znver1 让我的内核针对我的 Ryzen 2500U 进行更优化。在我的发行版中实际上有 GCC-9 和 GCC-10 可用,我可以从 7 升级到 9 或 10。
答案1
znver1
已添加到海湾合作委员会2015年,并包含在 GCC 6.1 中。它始终为 Zen CPU 提供一定程度的调整(请参阅第一次提交中的成本表),但 Gentoo wiki 引用的 Phoronix 基准测试表明,这在当时并不是特别有效。
一般来说,当涉及到“较新”架构的编译器支持和优化时,较新版本的编译器更好——优化改进很少向后移植,并且需要时间在编译器中开发。这包括许多有助于提高为 Zen CPU 生成的代码性能的补丁(查找Jan Hubicka 的补丁尤其)。与往常一样,当谈到性能时,您应该对您关心的场景进行基准测试。