Right now PHP's time limit is relied on to prevent run-away estimates, but this results in there being no indication of the difference between an estimate still being processed and one that has timed out. If the simulation keeps track of its own time limitation, it could raise an exception when it is reached so that the caller can handle it.
It could also then be possible to pass the partial estimate data within the exception for storage and later analysis.
Right now PHP's time limit is relied on to prevent run-away estimates, but this results in there being no indication of the difference between an estimate still being processed and one that has timed out. If the simulation keeps track of its own time limitation, it could raise an exception when it is reached so that the caller can handle it.
It could also then be possible to pass the partial estimate data within the exception for storage and later analysis.