Hiho nochmals :-)

Glaube nicht dass es um den GC geht. Primär geht’s darum, dass ein
zusammensetzen 

sql = "select * from Tabelle "
sql = sql & "where...)

eigentlich nicht auf demselben String geschieht. Es wird nicht einfach der
besetehende String erweitert, sondern ein neuer wird instanziert. Dann wird
der alte Wert dem neuen inklusive dem neuen Wert zugewiesen. Das allozieren
des neuen Strings-Objektes das kostet Performance. Also bei zwei Zeilen wie
im Beispiel wird das noch vernachlässigbar sein, aber wenn man in einem Loop
über 10,20,50,100 Zeilen das Spiel macht, dann kann ich mir schon
vorstellen, dass das ständige neu allozieren Zeit braucht (nes Objekt, das
sogleich nicht mehr gebraucht wird). Der GC wird wohl keine Performance
fressen, weil der erst dann kommt wenn er Zeit hat? Aber der Speicher wäre
dann natürlich eine Zeitlang mit viel Müll belastet...

Aber bitte - meine Aussage ist vage, ich wäre an einer fundierten
Stellungsnahme auch interessiert :-)

Patrik

> -----Ursprüngliche Nachricht-----
> Von: Brunmair Patrick (DLG) [mailto:[EMAIL PROTECTED] 
> Gesendet: Montag, 3. Oktober 2005 11:54
> An: [email protected]
> Betreff: AW: [Asp.net] Performance frage
> 
> Nur mal so ne frage ,
> wenn ich jetzt ein sql string zusammenbastle mit dem 
> stringbuilder und übergib es dann einem string dann hab ich 
> ja wieder den string.
> Vielleicht bin ich jetzt nur versteift auf etwas oder versteh 
> wieder mal etwas falsch .
> Beispiel:
> 
> Dim strbuilder as new system.text.stringbuilder Dim sql as string 
> 
> Strbuilder.append("select * from Tabelle") 
> Strbuilder.append(" where Feld1 in (") 
> Strbuilder.append("select Feld2 from tabelle2 where") 
> Strbuilder.append(" Art = " & Var1 )
> 
> Sql = strbuilder.tostring
> 
> ... und sql übergib ich dann meinen reader oder so.
> 
> worin liegt da jetzt der performancevorteil ??
> hat es mit dem zu tun da ich wenn ich es so mache  :
> 
> sql = "select * from Tabelle "
> sql = sql & "where...)
> 
> der string 4 mal in der carbage collection mitgeschiffen wird 
> und mit dem strbuilder nur ein mal .
> 
> hab ich dass richtig verstanden oder falsch ?????
> 
> danke
> Patrick
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair 
> Patrick (DLG)
> Gesendet: Montag, 03. Oktober 2005 08:26
> An: [email protected]
> Betreff: [Asp.net] Performance frage
> 
> Hallo,
> ich bin ein bischen am krübeln,
> ich weis ja dass gewisse dinge in der programmierung ein 
> performance plus oder minus bringen.
> zB.: beim stringbuilder den sollte man ja für strings 
> grundsätzlich verwenden . aber sollte man den auch bei 
> kleinen(select * from Tabelle where feld = feld) sql 
> statements nehmen ??
> 
> 
> 
> Mit freundlichen Grüßen
>  
> Patrick Brunmair 
>  
> 
> 
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
> 
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
> 

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an