Re: AppendTo VERY slow
- To: mathgroup at smc.vnet.net
- Subject: [mg35306] Re: [mg35279] AppendTo VERY slow
- From: BobHanlon at aol.com
- Date: Mon, 8 Jul 2002 03:15:36 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 7/6/02 6:53:23 AM, M.P.Croucher at Sheffield.ac.uk writes:
>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)
Use either
Transpose[{xlist, ylist}]
or
Thread[{xlist, ylist}]
Bob Hanlon
Chantilly, VA USA