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 can 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:

Scope  (2)

Specify the value to return if the time constraint is reached:

Use CheckAbort inside TimeConstrained to select which parts are skipped if the limit is reached:

Properties & Relations  (5)

The third argument is only evaluated if the time limit is reached:

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

A nested AbortProtect can block the action of TimeConstrained:

An enclosing AbortProtect is overridden by TimeConstrained:

While code inside the TimeConstrained is terminated, AbortProtect runs to completion:

TimeConstrained can constrain the first argument of CheckAbort, but not the second:

Wolfram Research (1988), TimeConstrained, Wolfram Language function, https://reference.wolfram.com/language/ref/TimeConstrained.html (updated 2007).

Text

Wolfram Research (1988), TimeConstrained, Wolfram Language function, https://reference.wolfram.com/language/ref/TimeConstrained.html (updated 2007).

CMS

Wolfram Language. 1988. "TimeConstrained." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2007. https://reference.wolfram.com/language/ref/TimeConstrained.html.

APA

Wolfram Language. (1988). TimeConstrained. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TimeConstrained.html

BibTeX

@misc{reference.wolfram_2024_timeconstrained, author="Wolfram Research", title="{TimeConstrained}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/TimeConstrained.html}", note=[Accessed: 19-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_timeconstrained, organization={Wolfram Research}, title={TimeConstrained}, year={2007}, url={https://reference.wolfram.com/language/ref/TimeConstrained.html}, note=[Accessed: 19-March-2024 ]}