MathGroup Archive 2010

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

Search the Archive

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.



  • Prev by Date: Re: If and Piecewise don't quite do what I need
  • Next by Date: Re: Importing data
  • Previous by thread: Re: Manually nested Tables faster than builtin nesting?
  • Next by thread: Re: Manually nested Tables faster than builtin nesting?