[DGD]Resources used by sparse arrays

Ludger Merkens balduin at uni-paderborn.de
Mon Dec 18 11:46:56 CET 2000


On Sat, 16 Dec 2000, Par Winzell wrote:

>  > > My questions to the more knowledgeable types are these: first, is more
>  > > memory going to be used by that array with 38 empty elements and seven
>  > > strings in it, or by an array of seven integers plus an array of seven
>  > > strings? Second, would the situation change if the arrays were smaller
>  > > (say, 5 out of 22 elements filled, or two five-element arrays) or more
>  > > densely packed (say, 15 out of those 45 elements filled)?
>  > 
>  > The 45 element array with 7 strings will take more memory than the
>  > pair of 7 element arrays.
> 
> Correct me if I'm wrong -- I skipped a night's sleep -- but I think this
> is how the memory consumption plays out...
> 
> Given M non-nil elements in an array and a maxmium element index of N;
> if we consider each LPC 'value' to be size 1, then by the simple, one-
> array method the memory consumption excepting the actual data would be,
> 
> 	A = 1 + N	(one array value, N array element values)
> 
> and for method two, with an array of indices,
> 
> 	B = 2 + 2*M	(two array values, each with M element values)
> 
> and so equilibrium is reached at
> 
> 	A == B   <->
> 	1 + N == 2(1 + M)   <->
> 	N = 2M - 1
> 
> It is clear that in the case of N=47 and M=7, Erwin is correct and the
> simple solution is the less efficient one. It is equally clear that as
> N and M grow large, A/B -> 0.5N/M, and so the more complex solution is
> more efficient whenever more than half the elements are nil.
> 
> ;)

Bingo - Great Maths ;)


Ludger

But this argumentation is valid for the space problem only. I'd need to
know about the algorithm to estimate your overall performance.




List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list