the 59 second time limit is the time limit of Amazon's Elastic Load Balancer for idle connections (c.f. https://forums.aws.amazon.com/thread.jspa?threadID=33427).
So this works as designed and we are aware that this is a problem sometimes.
To allow for longer running requests we are planning to allow asynchronous requests.
Also, we will report an error for requests that exceed this limit.
But both of these features are not available on 1.4.4.
Is there a way to split the calculation into smaller parts (e.g. calculate the railroad diagrams for a subset of the productions at a time)?
If so you could split it up and store partial results in a collection for later assembly.
Would this help?
Also, it is surprising that the calculation takes a lot less time on your local machine.
Could you tell us a little bit more about
- the specification of the machine and about
- the memory consumption while it performs this calculation?
Regards,
Till
thank you for the more detailed analysis.
With these numbers it seems that there is indeed no immediate need to restructure the code.
And I also agree with you that Sausalito is bound to become faster, so things will improve anyway.
Looking at it in a little more detail, you CPU seems to be quite a bit more powerful than the 1-2 EC2 compute units that the request would use, which explains the difference in the processing time. The memory consumption should obviously not be a problem.
It would indeed be helpful, if you would send the source code for the test.
If e-mail is ok, could you send it to sup...@28msec.com?
Regards,
Till