[erlang-questions] ets vs list

Morten Krogh <>
Mon Sep 13 16:41:42 CEST 2010


  What exactly does it mean that data residing in ets isn't garbage 
collected?

Does it mean that if a {key, Value} pair is in the ets table T,
and I write

ets:delete(T, Key)

then Value will not be garbage collected.

Morten.

On 9/13/10 4:29 PM, Ulf Wiger wrote:
> On 09/13/2010 02:58 PM, Max Lapshin wrote:
>> 2) what ets is for, if list is fast enough on inserts?
> The main unique feature of ets is that data residing in
> ets is not garbage-collected.
>
> Roughly speaking, the cost of GC is proportional to the
> amount of live data, so if you have very large data sets,
> process heap-based data will have an increasing hidden
> cost in GC sweep/copy time, even though access times may
> look excellent in benchmarks.
>
> Running benchmarks for longer periods should allow you
> to include amortized GC cost in the results, but you
> will also get a bunch of other noise. Tracing on GC
> events with timestamps may be a more accurate method.
>
> BR,
> Ulf
>
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:
>



More information about the erlang-questions mailing list