TimeConstrained

TimeConstrained[expr,t]
evaluates expr, stopping after t seconds.

TimeConstrained[expr,t,failexpr]
returns failexpr if the time constraint is not met.

DetailsDetails

  • 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.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

Terminate a computation if it takes more than 1 second:

In[1]:=
Click for copyable input
Out[1]=

Terminate a computation if it takes more than 2 seconds:

In[1]:=
Click for copyable input
Out[1]=

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

In[2]:=
Click for copyable input
Out[2]=
Introduced in 1988
(1.0)
| Updated in 2007
(6.0)