TimeConstrained

TimeConstrained[expr,t]
expr を評価し,t 秒経過すると停止する.

TimeConstrained[expr,t,failexpr]
制限時間を超過するとfailexpr を返す.

詳細詳細

  • TimeConstrainedexpr の評価が指定された時間内に完了しなかった場合,この評価を破棄する割込みを作成する.
  • TimeConstrainedは評価が放棄されたときに限りfailexpr を評価する.
  • TimeConstrainedは,この評価が破棄され failexpr が指定されていない場合,$Abortedを返す.
  • TimeConstrainedは,$TimeUnit秒の粗さまでの精度しか持ち合せていない.
  • TimeConstrainedによって作成される破棄はAbortが作成するものと同様に取り扱われる.したがってAbortProtectでくつがえすことができる.
  • TimeConstrained[expr,Infinity]は時間制限を課さない.
  • 同じセッション中であっても,例えば内部のシステムキャッシュが異なる場合等は,TimeConstrainedが異なる結果を返すこともある.
  • TimeConstrainedは内部の主Wolfram言語カーネルプロセスでかかったCPU時間だけを考慮する.付加的なスレッドやプロセスは考慮しない.

例題例題すべて開くすべて閉じる

  (2)  (2)

計算が1秒より長くかかる場合は中止する:

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

計算が2秒より長くかかる場合は中止する:

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

デフォルトメソッドでは,制約時間内で解が(それほど正確ではないが)求まる:

In[2]:=
Click for copyable input
Out[2]=
1988年に導入
(1.0)
| 2007年に修正
(6.0)