#1614·mold

[CMake]为`释放'建筑类型设定`-O2',而不是默认的`-O3'.

作者: asyync1024创建于 2026年6月28日更新于 2026年6月29日

哈啰!

我已检查并找到,CMake默认为释放'建造了-O3-DNDEBUG'。 这是一个问题,因为众所周知,`-O3'在许多情况下会造成性能回落和代码膨胀。 带有回归实例的详情可见于[Arch Wiki:Makepkg#Higher opimation level](https://wiki.archlinux.org/title/Makepkg#Higher opimation level).

我想知道这是不是故意的? 如果不是,那么它可能应当被明确设定为-O2-DNDEBUG',因为-O2'是几乎所有C或C++项目所使用的安全优化默认。 此外,我认为-O3'不会给联系人带来好处,虽然这对LLVM更安全,但海合会具有更积极的-O3',使`释放 ' 变得有些不安全。

我没有任何基准,而且老实说,我不确定该如何衡量, 如果你知道怎么做,请告诉我!

谢谢!