Re: A riddle: Functions that return unevaluated when they

*To*: mathgroup at smc.vnet.net*Subject*: [mg82481] Re: A riddle: Functions that return unevaluated when they*From*: Szabolcs Horvát <szhorvat at gmail.com>*Date*: Sun, 21 Oct 2007 05:11:41 -0400 (EDT)*References*: <200710190859.EAA04845@smc.vnet.net> <ffckd0$slm$1@smc.vnet.net>

W. Craig Carter wrote: > Dear Szabolcs, > > I am not getting this timing behavior in another instance, > using a fresh kernel: > > e.g., > In[1] = FindInstance[a > b && b > c, {a, b}] // Timing > returns an FindInstance::exvar error, and the result > Out[1]= {0.036232, FindInstance[a > b && b > c, {a, b}]} > > But, > In[2] = FindInstance[a > b && b > c, {a, b}] // Timing > also returns an FindInstance::exvar error, but the result > Out[2] = {0.002348, FindInstance[a > b && b > c, {a, b}]} Thanks for the reply! The problem is that such short timing are not reliable. Mathematica is doing many things in the background that may influence the timing of the first evaluation: loading symbols, creating new symbols, automatically caching at least some results ... The timings I get on Windows are not very stable, two consecutive evaluations of the same expression sometimes differing by as much as 0.1 seconds. But when FindInstance[], Integrate[], or similar functions take a "long" time to evaluate (>= 1 second), this behaviour (re-revaluation every time I type the input) in reproducible. -- Szabolcs

**References**:**A riddle: Functions that return unevaluated when they cannot solve***From:*Szabolcs Horvát <szhorvat@gmail.com>