.NET wird "just in time" compiliert.
D.h. beim ersten Aufruf einer Funktion wird diese compiliert.
Vorteil beim "jitten" ist, daß sich der Compiler am aktuell verfügbaren Prozessor orientieren kann, deswegen wäre es theoretisch auch denkbar, daß .NET (oder auch Java) bei bestimmten Aufgabenstellungen schneller als nativ compilierter Code ist.
Nachteil ist allerdings, daß der erste Aufruf langsam ist, da ja erst compiliert werden muß.
Es gibt auch per "ngen" die Möglichkeit, die IL vorzukompilieren, sodaß dieser erste Overhead entfällt.
Das Einzige, was wirklich fehlt, ist ein Linker, der wirklich nur die Funktionen des Frameworks hinzufügt, die auch verwendet werden. D.h. du mußt immer das komplette Framework mitausliefern.
C# ist also eher vergleichbar mit Java als mit C++.
Nur daß es plattformabhängig ist...
(jaja, Mono, trotzdem)
|