Capítulo 18. Eficiencia de la memoria
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Como se ha descrito en el Capítulo 7, el CLR de es capaz de realizar una gestión automática de la memoria gracias a su recolector de basura (GC). Esto tiene un precio: cuando una CPU dedica tiempo a la recolección de basura, eso le impide seguir con un trabajo más productivo. En portátiles y teléfonos, el trabajo del GC consume energía de la batería. En un entorno de computación en nube, donde puedes estar pagando por el tiempo de CPU en función del consumo, el trabajo extra de la CPU se corresponde directamente con un aumento de los costes. Más sutilmente, en un ordenador con muchos núcleos, pasar demasiado tiempo en la CG puede reducir significativamente el rendimiento, porque muchos de los núcleos pueden acabar bloqueados, esperando a que se complete la CG para poder continuar.
En muchos casos, estos efectos serán lo suficientemente pequeños como para no causar problemas visibles. Sin embargo, cuando ciertos tipos de programas experimentan una gran carga, los costes de GC pueden llegar a dominar el tiempo total de ejecución. En particular, si escribes código que realiza un procesamiento relativamente sencillo pero muy repetitivo, la sobrecarga de GC puede tener un impacto sustancial en el rendimiento.
Para darte un ejemplo de los tipos de mejoras que a veces pueden ser posibles, las primeras versiones del marco del servidor ...
Get Programación C# 12 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.