Optimisation (Delphi)
Remonter à Liste des directives de compilation Delphi - Index
Type |
Commutateur |
Syntaxe |
{$O+} ou {$O-} {$OPTIMIZATION ON} ou {$OPTIMIZATION OFF} |
Par défaut |
{$O+} {$OPTIMIZATION ON} |
Portée |
Locale (sauf pour le compilateur DCCIOSARM qui a une portée globale) |
La directive $O contrôle l'optimisation de code. En mode {$O+}, le compilateur effectue un nombre d'optimisations de code, tels que le placement de variables dans des registres CPU, en éliminant des sous-expressions communes et en générant des variables d'induction. En mode {$O-}, toutes ces optimisations sont désactivées.
Il ne sera jamais nécessaire de désactiver les optimisations sauf pour certaines situations de débogage. Toutes les optimisations effectuées par le compilateur Delphi n'altéreront pas la signification d'un programme. En d'autres termes, le compilateur n'effectue aucune optimisation "non sécurisée" nécessitant une connaissance spéciale du programmeur.
Remarques :
- La directive $O permet d'activer ou de désactiver l'optimisation pour une procédure ou une fonction toute entière. Vous ne pouvez pas activer ou désactiver l'optimisation pour une seule ligne, ni pour un groupe de lignes au sein d'une routine.
- Pour les applications iOS ciblant le périphérique iOS 32 bits (et qui utilisent par conséquent le compilateur DCCIOSARM), et pour les applications iOS ciblant le périphérique 64 bits (et qui utilisent par conséquent le compilateur DCCIOSARM64), la directive $O d'une portée globale. Le compilateur ne génère pas d'avertissement ou de messages d'indication, mais l'optimiseur utilise le dernier paramètre si plusieurs options $O existent dans un seul fichier de code source.
- Toutefois, pour les applications iOS ciblant le simulateur iOS (et qui utilisent le compilateur DCCIOS32), la directive $O a une portée locale, comme cela est le cas pour les compilateurs de bureau Delphi.