I have been working on improving the performance of my interface, and I came across some performance results that I don't understand. I have a local variable (local!initialData) that calls an expression rule. I have a second local variable (local!dataCapture) that is just a copy of local!initialData. Looking in the performance tab of the interface, both of these local variables take the exact same amount of time to evaluate (+/- 1ms). However, I would expect local!initialData to take longer than local!dataCapture since local!dataCapture is just copying the data from local!initialData, not running the expression rule.
Can anyone explain this to me? Is this to be expected, or am I doing something wrong to cause this to happen?
I have attached an image of the performance numbers for these two local variables and have included the definitions of both below.
Thanks in advance!
local!initialData: a!forEach( local!orderLineData, rule!SSTH_initialData( orderLineData: local!orderLineData, index: fv!index, desiredOutput: "dataCapture" ) ), local!dataCapture: local!initialData,
Discussion posts and replies are publicly visible
Is the data being loaded into local!dataCapture a bit bulky? That could explain why the copy is also taking some time. Beyond that, just remember that execution times can be a bit random between different runs of the rule.
Yes, the data being copied into local!dataCapture can be fairly large.
The execution time of the rule does vary for each run, however local!dataCapture and local!initialData always take almost exactly the same amount of time.