Topic: The handling capacity and calculation power of FSB
I would like to know the limits of FSB in terms of calculation power.
What I have - I'm developing a custom indi, which gathers data points from price data and then sorts and identifies them in data arrays, in short it collects data. After that I manipulate the array data into patterns in order to make very basic statistical analysis. There are no price signals or chart objects, in essence pure calculation.
The main part consists of 4 nested for loops. I wouldn't say it is such a heavy calculation. What tends to be extreme is array sizes:
int[] freq1 = new int[66666666];
Yes, it is 66 million and there are quite a few of them. But I'm not touching the max array size with it, and I had already system out of memory exceptions, which made me lower my expectations and numbers. I'm using those sizes because of indexing (patterns are indexes and so it makes life easier for me).
Now the main point: I can't finish the basic steps of this indi because when I try to add another for loop, I can't get FSB to finish the calculation even with very little actual data. A method call, which would substitute that last for loop, produces expectedly the same result.
Legacy FSB crashes, Pro keeps working but CPU usage >50% remains even when I remove my indicator.
In terms of errors I have only seen index out of range errors, which do not come from my code. Raising the size of one array fixed that ghost error, but I'm not sure why because the code is not exceeding the limits.
So no errors, just stalling/crashing with high CPU usage. When I remove the for loop, it works.
Yes, it is a bit heavy, calculation time for 100k bar data takes 10 seconds, but why can't it finish the whole code in 15 seconds? I don't care, it might as well do it 30, but it doesn't.
In the light of this, I would like to know where is exactly FSB's limit? I tend to understand it is not in my hardware or C# limits. Is it the program and where are its limits?