Performance: < Len(string) = 0 > oder < string = "" > ?

MAN

Erfahrenes Mitglied
Hallo,

wie schon im Betreff gefragt, was ist performance-mäßig schneller:

Code:
If Len(string) = 0 Then
   '...

'oder

If string = "" Then
   '...
?

Vielleicht hat auch noch zur weiteren Performanceverbesserung einer eine gute Seite, oder Tut, wo man solche und auch andere VB-Performance-Tipps finden kann.

Die beiden Tuts von tutorials.de hab' ich auch schon durchgemacht, sehr interessant - danke!


mfG,
MAN
 
In dem Tutorial steht meines Wissens auch drin dass Len(string) = 0 schneller ist. Du kannst das aber auch einfach messen indem du die Abfrage ca. 10000 mal hintereinader machst und mittels TicketCount-API die verstrichene Zeit misst. Aber ist nicht
Code:
If Not Len(string) then
noch schneller?
 
Oh, schein ich ganz übersehen zu haben mit dem Len(...) ... - sorry! :rolleyes:

Aber das mit Not ist bestimmt noch schneller, stimmt...

Mal ausprobieren - danke für den Tipp (die Tipps)

mfG,
MAN
 
Hi!

Zu deiner Frage:

" Len(string) = 0 " dürfte eigentlich schneller sein, da hier Zahlenwerte verglichen werden.Und Zahlenwerte lassen sich immer schneller vergleichen.
Meiner Meinung nach ;)
 
Jup, du hast recht - ich habs mal ausprobiert und ausgerechnet, ist bei mir ein satter Performance-Unterschied von 26%, wenn man es noch als If Not Len(string) Then macht!


mfG,
MAN
 
Das Stimmt, ich habe einfach zwei For Schleifen laufen lassen, die ein paar mal durchlaufen, und dazwischen habe ich dann auch noch mehrere abfragen mit "...len(string)..".

Rausbekommen hatte ich irgendwas mit 2700 Millisekunden bei der Performanteren Lösung. Die Alternative hatte irgendwas mit 3600 ms.

@Shakie: Danke für den Tipp mit der Api GetTickCount(), damit kann man echt viel ausprobieren!

mfG,
MAN
 
Sollte auch nur heissen, dass es im Prinzip egal ist was du nimmst.. Du wirst es in deinen Programmen nicht merken.. Etwas anderes wäre es in beispielsweise c++, wenn man sich überlegt, ob man i++ oder ++i nimmt.. Eine for-Schleife zum Beispiel, die bis 10000 läuft und das mehrere Male, würde sich da schon bemerkbar machen..
 
Zurück