|27 Jan 2018, v0.0.3 (Beta) (CHS)|
|There seems to be a lot of wasted calculation when reducing grid size. If I run a job where there is a small range of possible troops allowed, the grid calculations (x64x, x32x, x16x, etc) all seem to repeat the same calculations for the hi and lo range of troops numbers, at each resolution. Finally, as resolution drops below the give range, there are additional calculations for the middle of the allowed range.
I am guessing this is how it works by looking at the “progress” column.
There is enormous potential for speed up by saving calculations at points in the grid which will be repeated in the next smaller resolution.
|Your observation is absolutely right. A pre-v0.0.1 version of Centurion used to memorise previously calculated attacks in a job to prevent re-calculation but that ran into memory trouble. Centurion already uses up very much memory with optimisations of two and more waves. That’s why I removed the memorisation at the cost of calculation time.
But it is worth thinking about a smarter way of doing this; the initial approach was quite naive and may be improved. I’ll see if I can get something feasible running for v0.1.
|v0.0.4 (Beta): Caching of results from previous grids, slight acceleration.|