І Windows Phone / Xbox, і Android не мають підтримки для збору сміття з поколіннями. Це неприємно для багатьох програмістів. Здається, це є законною інженерною причиною, але я не можу цього зрозуміти.
Поточні телефони мають більше пам’яті та, ймовірно, кращі процесори, ніж настільні / ноутбуки, на яких працює NET 1.1 з поколінням GC ще в 2001 році, і я не можу придумати жодних причин, що ARM-процесори були б гіршими на генераційному GC, ніж на x86. Також менше потреб у багатозадачності на телефонах та на консолях, тому є достатньо більше вільного місця в купі.
То що дає?
Редагувати: декілька пунктів для уточнення:
- Ці платформи використовують сміття виключно для додатків, тому моє питання не в тому, чому GC не підтримується; моє запитання про те, чому покоління сміття не відбувається.
- Причиною того, що люди засмучені відсутністю генерації ГК, є те, що негенераційна ГК надзвичайно неефективна. (Це означає, що час автономної роботи не є причиною.)
- Я вважаю, що існує непідробна технічна причина відсутності покоління в GC. Це не риторичне питання.