1. NT is very small. A 66MHz / 24Mb system can still throw up a desktop.
2. The UI is entirely hardware accelerated WPF.
3. You're right about the AOT which is done off the device. It still does GC on the device for most apps which are CLR based but core WinRT stuff is manual management. NT doesn't do overcommit or mmap stuff either. Also the CLR GC runs concurrently.
4. The ecosystem isn't fragmented making centralised compilation and optimisation a reality. There are very few hardware combinations to support.
5. Better native type support in CLR. There are better unsigned and binary types in the CLR making micro-optimizations possible.
Comparing to android, Dalvik is damn slow. It seems to defer all GC until an inconvenient time and suck up lots of RAM in the process. If they get that ART compiler in there then it might be getting somewhere but I suspect from my experiments with my Moto G that the compiler has a different set of performance penalties.
1. NT is very small. A 66MHz / 24Mb system can still throw up a desktop.
2. The UI is entirely hardware accelerated WPF.
3. You're right about the AOT which is done off the device. It still does GC on the device for most apps which are CLR based but core WinRT stuff is manual management. NT doesn't do overcommit or mmap stuff either. Also the CLR GC runs concurrently.
4. The ecosystem isn't fragmented making centralised compilation and optimisation a reality. There are very few hardware combinations to support.
5. Better native type support in CLR. There are better unsigned and binary types in the CLR making micro-optimizations possible.
Comparing to android, Dalvik is damn slow. It seems to defer all GC until an inconvenient time and suck up lots of RAM in the process. If they get that ART compiler in there then it might be getting somewhere but I suspect from my experiments with my Moto G that the compiler has a different set of performance penalties.