TimeConstrained

TimeConstrained[expr,t]

evaluates expr, stopping after t seconds.

TimeConstrained[expr,t,failexpr]

returns failexpr if the time constraint is not met.

Details

  • TimeConstrained generates an interrupt to abort the evaluation of expr if the evaluation is not completed within the specified time.
  • TimeConstrained evaluates failexpr only if the evaluation is aborted.
  • TimeConstrained returns $Aborted if the evaluation is aborted and no failexpr is specified.
  • TimeConstrained is accurate only down to a granularity of at least $TimeUnit seconds.
  • Aborts generated by TimeConstrained are treated just like those generated by Abort, and can thus be overruled by AbortProtect.
  • TimeConstrained[expr,Infinity] imposes no time constraint.
  • TimeConstrained may give different results on different occasions within a single session, for example as a result of different conditions of internal system caches.
  • TimeConstrained takes account only of CPU time spent inside the main Wolfram Language kernel process; it does not include additional threads or processes.

Examples

open allclose all

Basic Examples  (2)

Terminate a computation if it takes more than 1 second:

Terminate a computation if it takes more than 2 seconds:

With the default method, it gets a (not quite as accurate) solution within the time constraint:

Properties & Relations  (1)

TimeRemaining[] gives the number of seconds until the enclosing TimeConstrained aborts the evaluation:

Introduced in 1988
 (1.0)
 |
Updated in 2007
 (6.0)