Domino 9 und frühere Versionen > ND6: Entwicklung

LotusScript - Lazy Evaluation?

<< < (2/2)

Skorpi:
In dem Redbook "Performance Considerations for Domino Applications" (http://www.redbooks.ibm.com/redbooks/pdfs/sg245602.pdf) wird die Aussage getroffen, dass alle Bedingungen in einem If-Statement ausgewertet werden, auch wenn die Erste bereits FALSE ergibt (siehe Kaptiel 3 Programming Considerations - Language Performance - LotusSript).

Kein, Lazy Evaluation!

Also am besten einfache If's verwenden und diese ineinander verschachteln. Laut dem Redbook kann das zu einer Beschleunigung von bis zu 40% führen.


--- Code: ---If a=x Then
  If b=y Then
    If c=Z Then
    ...

--- Ende Code ---

koehlerbv:
DANKE, Fabian!

Und ich muss dringend diesen Test von vor x Jahren auf CD aufstöbern, um zu sehen, welchen Mist ich damals gemacht habe (oder ich erinnere mich heute falsch).

Ich glaube, derart schief habe ich hier seit langem nicht mehr gelegen (und gut, das ich es für guten Stil halte, die Konditionen sowieso einzeln abzuarbeiten und hierbei die zu erwartende Wahrscheinlichkeit "vorherzuahnen").

Bernhard

m3:
@Andreas: LotusSCRIPT, nicht Formelsprache. Formelsprache hat Lazy Evaluation.
@Skorpi: Danke für den Pointer. In der Hilfe hab ich dazu nämlich leider nix gefunden.

Die Performancesteigerung durch die Verschachtelung ist mir wurscht, aber durch diese wüsten If-Kosntrukte wird der Code IMHO sehr unlesbar.

Sei es wie es sei, danke für Euren Input.

flaite:

--- Zitat von: m3 am 21.12.07 - 17:00:35 ---Die Performancesteigerung durch die Verschachtelung ist mir wurscht, aber durch diese wüsten If-Kosntrukte wird der Code IMHO sehr unlesbar.

--- Ende Zitat ---
Yup. Bei Performance Optimierungen sollte man immer schauen, ob das auch tatsächlich etwas bringt. In Ausnahmefällen kann das Fehlen von boolean short circuit Operators* (Boolsche Abkürzungs Operatoren [meine freie Übersetzung]) was bringen. Normal aber nicht. Ausnahme ist, wenn diese in einer Schleife stehen, die öfters durchlaufen wird.
Einfache Lesbarkeit des Code ist eben auch wichtig.
Und vor frühzeitiger Optimierung wird immer gewarnt.

* so heisst das in Java

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln