I haven't played so much time. Right, it may kill the performance, but maybe it should check new route only if car stuck - this means, that not moving for some time, but have other free path/road to go. So it will check for path for first stuck car and move it, then next time for next one. The last one - will wait, but after some time all cars can go. Additional one or few cars (if many tracks changes for last day) won't need additional performance. Now it is impossible to check new solutions without stopping the source point.