Performance: StampAllMulti, ReplaceItemValue of Extended Class
dinsdag, 13 januari 2009 door Martin Schaefer
Sinds Lotus Notes 8.5 is het mogelijk om de StampAllMulti methode te gebruiken om velden aan te passen op documenten in een collectie (Notesdocumentcollection of Noteviewentycollection). Lees mijn vorige post voor meer nieuwe methodes in Lotusscript.
Tijd om te kijken hoe de StampAllMulti methode presteert.
Resultaten
De test is als volgt opgebouwd
We testen een schone database met een view waarin documenten staan. Deze documenten worden vanuit die view voorzien van 5 nieuwe velden op de volgende manieren
- StampAllMulti
- "Extended Class" syntax (notesdocument.veldnaam = "veldwaarde")
- ReplaceItemValue
Voor de Extended class syntax en ReplaceitemValue zullen de documenten via een "Getfirstdocument ... While ... Getnextdocument" loop opgezocht worden. Het verschil tussen de Extended class en ReplaceItemValue heb ik altijd al een keer willen bekijken dus dit is daarvoor een mooie gelegenheid.
Conclusie
Het loont om viewloops en meerdere 'StampAll' calls om te bouwen naar StampAllMulti. Uiteraard moet dit per geval worden bekeken aangezien je in viewloops veel flexibeler bent. Zo is het in een viewloop mogelijk om te bepalen of een bepaalde waarde wel of niet aangepast moet worden.
Verder is het verschil tussen de Extended Class en ReplaceItemValue wel degelijk aanwezig. Best practice blijft dus om ReplaceItemValue te gebruiken.