Cost of assoc array?

John Colvin via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed May 14 04:13:08 PDT 2014


On Wednesday, 14 May 2014 at 09:38:10 UTC, Chris wrote:
> I have code that uses the following:
>
> string[][size_t] myArray;
>
> 1. myArray = [0:["t", "o", "m"], 1:["s", "m", "i", "th"]];
>
> However, I've found out that I never need an assoc array and a 
> "linear" array would be just fine, as in
>
> 2. myArray = [["t", "o", "m"], ["s", "m", "i", "th"]];
>
> Is there any huge difference as regards performance and memory 
> footprint between the two? Or is 2. basically 1. under the hood?

If you don't need the features of associative arrays, don't use 
them.

Normal arrays are much simpler, faster and (due to some 
outstanding problems with associative arrays in D) less 
bug-prone. Associative arrays, by definition, require a lot more 
work behind the scenes for both reading and writing.


More information about the Digitalmars-d-learn mailing list