Sia Windows Phone / Xbox che Android non hanno il supporto per la raccolta dei dati generazionali. Questo è frustrante per molti programmatori. Sembra esserci un motivo ingegneristico legittimo, ma non riesco a capirlo.
I telefoni attuali hanno più memoria e probabilmente CPU migliori rispetto ai desktop / laptop che eseguono .NET 1.1 con GC generazionale nel 2001, e non riesco a pensare ad alcun motivo per cui i processori ARM sarebbero peggiori al GC generazionale rispetto a x86. C'è anche meno bisogno di multitasking su telefoni e console, quindi c'è spazio di heap libero relativamente più.
Quindi cosa dà?
Modifica: alcuni punti per chiarire:
- Queste piattaforme utilizzano esclusivamente la garbage collection per le app, quindi la mia domanda non riguarda il motivo per cui GC non è supportato; la mia domanda riguarda perché la garbage collection generazionale non è.
- La ragione per cui le persone sono frustrate per la mancanza di GC generazionale è che la GC non genrativa è estremamente inefficiente. (Ciò significa che la durata della batteria non è la ragione.)
- Credo che ci sia un motivo tecnico onesto per la mancanza di supporto GC generazionale. Questa non è una domanda retorica.