O čem konkrétně mluvíte? O podpoře SMP, nebo o podpoře více architektur? .NET Framework samozřejmě podporuje SMP, a je multiplatformní (například WinCE s .NETem jsou k dispozici pro x86, ARM a SuperH).
Navíc se domnívám, že zákazníkům čím dál méně záleží na technických parametrech zařízení. Kdo si kupuje telefon podle počtu jader CPU nebo velikosti ROM? Zákazníky daleko víc zajímá, k čemu mohou telefon použít. Například Windows Phone (kde dosud není v prodeji zařízení s dual core CPU) mají daleko plynulejší a rychlejší interface, než dual CPU zařízení s Androidem.
Pokud jde o nahrazování Davliku něčím lepším, nepotřebujete plný .NET Framework. Bohatě stačí Common Language Infrastructure. Další možností je Bartok compiler.
O (ne)plynulosti GUI Androidu mluvil i Andrew Munn z Googlu.
http://www.androidmarket.cz/ruzne/proc-je-ios-plynulejsi-nez-android/
Něco podobného jsem čekal. To mi připomíná jeden blog post, kde autor psal o přechodu z CPythonu na PyPy. Dosáhl za určitých okolností zvýšení propustnosti aplikace cca o 20%, ale za cenu toho, že mu paměťová náročnost vzrostla o stovky procent, musel obětovat jeden handler, aby se mu aplikace vůbec do paměti vešla (což se mohlo projevit za specifických okolností) a hlavně: zrychlení se projevilo až poté, co se JIT pořádně nasosal; po restartu aplikace byly odezvy podstatně horší než s CPythonem. Jinými slovy - s nadšením opatrně.
Já také věřím, že nárůst výkonu je dost diskutabilní. Vypíchnout vlastnosti běhového prostředí, oproti jinému je velmi levné. Otázka je, jak to vypadá v reálně psaných aplikacích. Já osobně se strukturám poměrně rád vyhýbám.
A co se týče generik, hádám, že rozdíl tam byl způsoben tím, že byly použity Value typy proti primitivním typům v Javě, kde - pokud se nepletu - v javě dojde k Boxingu a Unboxingu. Pokud by se jednalo o reference, pak by měl být výsledek spíše stejný.
Jinak v odkazovaném článku se hovoří o "výhodném" klíčovém slovu virtual. Já osobně bych za tohle klíčové slovo nějraději někomu napráskal.. stejně tak za možnost "Hide". Správně napsaná virtuální mašina by měla mít nižší výkon pouze ve chvíli nahrávání nových tříd, kdy je potřeba překopat kód volání virtuální metody. Jinak je to jen další věc co obtěžuje programátora