Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/okeuday/pqueue
Erlang Priority Queues
https://github.com/okeuday/pqueue
data-structures erlang
Last synced: about 1 month ago
JSON representation
Erlang Priority Queues
- Host: GitHub
- URL: https://github.com/okeuday/pqueue
- Owner: okeuday
- License: mit
- Created: 2011-11-09T02:53:51.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2023-10-26T18:50:55.000Z (about 1 year ago)
- Last Synced: 2024-09-19T20:18:35.887Z (3 months ago)
- Topics: data-structures, erlang
- Language: Erlang
- Homepage:
- Size: 289 KB
- Stars: 171
- Watchers: 10
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
- freaking_awesome_elixir - Erlang - Erlang Priority Queue Implementation. (Queue)
- fucking-awesome-elixir - pqueue - Erlang Priority Queue Implementation. (Queue)
- awesome-erlang - pqueue - Erlang Priority Queues. (Queue)
- awesome-elixir - pqueue - Erlang Priority Queue Implementation. (Queue)
README
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](https://github.com/basho/riak_core/blob/master/src/riak_core_priority_queue.erl).
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](http://okeuday.livejournal.com/19539.html), with [the benchmark here](http://github.com/okeuday/erlbench).
Author
------Michael Truog (mjtruog at protonmail dot com)
Thanks
------* Jesper Louis andersen (PropEr integration and testing)
* Ulf Wiger (suggestions and insight)License
-------MIT License