Re: Uniform design
- To: mathgroup at smc.vnet.net
- Subject: [mg48289] Re: Uniform design
- From: Bill Rowe <readnewsciv at earthlink.net>
- Date: Fri, 21 May 2004 03:54:36 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
On 5/20/04 at 4:03 AM, ab_def at prontomail.com (Maxim) wrote: >Besides, there's a matter of 'optimizations' that Mathematica uses >for Sum (an issue which was discussed in this newsgroup a while >ago): >In[1]:= Module[{cnt = 0}, Sum[cnt += 1, {i, 10^6}] ] >Module[{cnt =0}, Sum[cnt += 1, {i, 10^6 + 1}] ] >Out[1]= 500000500000 >Out[2]= 1000001 Clearly, this is a bug. But consider In[1]:= Timing[Module[{cnt = 0}, Sum[cnt += 1, {n, 10^6}]]] Out[1]= {8.69*Second, 500000500000} In[2]:= Timing[Sum[n, {n, 10^6}]] Out[2]= {2.549999999999999*Second, 500000500000} In[3]:= Timing[Sum[n, {n, k}] /. k -> 10^6] Out[3]= {0.019999999999999574*Second, 500000500000} It seems to me far more natural to due either Sum[n, {n, 10^6}] or Sum[n, {n,k}]/.k->10^6 then what you've shown. Not only are these more natural, they are faster and avoid the bug. -- To reply via email subtract one hundred and four