Ответ 1
Кажется, что вы не единственная путаница, как описано в проблеме Rust. Кажется, что он соответствует той же схеме, что и Clang:
-
Os
Для оптимизации размера при компиляции. -
Oz
Для еще большей оптимизации размера.
Выполнение rustc -C help
показывает (между прочим):
-C opt-level=val -- optimize with possible levels 0-3, s, or z
Уровни от 0 до 3 довольно интуитивно понятны, я думаю: чем выше уровень, тем более агрессивная оптимизация будет выполнена. Однако я не знаю, что делают параметры s
и z
, и я не мог найти информацию о них, относящуюся к Rust.
Кажется, что вы не единственная путаница, как описано в проблеме Rust. Кажется, что он соответствует той же схеме, что и Clang:
Os
Для оптимизации размера при компиляции.Oz
Для еще большей оптимизации размера.Рассматривая эти и эти строки в Исходный код ржавчины, я могу сказать, что s
означает оптимизацию для размера, а z
означает оптимизацию для размера еще немного.
Все оптимизации, по-видимому, выполняются механизмом генерации кода LLVM.