Re: Timing of looping operators
- To: mathgroup at smc.vnet.net
- Subject: [mg62425] Re: [mg62416] Timing of looping operators
- From: Pratik Desai <pdesai1 at umbc.edu>
- Date: Thu, 24 Nov 2005 06:33:23 -0500 (EST)
- References: <200511230931.EAA20248@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
dh wrote: >Hello, >The Mathematica gospel tells you that you should NOT use loops because >it is inefficient. >Well consider the following examples and their times: > >n=10^6; >d=Table[i,{i,n}]; >fun[x_]:=x; > >a) Timing[fun & /@ d;] needs 0.8 sec >b) Timing[Scan[fun, d]] needs 1 second >c) Timing[Do[f[i], {i, n}];] needs 0.7 sec > >a) applies the function and creates a new list. b) does not create a new >list -- but it is slower! And finally c) the loop is fastest!!! > >If you change the function to: f[x_]:=x^2, the times are even more striking: > >0.8, 2.4, 0.7 >it seems like in a and c the function evaluation takes negliable time >compared to the loop construct, but not so in b. > >has anybody an explanation??? > >Daniel > > > Looking at your expression, one can just use table alone d=Timing[Table[i,{i,n}];] >>{0.06 Second, Null} In mathematica, IMHO, table is the primary loop construct Hope this helps Pratik . -- Pratik Desai Graduate Student UMBC Department of Mechanical Engineering Phone: 410 455 8134
- References:
- Timing of looping operators
- From: dh <dh@metrohm.ch>
- Timing of looping operators