Re: Manually nested Tables faster than builtin nesting?
- To: mathgroup at smc.vnet.net
- Subject: [mg113429] Re: Manually nested Tables faster than builtin nesting?
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Thu, 28 Oct 2010 04:27:23 -0400 (EDT)
On 10/27/10 at 5:13 AM, sschmitt at physi.uni-heidelberg.de (Sebastian Schmitt) wrote: >I find that manually nested Tables are faster (factor 2 in my >example) compared to the builtin nesting. I probably do a stupid >thinko. Could you please have a look? >In[52]:= imax = jmax = 5000; >In[53]:= (tabletable = Table[Table[i*j, {i, imax}], {j, jmax}];) // >Timing // First >Out[53]= 1.84 >In[54]:= (table = Table[i*j, {i, imax}, {j, jmax}];) // Timing // >First >Out[54]= 14.55 I get similar timing results. My speculation is as follows: When you use the built-in nesting, you explicitly do 25 million multiplies. No possibility of vector processing. But when you use explicit nesting, you are multiplying a packed array by a scalar. My guess is Mathematica employs some vector processing here and gains a speed up over individual multiplies. If my speculation is right, then there should be some operations which will not gain such a dramatic speed-up.