La norme C nécessite-t-elle de mauvaises performances Iostream ?
Malgré les affirmations selon lesquelles la mise en œuvre des iostreams de la bibliothèque standard C souffre d'inefficacités intrinsèques, la réalité est plus nuancé.
Standard Exigences
Le rapport technique 2006 sur les performances C reconnaît que certains aspects d'iostreams nécessitent une surcharge de mise en œuvre supplémentaire. Cependant, il souligne également que cette surcharge peut être considérablement réduite grâce aux optimisations du compilateur et aux améliorations de l'éditeur de liens.
Implémentations du compilateur
Divers fournisseurs de compilateurs ont implémenté la bibliothèque iostreams différemment. Certains compilateurs fournissent des versions hautement optimisées, tandis que d'autres peuvent présenter une surcharge plus importante.
Benchmarks
Les benchmarks comparant les iostreams aux implémentations personnalisées pour la mise en mémoire tampon interne révèlent un écart de performances. Iostreams engage des dépenses supplémentaires en raison de :
Atténuation Overhead
Des optimisations peuvent être appliquées pour réduire la surcharge des iostreams :
Conclusion
Bien que la norme C n’exige pas strictement de mauvaises performances iostream, sa conception peut créer des inefficacités. Cependant, les optimisations du compilateur et une mise en œuvre appropriée peuvent minimiser cette surcharge, rendant les iostreams comparables à la gestion des tampons personnalisés dans des scénarios réalistes.
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!