Jedina stvar koju vidim kao prednost je ta sto JIT ima prednost sto je bare-metal kod moze biti uvek prilagodjen platformi na kojoj trci posto se bare-metal kod generise na toj masini, ali osim toga ne vidim nista drugo.
Upravo to. Malo li je? Trenutno, C++ kompajleri generisu kod koji je univerzalan* i namesten tako da radi na svakoj windows platformi i svakoj konfiguraciji i na sirokom spektru Windows OS-ova (i tu pricamo samo za Win, kad dodas lindzu situacija se jos komplikuje). JIT ne mora da postuje nista od toga i moze i prilagodjava izlaz (mislim da je strucan termin "lowering") svim tim parametrima. Izmedju ostalog moze mnogo bolje da reorderuje instrukcije da bi iskoristio i olaksao superskalarnu obradu i minimizovao wait-states, sto je manje vise procesor generation specific.
Sta vise, po defaultu svi managed asembliji za .NET su "Any CPU" vs x32 ili x64, sto znaci da JIT isti executable cak optimalno loweruje na dve razlicite arhitekture sto CPP, bar koliko ja znam, ne moze. Druga prednost koju JIT ima je sto bare-metal kod generise iz CIL bytecoda, koji je jednom vec optimizovan high-level i sto ga JIT moze optimizovati jos jednom koristeci cinjenicu da je kompleksnost CILa daleko manja od kompleksnosti visih jezika pa je i scope/locality of reference bolje definisan i laksi za optimizaciju. U tom je glavna prednost MS JITa nad Java JIT-om i Mono JIT-om, druga dva su manje vise mapiranje interpretatorskog koda u bare metal, otprilike u rangu debug+unoptimized koda sa MS JITa.
Itd, iskreno, ni je ne znam sve tehnike koje koriste, planiram da malo analiziram ovaj novoobjavljeni kod da vidim sta se sve krije tu

Jbg, nesto su morali da ubace u tih 320.000 linija koda koliki je JIT.

Ono gde generalno .NET aplikacija pocinje da gubi trku su heavy-alloc/dealloc aplikacije sa velikim alokacijama, generalno GC based alloc je dosta skuplji od prostog malloca. Mada se to drasticno popravilo od prvog .NETa, i moze da se minimizuje uz malo vecu potrosnju memeorije koriscenjem ServerGC konfiguracije.
* sam stavio zato sto pricamo o default upotrebi, naravno postoje specijalizovani C++ kompajleri i podesavanja u generickim kompajlerima za odredjene platofrme u kom slucaju C++ opet ima konkretnu prednost po nekoliko osnova. ALi takve situacije su retke izvan nekih specijalizovanih inhouse projekata.
Polako, nije to jos iskljuceno. Iskreno, ako propadne ovaj "prinudni" upgrade sa 7/8.1 na 10, to ce biti sledeci korak u pokusaju da "konvergiraju" platforme. Ili to ili ce biti freeware. Ono, mozda ce ljudi da uzmu ako je dzabe... Ali samo mozda.

naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić