OK aquí está el trato. Hay algunas personas que ponen sus vidas en manos del recolector de basura de .NET y algunos que simplemente no confían en él.Eficiencia del recolector de basura .NET
Soy uno de los que confía parcialmente en él, siempre que no sea extremadamente crítico para el rendimiento (sé que sé ... rendimiento crítico + .net no es la combinación preferida), en cuyo caso prefiero deshacerme manualmente de mi objetos y recursos.
Lo que estoy preguntando es si hay datos sobre cuán eficiente o ineficiente es el rendimiento del recolector de basura en realidad.
Por favor, no comparta ninguna opinión personal o posible hipótesis basada en la experiencia, quiero hechos imparciales. Tampoco quiero discusiones pro/con porque no responderá la pregunta.
Gracias
Editar: Para aclarar, básicamente lo que digo: No importa qué aplicación se escribe, recurso crítico o no pueden simplemente olvidarse de todo y dejar que el GC manejarlo o no nosotros ?
Estoy tratando de obtener una respuesta en realidad sobre lo que el GC hace y no hace y dónde podría fallar donde la gestión de memoria manual sería exitosa SI existen tales escenarios. ¿Tiene LIMITACIONES? No sé cómo podría explicar mi pregunta aún más.
No tengo ningún problema con ninguna aplicación, es una pregunta teórica.
define eficiente. sin saber cómo se quiere medir su eficiencia, es difícil responder a eso. –
Bueno, si es posible trate de evitar parientes o si debe, compárelo con una gestión de memoria manual impecable. –
Si está buscando hechos imparciales, ¿por qué no realiza algunas pruebas usted mismo? Ejecutar a través de una creación y la destrucción manual, y luego ejecutar el mismo programa de nuevo sin deshacerse de nada y dejar que el GC lo recoja? Si desea que los números y las pruebas anecdóticas no le sirvan, configure las pruebas para obtener los números usted mismo. – SqlRyan