webForumDet fria alternativet

dll anrop

.NET

3 svar · 272 visningar · startad av henrikjohansson

Medlem sedan maj 2000360 inlägg
Frågan#1

jag gör ca 60000 dll anrop (inte COM) i en C# applikation och då undrar jag hur lång tid bara själva anropet tar?
det jag funderar på är om man bygger om dllen så att det räcker med 3-4 anrop och så kör dessa funktionerna de en funktion körs 60000 gånger istället för att anropa detta utanför dllen.

förstår ni hur jag menar? och ungefär hur mycket tid sparar man?

Medlem sedan maj 20012 812 inlägg
#2

Som jag har förstått det så spelar det ingen större roll om du 60000 anrop till en method i en DLL eller du gör en DLL som anropar en method 60000 gånger så länge DLL finns i samma process. Om de inte finns i samma process så måste du använda Remoting och då tar det tid....

Hur mycket tid du spara kan du ju enkelt mätta själv. Sett en startTime och en endTime runt dina 60000 method anrop och jämför tiderna. Bör inte vara allt för stor skillnad.

- M

Medlem sedan maj 2000360 inlägg
#3

ok.. tack för svaret... eftersom jag inte gjort den dllen själv som jag använder nu.. så tänkter jag inte lägga tid eller pengar på att kolla hur liten/stor skillnad det gör, eftersom det dllen gör är ganska klurigt att lösa själv.

Medlem sedan maj 20012 812 inlägg
#4

Du behöver ju inte använda den DLL:en. Du kan skapa en ny test dll. Som har 2 methoder.

Den första methoden gör någon dummy kod, så det tar lite tid.

Den andra mehoden kallar på den första 60000 gånger.

Sedan gör du ett program som först kallar på DLL.Method1 60000 gånger och sedan kallar på DLL.Method2 en gång så kan du mätta tiden, mellan de olika testen.

- M

259 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)