All Projects → okeuday → Pqueue

okeuday / Pqueue

Licence: mit
Erlang Priority Queues

Programming Languages

erlang
1774 projects

Projects that are alternatives of or similar to Pqueue

Interviews
A list of fancy questions I've been asked during the interviews I had. Some of them I ask when interviewing people.
Stars: ✭ 140 (-7.28%)
Mutual labels:  data-structures
Jupyter
Stars: ✭ 145 (-3.97%)
Mutual labels:  data-structures
Graphlib
Simple but powerful graph library for Rust
Stars: ✭ 148 (-1.99%)
Mutual labels:  data-structures
Algorithms
A collection of common algorithms and data structures implemented in java, c++, and python.
Stars: ✭ 142 (-5.96%)
Mutual labels:  data-structures
Play With Data Structures
Codes of my MOOC Course <Play Data Structures in Java>. Updated contents and practices are also included. 我在慕课网上的课程《Java语言玩转数据结构》示例代码。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。
Stars: ✭ 1,878 (+1143.71%)
Mutual labels:  data-structures
Hackerrank
A collection of algorithms and solutions to problems in various languages from the site Hacker Rank.
Stars: ✭ 145 (-3.97%)
Mutual labels:  data-structures
19 udacity dsa
Data Structures & Algorithms Nanodegree Program from Udacity
Stars: ✭ 140 (-7.28%)
Mutual labels:  data-structures
Opends
Template Library of Data Structures in C++17
Stars: ✭ 151 (+0%)
Mutual labels:  data-structures
Data Structures And Algorithms
Stars: ✭ 144 (-4.64%)
Mutual labels:  data-structures
Competitive Programming
VastoLorde95's solutions to 2000+ competitive programming problems from various online judges
Stars: ✭ 147 (-2.65%)
Mutual labels:  data-structures
Coding Problems
Solutions for various coding/algorithmic problems and many useful resources for learning algorithms and data structures
Stars: ✭ 2,221 (+1370.86%)
Mutual labels:  data-structures
Crdts
A library of Conflict-Free Replicated Data Types for JavaScript
Stars: ✭ 143 (-5.3%)
Mutual labels:  data-structures
Data Structures And Algorithms
Data Structures and Algorithms implemented In Python, C, C++, Java or any other languages. Aimed to help strengthen the concepts of DS&A. Give a Star 🌟 if it helps you.
Stars: ✭ 146 (-3.31%)
Mutual labels:  data-structures
Lago
📕 Data Structures and Algorithms library in TypeScript
Stars: ✭ 1,966 (+1201.99%)
Mutual labels:  data-structures
Immer
Postmodern immutable and persistent data structures for C++ — value semantics at scale
Stars: ✭ 1,935 (+1181.46%)
Mutual labels:  data-structures
Skiplist
A Go library for an efficient implementation of a skip list: https://godoc.org/github.com/MauriceGit/skiplist
Stars: ✭ 140 (-7.28%)
Mutual labels:  data-structures
Recipe
RECIPE : high-performance, concurrent indexes for persistent memory (SOSP 2019)
Stars: ✭ 145 (-3.97%)
Mutual labels:  data-structures
Fast Skiplist
A fast, threadsafe skip list in Go
Stars: ✭ 150 (-0.66%)
Mutual labels:  data-structures
Leetcode In Swift
My solutions to LeetCode problems written in Swift
Stars: ✭ 150 (-0.66%)
Mutual labels:  data-structures
Data Structure And Algorithms
Every thing related to data structure and algorithms.
Stars: ✭ 146 (-3.31%)
Mutual labels:  data-structures

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].