gb_trees:search/3

Ulf Wiger ulf@REDACTED
Tue Sep 13 21:17:14 CEST 2005


Den 2005-09-13 16:31:29 skrev Ulf Wiger (AL/EAB) <ulf.wiger@REDACTED>:

> Sven-Olof Nyström wrote:
>>
>> Ulf Wiger (AL/EAB) writes:
>>  > The first example doesn't really introduce
>>  > anything new, as it scans the whole tree
>>  > (most likely less efficient than iterator())
>>
>> or to_list().
> Yes, well, I've grown a bit allergic to functions
> that return the whole contents of a data structure
> designed to be scalable. Given how the garbage
> collector works, you should only use them if you
> are sure that the number of objects is relatively
> small;

Of course, to be fair, there's a big difference in
this regard between ets and e.g. gb_trees: since
all objects in gb_trees already reside on the heap,
to_list() only builds a bunch of cons cells
pointing to already existing objects, whereas ets
actually copies the objects onto the heap, causing
potentially massive memory allocation.

/Uffe
-- 
Ulf Wiger



More information about the erlang-questions mailing list