Article de reference

Temps de compilation

En informatique , le temps de compilation correspond à la période pendant laquelle un compilateur transforme le code source en un code plus facilement exécutable généralement du...

informatique , le temps de compilation correspond à la période pendant laquelle un compilateur transforme le code source en un code plus facilement exécutable du code objet ou du bytecode . Le temps de compilation est une phase du cycle de vie opérationnel d'un programme , marquant sa transition du développement à l'exécution . On parle généralement de temps de compilation pour désigner la durée nécessaire à la compilation, bien que l'expression « temps de compilation » puisse également être utilisée.

Le temps de compilation peut être subdivisé en fonction des phases du compilateur. La plupart des compilateurs comportent au moins les phases suivantes : analyse syntaxique , analyse sémantique et génération de code . De nombreux compilateurs incluent une ou plusieurs phases d’optimisation. Par exemple, chaque expression constante peut être évaluée lors de la compilation afin de produire une valeur permettant d’améliorer les performances d’exécution.

Les propriétés d'un programme qui peuvent être déterminées à la compilation incluent les vérifications de limites (par exemple, prouver qu'un indice de tableau ne dépasse pas les limites du tableau), l'absence d'interblocage dans les langages concurrents , ou les temps d'exécution (par exemple, prouver qu'une séquence de code ne prend pas plus d'un temps alloué). Pour les langages statiquement typés tels que C++ , Java ou Rust , les types sont vérifiés à la compilation pour garantir la sûreté des types .

La compilation fait généralement partie du processus de construction (lors de la construction). Une construction peut également inclure l'édition de liens (lors de l'édition de liens). Le temps d'exécution correspond à la durée pendant laquelle le programme est en cours d'exécution.

La compilation intervient généralement comme une étape distincte avant l'exécution d'un programme. Cependant, avec la compilation dynamique , la transformation en langage machine se fait pendant l'exécution représentation intermédiaire (RI) et une étape d'exécution qui convertit la RI en code machine.