Chapitre 18. Efficacité de la mémoire
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
Comme nous l'avons décrit au chapitre 7, le CLR de est capable d'effectuer une gestion automatique de la mémoire grâce à son garbage collector (GC). Cela a un prix : lorsqu'une unité centrale passe du temps sur le ramasse-miettes, cela l'empêche de se consacrer à des tâches plus productives. Sur les ordinateurs portables et les téléphones, le travail du GC draine l'énergie de la batterie. Dans un environnement de Cloud computing où tu peux payer le temps de l'unité centrale en fonction de la consommation, le travail supplémentaire de l'unité centrale correspond directement à une augmentation des coûts. Plus subtilement, sur un ordinateur doté de nombreux cœurs, passer trop de temps dans le GC peut réduire considérablement le débit, car de nombreux cœurs peuvent se retrouver bloqués, attendant que le GC se termine avant de pouvoir continuer.
Dans de nombreux cas, ces effets sont suffisamment faibles pour ne pas causer de problèmes visibles. Cependant, lorsque certains types de programmes sont fortement sollicités, les coûts du GC peuvent en venir à dominer le temps d'exécution global. En particulier, si tu écris un code qui effectue un traitement relativement simple mais très répétitif, les frais généraux du GC peuvent avoir un impact substantiel sur le débit.
Pour te donner un exemple du type d'améliorations qui ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access