Tanto Windows Phone / Xbox como Android carecen de soporte para la recolección de basura generacional. Esto es frustrante para muchos programadores. Parece que hay una razón de ingeniería legítima, pero no puedo entenderlo.
Los teléfonos actuales tienen más memoria y probablemente mejores CPU que las computadoras de escritorio / portátiles que ejecutan .NET 1.1 con GC generacional en 2001, y no puedo pensar en ninguna razón por la cual los procesadores ARM serían peores en GC generacional que x86. También hay menos necesidad de realizar múltiples tareas en teléfonos y consolas, por lo que hay relativamente más espacio libre en el montón.
Entonces, ¿qué da?
Editar: algunos puntos para aclarar:
- Estas plataformas utilizan la recolección de basura para aplicaciones exclusivamente, por lo que mi pregunta no es por qué GC no es compatible; Mi pregunta es por qué la recolección de basura generacional no lo es.
- La razón por la cual las personas se sienten frustradas por la falta de GC generacional es que el GC no generacional es extremadamente ineficiente. (Eso significa que la duración de la batería no es la razón).
- Creo que hay una razón técnica honesta para la falta de soporte generacional de GC. Esta no es una pregunta retórica.