Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Erlang Priority Queues

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 doc
Octocat-spinner-32 src
Octocat-spinner-32 test
Octocat-spinner-32 unused
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.markdown
Octocat-spinner-32 rebar.config
README.markdown

Erlang Priority Queue Implementation

The priority queue implementations implement a subset of the stdlib Erlang queue interface as seen in the implementation used by both Riak and RabbitMQ.

The implementations:

  • priority_queue (fastest for any priorities when only using a single priority at a time)
  • pqueue (fastest for 41 priorities, -20 (high) to 20 (low), when using 2 or more priorities at the same time)
  • pqueue2 (slower heap implementation)
  • pqueue3 (faster than pqueue2 and priority_queue when using 64 or more priorities at the same time)
  • pqueue4 (slightly slower than pqueue but fastest for allowing 257 priorities, -128 (high) to 128 (low), i.e., fastest when using 42 or more priorities at the same time)

The latest results are here, with the benchmark here.

Author

Michael Truog (mjtruog [at] gmail (dot) com)

Thanks

  • Jesper Louis andersen (PropEr integration and testing)
  • Ulf Wiger (suggestions and insight)

License

BSD

Something went wrong with that request. Please try again.