We've encountered a behavior that is quite surprising using the PiPoint.RecordedValuesAtTimes.
The below results are all from requesting 10000 values from a one hour time span.
Pi point has one recorded value every second for requested time span, time to complete call 158,7 milliseconds (satisfactory performance)
Pi point has ten recorded values every second for requested time span, time to complete call 204,3 milliseconds (29% slower, kind of expected)
Pi point has one recorded value every 30 seconds for requested time span, time to complete call 3893 milliseconds (2443% slower, unexpected)
Can anyone explain this behavior (in particular, why the last request takes so much more time to complete).
The output we want is exactly what this function provides, is there some other way we can get the same information using a different approach?
To anyone from Osisoft: Is this a known issue?
Btw, we have also tried AFCalculation.CalculateAtIntervals with the expression "PrevVal(piPoint.Name)". This is almost 50% slower than the one mentioned above (but the relative differences in the various scenarios are about the same).