To get decent GC performance, you need a large space for copying, which doesn't work so well on mobile, so they probably went with a less efficient in-place collector. Its a trade off really: low memory operation or high performance even when a lot of garbage is generated (and memory isn't so expensive)?
WinRT has built in support for reference counting now (both in run-time and in its libraries); that's a big deal for mobile! Sure, the collector is still present and you can use it in C#, but...the game is changing quickly. Apple, of course, supports reference counting already, Dalvik does not as there is no easy way to bolt that onto Java (though I wouldn't be surprised if Google eventually does what MSFT did with WinRT).
Disclosure: MSFT employee and general programming languages hacker.
Comments
To get decent GC performance, you need a large space for copying, which doesn't work so well on mobile, so they probably went with a less efficient in-place collector. Its a trade off really: low memory operation or high performance even when a lot of garbage is generated (and memory isn't so expensive)?
WinRT has built in support for reference counting now (both in run-time and in its libraries); that's a big deal for mobile! Sure, the collector is still present and you can use it in C#, but...the game is changing quickly. Apple, of course, supports reference counting already, Dalvik does not as there is no easy way to bolt that onto Java (though I wouldn't be surprised if Google eventually does what MSFT did with WinRT).
Disclosure: MSFT employee and general programming languages hacker.