MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

A timing puzzle

  • To: mathgroup at smc.vnet.net
  • Subject: [mg45163] A timing puzzle
  • From: Richard Gass <gass at physics.uc.edu>
  • Date: Fri, 19 Dec 2003 06:57:29 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Can anyone explain the following timing results.

In[1]:=

Table[First[Sum[i,{i,1,10^i}]//Timing],{i,1,12}]

Out[1]=
{0. Second,0. Second,0. Second,0.02 Second,0.36 Second,4.02 Second,0.19 
\
Second,0.04 Second,0.04 Second,0.04 Second,0.04 Second,0.04 Second}

For upper limits large than 10^6 the time drops dramatically. You can 
check this by comparing
Sum[i, {i, 1, 10^6 + 1}]//Timing with Sum[i, {i, 1, 10^6}]//Timing. I 
suspect that what is happing is that for upper limits less than 10^6 
Sum does the sum by adding the numbers but for upper limits larger than 
10^6 Sum does the computation with a symbolic upper limit to get

In[6]:=
Sum[i,{i,1,j}]

Out[6]=
j (1 + j)
---------
     2

and then evaluates the upper limit. This would explain the constant 
times from i=10^7 to i=10^12. Can anyone confirm or refute this?


  • Prev by Date: NDSolve with InverseFunction of a solution. (game theoretical)
  • Next by Date: Solving inequalities.
  • Previous by thread: NDSolve with InverseFunction of a solution. (game theoretical)
  • Next by thread: Solving inequalities.