webForumDet fria alternativet

Bäst prestanda

.NETur .NET

6 svar · 403 visningar · startad av Poffe

Poffes avatarPoffeMedlem sedan apr. 20022 743 inlägg
Frågan#1

Hej!

Jag håller på med ett program som kommer skicka stora mängder data mellan olika klienter, och ibland även flera stora mängder samtidigt.

Jag håller på att göra en User Control som sköter det, en sänd och mottagar modul helt enkelt och när man ska sända flera olika data samtidigt så skapar man bara en till sådan modul i programmet, med olika Index då.

Så långt fungerar det bra men min fråga är vad som är bäst rent prestanda mässigt. Att komplilera kontrollen till en .dll-fil eller ha den som den är, en vanlig User Control alltså.

När sändning/mottagning pågår kommer ju kontrollen jobba rätt mycket (det är därför jag gjort en egen kontroll av den och inte har det direkt i programmet) så vad är bäst? Enklast är ju att slippa .dll-filer om man behöver ändra eller så i kontrollen.

nikoMedlem sedan juni 20022 599 inlägg
#2

Om jag ska vara ärlig så förstår jag inte riktigt frågan:

Undrar du över skillnaden mellan en ActiveX Control och en ActiveX Dll? Eller över skillnaden mellan att ha koden direkt i exe:n gentemot att ha den i en separat kontroll?

Poffes avatarPoffeMedlem sedan apr. 20022 743 inlägg
#3

Mellan att ha det i exe:n och en separat kontroll.

Jag har dock redan fått svar på pellesoft.se och det gör ingen skillnad om man inte skulle skapa dll:en i Delphi eller C, görs den i VB bar det ingen betydelse då den inte blir StandAlone då.

nikoMedlem sedan juni 20022 599 inlägg
#4

Poffe skrev:

.. och det gör ingen skillnad om man inte skulle skapa dll:en i Delphi eller C, görs den i VB bar det ingen betydelse då den inte blir StandAlone då.

Det där låter i mina öron mest som kvalificerat svammel. Men visst, är du nöjd med det så ..

/red: För att förtydliga: Om dll:en är "standalone" (jag antar att det betyder att de använder VB:s run-time) eller inte är knappast relevant eftersom VB:s run-time redan är mappad i den process som laddar dll:en.

Poffes avatarPoffeMedlem sedan apr. 20022 743 inlägg
#5

niko skrev:

Det där låter i mina öron mest som kvalificerat svammel. Men visst, är du nöjd med det så ..

Kan inte du då förklara hur det egentligen står till?

nikoMedlem sedan juni 20022 599 inlägg
#6

Kan inte du då förklara hur det egentligen står till?

Om man ifrån en exe läser in binär kod som ligger i en dll/ocx/com-komponent eller liknande så kommer man alltid att få en liten (inital) "performance-hit" gentemot om koden var lagrad direkt i exe:n. När koden väl är laddad så körs den som en del av samma process och det finns ingen skillnad.

Men å andra sidan: Anledningen till att man skriver en dll/ocx/com-komponent har ju inget att göra med prestanda. Anledningen är istället helt enkelt att man vill skapa kod-moduler som man själv (och andra) på ett smidigt sätt kan återanvända.

Vad gäller snacket om att en VB-dll inte är "standalone": Alla dll:er som överhuvudtaget gör något vettigt "laddar" och är beroende av massvis med andra dll:er (kernel32.dll, user32.dll, gdi32.dll, wsock32.dll osv ..) oavsett om de är skrivna i VB, Delphi, C++ eller något annat. I den bemärkelsen är inga dll:er "standalone" och det har heller ingen relevans för din fråga. Det verkar som om personen som skrev det tror att du vill skriva en vanlig Windows-dll, vilket du ju inte vill och vilket heller inte går i VB.

Poffes avatarPoffeMedlem sedan apr. 20022 743 inlägg
#7

Tack niko!

129 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)