Speed of Join and Append. Was Re: Simple list question
- To: mathgroup at smc.vnet.net
 - Subject: [mg132596] Speed of Join and Append. Was Re: Simple list question
 - From: Richard Fateman <fateman at cs.berkeley.edu>
 - Date: Wed, 16 Apr 2014 03:40:06 -0400 (EDT)
 - Delivered-to: l-mathgroup@mail-archive0.wolfram.com
 - Delivered-to: l-mathgroup@wolfram.com
 - Delivered-to: mathgroup-outx@smc.vnet.net
 - Delivered-to: mathgroup-newsendx@smc.vnet.net
 - References: <lii7fe$ije$1@smc.vnet.net>
 
On 4/14/2014 8:02 PM, Bill Rowe wrote:
> On 4/14/14 at 5:28 AM, stevebg at roadrunner.com (Ste[hen Gray) wrote:
>
>> pcin = 2;
>> pcex = 3;   (*pcin and pcex can have various small values *)
>>
>> coin = Table[{10 RandomReal[], 10 RandomReal[]}, {pcin}]
>> coex = Table[{3 RandomReal[], 3 RandomReal[]}, {pcex}]
>> cobo = Append[coin, coex]
>> pcin = 2;
>> pcex = 3;   (*pcin and pcex can have various small values *)
>>
>> coin = Table[{10 RandomReal[], 10 RandomReal[]}, {pcin}]
>> coex = Table[{3 RandomReal[], 3 RandomReal[]}, {pcex}]
>> cobo = Append[coin, coex]
>
> <snip>
>
>> What I want is a series of x,y coordinates with no extra nesting:
>
> Instead of Append, use Join, i.e.
>
> cobo = Join[coin, coex]
>
> In fact, Append is something to generally avoid using
> particularly for large arrays due to the computing resources
> used. It will require more memory and is slower. Won't matter
> for small arrays like this. But for large arrays, Append is very
> much a problem and better replaced with other commands such as Join.
>
>
You are, I think, confusing the conventional implementation of lists,
append and cons from Lisp, and the peculiar implementation in 
Mathematica of Append and Join.
I expect that in Mathematica they are equally wasteful, because
lists are represented by arrays and must be copied whether to
join or append.