MathGroup Archive 2002

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

Search the Archive

RE: AppendTo VERY slow

  • To: mathgroup at
  • Subject: [mg35314] RE: [mg35279] AppendTo VERY slow
  • From: "David Park" <djmp at>
  • Date: Mon, 8 Jul 2002 03:16:01 -0400 (EDT)
  • Sender: owner-wri-mathgroup at


In this case, it would have been beneficial to have read the Help for
AppendTo where it says...

"An alternative and often more efficient way to build up a list is to use a
sequence of assignments of the form s = {s, elem}, and then to call Flatten
on the resulting structure. "

Here is an example of the two methods.

outlist = {};
Do[AppendTo[outlist, {1, 2}], {count, 1, 10000}] // Timing
{11.43 Second, Null}

Here, instead of adding a List of two elements I add an f[two elements] and
then after Flattening I convert f to List.

outlist = {};
Do[outlist = {outlist, f[1, 2]}, {count, 1, 10000}] // Timing
(outlist = Flatten[outlist] /. f -> List;) // Timing
{0.05 Second, Null}
{0. Second, Null}

David Park
djmp at

> From: Mike [mailto:M.P.Croucher at]
To: mathgroup at
> I use lists a lot in mathematica and tend to use AppendTo[] a lot in
> my programs.  Recently I wrote a function that i call over and over
> again and found that the results were coming very slowly and i MEAN
> slowly.  I was doing Fourier Transforms and all kinds of stuff so I
> put it down to those at first but I have just put in a load of Print
> statements just after each part of the function to see what was taking
> so long.
> I was amazed to see that the Fourier Transforms were so quick and what
> was actually taking the time was a part of my function that collected
> the results togther in the form I wanted and outputted the result.  It
> looks like this
> Do[
>     	elem = {xlist[[count]], ylist[[count]]]};
>     	AppendTo[outlist, elem];
>      , {count, 1, number}
>     ];
> It seems that as the list grows it gets slower and slower.  Any tips
> on a way around this would be greatly appreciated (would speed my life
> up no end)
> Thank
> Mike

  • Prev by Date: Strategy for overly long computations?
  • Next by Date: RE: AppendTo VERY slow
  • Previous by thread: Re: AppendTo VERY slow
  • Next by thread: RE: AppendTo VERY slow