[英]What do the optimization levels `-Os` and `-Oz` do in rustc?
执行rustc -C help
显示(除其他外):
-C opt-level=val -- optimize with possible levels 0-3, s, or z
我认为 0 到 3 级相当直观:级别越高,执行的优化就越积极。 但是,我不知道s
和z
选项在做什么,而且我找不到关于它们的 Rust 相关信息。
LLVM 中的这两个序列 Os 和 Oz 非常相似。 Oz 调用 260 次传递(我使用的是 LLVM 12.0),而 Os 调用 264 次。Oz 的分析和优化序列几乎是 Os' 的严格子序列,除了一次传递(opt -loops),它出现在内部的不同位置操作系统这就是说,请注意优化的效果仍然可能不同,因为它们使用不同的成本模型,例如,确定优化行为的常数。 因此,对大小有影响的优化,如循环展开和内联,在这两个序列中的行为可能不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.