Quand intégrer des fonctions et quand ne pas le faire
Les fonctions en ligne sont spécifiquement conçues pour réduire la surcharge associée aux appels de fonction en remplaçant le corps de la fonction par le lieu de l'appel. Cependant, il existe des situations dans lesquelles l'intégration doit être évitée.
Quand intégrer :
- Petites fonctions : l'intégration de petites fonctions entraîne un code plus rapide et réduit la taille de l'exécutable. .
- Fonctions fréquemment appelées : l'intégration des fonctions fréquemment appelées réduit la surcharge due à plusieurs appels.
Quand éviter l'inlining :
- Fonctions volumineuses : les fonctions en ligne peuvent gonfler les exécutables, diminuant ainsi les performances.
- I Fonctions liées à /O : les opérations d'E/S ne sont pas affectées par l'inline, c'est donc inutile.
- Fonctions rarement utilisées : l'intégration de fonctions rarement utilisées n'est pas bénéfique.
- Constructeurs et destructeurs : même les constructeurs et destructeurs vides génèrent du code.
- Compatibilité de la bibliothèque : intégration d'une bibliothèque existante Les fonctions ou la modification des fonctions en ligne peuvent rompre la compatibilité.
Supplémentaires Considérations :
- Pour l'extensibilité, envisagez d'utiliser des destructeurs et des constructeurs virtuels non-inline.
- Profilez votre application pour identifier les goulots d'étranglement avant d'intégrer des fonctions.
- Le Le mot-clé "inline" est une indication pour le compilateur qui peut ou non être suivi.
Références :
- Pour être en ligne ou ne pas être en ligne
- [9] Fonctions en ligne
- Politiques/Problèmes de compatibilité binaire avec C
- GotW #33 : Inline
- Inline Redux
- Effective C - Item 33 : Utiliser l'inline judicieusement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!