jperraud,
Firstly, THANK YOU, your feeling about the SetHandleAsInvalid being the problem was absolutely correct! That line did seem to be stopping my ForceGarbageCollection and gc() commands from freeing up everything.
Secondly, the reason the function takes so long is simply the number of OLS models which are being run (>100k). I've tested performance against .NET native methods such as ExtremeOptmisation - and while a bit slower, R+RDotNet is certainly in the same order of magnitude. I am using the branch which you made after you fixed up the array loading performance hit - this in fact, did improve my performance by close to two orders of magnitude, and is why I enjoying the strong performance I am today.
Thanks again,
Donald
Firstly, THANK YOU, your feeling about the SetHandleAsInvalid being the problem was absolutely correct! That line did seem to be stopping my ForceGarbageCollection and gc() commands from freeing up everything.
Secondly, the reason the function takes so long is simply the number of OLS models which are being run (>100k). I've tested performance against .NET native methods such as ExtremeOptmisation - and while a bit slower, R+RDotNet is certainly in the same order of magnitude. I am using the branch which you made after you fixed up the array loading performance hit - this in fact, did improve my performance by close to two orders of magnitude, and is why I enjoying the strong performance I am today.
Thanks again,
Donald