Timing

Timing[expr]
evaluates expr, and returns a list of the time in seconds used, together with the result obtained.

DetailsDetails

  • Timing has attribute HoldAll.
  • Timing[expr;] will give {timing,Null}.
  • Timing is accurate only down to a granularity of at least $TimeUnit seconds.
  • Timing includes only CPU time spent in the Wolfram Language kernel. It does not include time spent in external processes connected via WSTP or otherwise. Nor does it include time spent in the Wolfram System front end.
  • Timing[expr] includes only time spent in the evaluation of expr, and not, for example, in the formatting or printing of the result.
  • Timing should give accurate results on all operating systems where the running of processes is specifically scheduled by the operating system.
  • On certain computer systems with several CPUs, the Wolfram Language kernel may sometimes spawn additional threads on different CPUs. On some operating systems, Timing may ignore these additional threads. On other operating systems, it may give the total time spent in all threads, which may exceed the result from AbsoluteTiming.
  • Timing[expr] may give different results on different occasions within a session. A typical reason is the use of internal system caches, which can be cleared with ClearSystemCache.

ExamplesExamplesopen allclose all

Basic Examples  (3)Basic Examples  (3)

Timing for a computation:

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

Compare timings for doing a computation different ways:

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

Suppress output to check the timing when the results are very large:

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

Make a plot comparing times for computing an FFT of length n:

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