Skip to content

okeuday/pqueue

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 protonmail dot com)

Thanks

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

License

MIT License

About

Erlang Priority Queues

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •