You could write your own std deviation ClassMethod() in ObjectScript. You then have the flexibility to use that however you want.
The logic doesn't look that complex, and for a few thousand rows would run fast enough in Object Script.
See link below for the calculations you need to do:
https://www.scribbr.com/statistics/standard-deviation/
You can validate your results with the STDDEV(SQL) method, which will also allow you to compare performance.
For me, if I was faced with 2 possible solutions and was concerned about performance, I would simply test both solutions within a loop and time how long it takes to do n number of loops.
Something like this
{ ClassMethod SolutionA() As %Status
{
set x=9
quit $$$OK
} ClassMethod SolutionB() As %Integer
{
set x=9
quit 1
} ClassMethod TestSolutions()
{
write "SolutionA Start : "_$zdatetime($ztimestamp,3,1,3),!
for i=1:1:90000000 {
set ret=..SolutionA()
}
write "SolutionA End : "_$zdatetime($ztimestamp,3,1,3),!
write "SolutionB Start : "_$zdatetime($ztimestamp,3,1,3),!
for i=1:1:90000000 {
set ret=..SolutionB()
}
write "SolutionB End : "_$zdatetime($ztimestamp,3,1,3),!
} }
I have just had to do something similar, but needed it to be Case Sensitive.
The only solution that I could find that would be Case Sensitive was the SQL solution.