Frage zu Performance-Verhalten

22/10/2007 - 09:16 von Michael Andreas | Report spam
Hi,

Thema: unmanaged code calls managed code (per COM)
siehe: http://support.microsoft.com/kb/828736

Feststellung: Der erste Aufruf einer Methode aus der managed DLL
dauert ziemlich lange, danach geht das sehr schnell.

Frage: Woran liegt das? Könnte ich das Laden in den Programmstart
verlegen, damit der Anwender die Verzögerung nicht merkt?

Danke Michael
 

Lesen sie die antworten

#1 Boas Enkler
22/10/2007 - 09:25 | Warnen spam
Hi Michael

zum einen dauert das instanzieren des COMServers an sich schon etwas
zeit (Ggf. kann man das vorverlagern?)

Zuàstzlich kommt bei managed Code noch dazu dass die Typen die du in der
DLL Verwendest ebenfalls geladen werden müssen, auch das kostet zeit.

Insofern am besten die DLL früher instanzieren oder zumindest Typen aus
dem .NET Framework z.bsp. in einer vorgeschalteten .NET DLL laden.

in der vorgeschalteten .NET DLL kannst du auch mit Assembly.Load manuell
Assemblies "vorladen".

Irgendwo habe ihc bei MS da auch schon zur Optimierung des Startup
Verhaltens gesehen :)

Ähnliche fragen