web-dev-qa-db-fra.com

Que font les niveaux d'optimisation `-Of` et` -Oz` dans rustc?

Exécution de rustc -C help montre (entre autres):

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

Les niveaux 0 à 3 sont assez intuitifs, je pense: plus le niveau est élevé, plus les optimisations seront agressives. Cependant, je n'ai aucune idée de ce que font les options s et z et je n'ai pas trouvé d'informations à leur sujet concernant Rust.

26
Lukas Kalbertodt

Il semble que vous n'êtes pas le seul à être confus, comme décrit dans un problème Rust . Il semble suivre le même modèle que Clang:

  • Os Pour optimiser la taille lors de la compilation.
  • Oz Pour encore plus d'optimisation de la taille.
17
Englund

En regardant ces et ces lignes dans le code source de Rust, je peux dire que s signifie optimiser pour la taille et z signifie optimiser pour taille un peu plus.

Toutes les optimisations semblent être effectuées par le moteur de génération de code LLVM.

12
red75prime