Performance alternatives

Yes, replacing the whole Model.nodeDataArray with ever increasing length Arrays would cause that N^2 behavior.

I think you can greatly decrease the setTimeout delay from 900 to 1.

I suspect that each time you call Model.add… you need to do so within a transaction. But I’m not sure that’s the only problem. I assume you originally just set model.nodeDataArray = this.simulationMonth.listSimulationPositions()?