list BIFs

Ulf Wiger <>
Mon Dec 7 16:40:58 CET 2009

(I guess I should fork the git repos and do this myself, but then it 
won't happen this year...)

I think it is quite appropriate that the following
lists functions are implemented in C:


(append and subtract are also BIFs, of course)

I think the list should be extended with the following:


I did some benchmarking recently, comparing the
use of a plain key-value list with that of dict.
The plain list was quite competitive for read
access up to a fairly large number of elements
(depending on the ratio of building the list and
accessing the elements, the list is competitive
even for data sets of > 200 elements.) Since only
the lookup functions are optimized, it gets trickier
to judge when updates are involved as well.

Making C implementations of the above functions is
trivial, at least relatively speaking.

I feel convinced that optimizing the most popular
list update functions (perhaps also the basic
lists:sort/1) would do much to speed up existing
programs, and also extend the reach of straightforward
list programming - a good thing IMHO.

Ulf W

Ulf Wiger
CTO, Erlang Training & Consulting Ltd

More information about the erlang-questions mailing list