[erlang-questions] Should I use arrays to optimize?

Dan Gudmundsson <>
Wed Feb 29 16:24:16 CET 2012


array (in stdlib) is a ordered dict with non negative integer keys.
It is a functional datatype and faster than both dict, gb_trees for
large enough input data.

/Dan

On Wed, Feb 29, 2012 at 4:20 PM, Pierpaolo Bernardi <> wrote:
> On Wed, Feb 29, 2012 at 16:13, Richard Evans
> <> wrote:
>> I need to store a list of records. Sometimes I need to update the nth member
>> in that list. Each record is quite large (hundreds of bytes). I have
>> hundreds of such records.
>>
>> I am currently using an erlang list and using lists:keyreplace to update the
>> nth member in the list. But this gets slow as the list gets larger, so I
>> want to optimize and use something which overwrites rather than copies.
>>
>> Should I use the array module for this? If not, what do you recommend?
>
> a gb-tree with keys in 1..n.
>
> Or a random-access list.  Not in stdlib, but several implementations
> floating around, including one from me. Ask me if you don't find one.
>
> P
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions



More information about the erlang-questions mailing list