(Gast)
n/a Beiträge
|
Re: Delphi 8 und das .NET
31. Aug 2004, 10:06
- .Net = langsam?
.Net ist nach meiner Erfahrung nur langsamer wenn das sog. "marshaling" verwendet wird.
Das ist ein Trick mit dem .Net Datentypen zu WinApi-Typen "übersetzt" werden (und auch andersherum ).
Das läuft einem bei COM oder P/Invoke über den Weg.
Außerdem bestraft einen die CLR für jeden P/I Call mit einem kompletten Stackwalk -> Es muss ja schließlich ALLES .Net compliant gefriemelt werden bevor eine Win32-DLL in/neben der CLR laufen darf.
Das ist auch der Grund warum die VCL.Net so ar***langsam ist.
- .Net = ressourcenhungrig?
Jedem, der erste Gehversuche mit .Net macht dürfte eins aufgefallen sein: Die Anwendungen verbrauchen verdammt viel RAM!
Der Grund ist eigentlich total simpel:
Solange dein System noch genügend freien RAM hat, sieht die Garbage Collection überhaupt keinen Sinn dahinter, unnötig CPU-Leistung zu vergeuden um aufzuräumen.
Wer unbedingt aufräumen will kann zum Bleistift nach einer Schleife ...GC.Collect();
... ausführen.
Ein weiterer Grund für den hohen RAM-Verbrauch dürfte das ADO.Net DataSet sein.
Da man sich mit einem DataSet eine Menge Arbeit ersparen kann, wird es oft eingesetzt.
Da das DataSet aber _fast_ eine eigene Databank ist, braucht es natürlich wesentlich mehr Ressourcen als ein simpler Array oder eine Collection.
|
|
Zitat
|