Qu'est-ce que Repli de constantes (constant folding) ?

Optimisation qui calcule à la compilation les expressions dont la valeur est connue et les remplace par la constante résultante. Par exemple, 3 * 4 devient 12. Réduit les calculs à l'exécution.

Nom japonais: 定数畳み込み

« Repli de constantes (constant folding) » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont Compilateurs.

Domaine: Compilateurs

S'entraîner : questions sur Repli de constantes (constant folding)

Quel exemple de repliement de constantes (constant folding) est correct ?

  1. ARegrouper en un seul appel les appels répétés d'une même fonction
  2. BCalculer x = 3 * 4 à la compilation pour obtenir x = 12
  3. CRecopier quatre fois le corps de la boucle pour réduire le nombre d'itérations
Afficher la réponse et l'explication

Réponse : B. Calculer x = 3 * 4 à la compilation pour obtenir x = 12

Le repliement de constantes est une optimisation qui calcule à l'avance les expressions dont la valeur est connue à la compilation et les remplace par la constante résultante. 3 * 4 vaut toujours 12 à chaque exécution ; il est inutile d'effectuer la multiplication à l'exécution. Combiné à la propagation de constantes, il replie aussi les calculs passant par des variables. Il faut toutefois prendre garde, par exemple, à aligner le mode d'arrondi en virgule flottante. La recopie du corps de boucle est le déroulage de boucle, et le regroupement d'appels de fonction une autre optimisation.

Questions mentionnant « Repli de constantes (constant folding) » (1)

  1. Quel exemple de repliement de constantes (constant folding) est correct ?

Termes associés

Déroulage de boucle (loop unrolling) Allocation de registres Analyse lexicale Analyse syntaxique Arbre syntaxique abstrait (AST) Bloc de base Compilation JIT Débordement (spill) Élimination des sous-expressions communes Forme SSA

Retour au glossaire