I decided to modify a pre-existing benchmark
to include a few dictionary implementations. The newest dictionary implementation is rbdict
and is not yet included in the Erlang distribution. I ran the benchmark
using the latest version (R12B-5
without HiPE) on an AMD Athlon(tm) 64 Processor 3000+ running Linux 2.6.20 as x86_64 to get the results below:
array (fixed): get: 8164µs, set: 14293µs
array (dynamic): get: 8334µs, set: 14421µs
tuple: get: 1472µs, set: 1603101µs
gb_trees: get: 113114µs, set: 212955µs
rbdict: get: 8523µs, set: 36555µs
orddict: get: 4677552µs, set: 3860µs
dict: get: 11223µs, set: 153662µs
The results show that rbdict
is worth getting if you need an efficient dictionary implementation in Erlang.
I found a benchmark done by Robert Virding with random input
. The input to the benchmark above was not random.