Domino 9 und frühere Versionen > Entwicklung

Script Problem

<< < (3/5) > >>

ata:
@Axel

... genau das habe ich ja geschrieben...

@Axel_Janssen

... For i = 1 to dc.Count ist besser, denn es wird eine klare Anzahl durchlaufen. While ... Wend ist sehr weit verbreitet, aber nicht unbedingt schneller, da eine fortwährende Überprüfung der Bedingung bei jedem Teilschritt innerhalb geführt werden muß. Was das in Sekunden bedeutet kann ich nicht sagen. Der von mir beschriebene Weg ist der effizienteste den ich kenne...

ata

Rob Green:
@ata, wie schreibt sich eknoris Sig:

Every little programming improvement means nothing, but
the sum of all the little improvements is what makes the difference.

Bingo :)
Ich werde in Zukunft statt dem While die For Schleife verwenden, hast Recht. Wenn denn der Check auf eine While Bedingung mit "doc is nothing" wirklich nicht schneller als der Check auf einen maximalen Count ist. Ich "befürchte" aber fast, daß "Nothing" schneller zu checken ist, als ein Integer, da es weniger Speicher einnimmt (denk ich mal) und die Bedingungsüberprüfung dadurch etwas schneller läuft. Eine Integer Zahl muß ja vom Prozessor zerlegt werden und bit für bit verglichen werden. Ein Nothing...tja, wenn ich das wüßt.

Hier die Definition von Nothing:
the initial value of an object reference variable. As soon as you assign a specific reference to the variable, the variable no longer contains NOTHING. You can explicitly assign the value NOTHING to an object reference variable. To test a variable for the NOTHING value, use the Is operator

Ich denke, daß damit recht klar sein müßte, daß eine For Schleife etwas langsamer als ein While Schleife sein sollte, gerade weil ein Test auf eine nicht referenzierte Objektvariable nur True/False sein kann, was technisch gesprochen weniger CPU Schritte beim Vergleich bedeutet als ein count gegen einen max count (bitweiser Vergleich zweier Integerzahlen).

ata:
... ich hatte mal testweise verschiedeneKonstrukte mit der Zeit verglichen. Ich benutzte anstelle von Integer einen Long als Zählervariable und war geringfügig schneller mit For... Next

ata

harkpabst_meliantrop:
Man könnte das ja mal mit der StopWatch-Klasse aus dem View-Artikel zu Performance-Messung (ist etwa 2 Jahre her, denke ich) ja mal explizit nachmessen.

Ich tendiere allerdings wie ata zur For-Schleife. Gecheckt werden muss da ja in jedem Durchgang überhaupt nichts, die Schleife läuft einfach so lange durch, wie man anfangs definiert hat. Und die Berechnung der Count-Eigenschaft dürfte rechenzeitmäßig quasi umsonst sein, da die garantiert (das ist meine persönliche Vermutung) schon bei der Erzeugung des dc-Objekts berechnet wird.

Rob Green:
hab eine Information bekommen, daß auf der Lotus Devcon (soll angeblich in Vegas 2000 gewesen sein) die Aussage gemacht wurde, daß While Wend schneller sind.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln