Dispatch

Dispatch[{lhs1rhs1,lhs2rhs2,}]
generates an optimized dispatch table representation of a list of rules. The object produced by Dispatch can be used to give the rules in .

DetailsDetails

  • The use of Dispatch will never affect results that are obtained, but may make the application of long lists of rules much faster.
  • Lists of rules are usually scanned sequentially when you evaluate an expression like . Rules such as and , which cannot simultaneously apply, need not both be scanned explicitly. Dispatch generates a dispatch table which uses hash codes to specify which sets of rules need actually be scanned for a particular input expression.
  • Lists of rules produced by assignments made with and are automatically optimized with dispatch tables when appropriate.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

Create a dispatch table from a list of rules:

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

The result after replacements is the same:

In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Out[4]=

Dispatch may be much faster for a long list of rules:

In[1]:=
Click for copyable input
Out[1]//Short=
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Out[4]=
Introduced in 1991
(2.0)