什么优化级别`-Os`和`-Oz`在rustc中做什么?

问题描述 投票:23回答:2

执行rustc -C help显示(除其他外):

-C opt-level=val       -- optimize with possible levels 0-3, s, or z

我认为级别0到3非常直观:级别越高,执行的优化程度越高。但是,我不知道sz选项正在做什么,我找不到与它相关的Rust相关信息。

rust
2个回答
17
投票

看起来你并不是唯一一个迷茫的人,正如in a Rust issue所描述的那样。它似乎遵循与Clang相同的模式:

  • Os用于在编译时优化大小。
  • Oz用于更大尺寸的优化。

12
投票

看看Rust的源代码中的thesethese行,我可以说s意味着优化大小,而z意味着优化大小更多。

所有优化似乎都由LLVM代码生成引擎执行。

© www.soinside.com 2019 - 2024. All rights reserved.