diff options
author | HJ <thechairman@thechairman.info> | 2024-02-03 15:09:54 -0500 |
---|---|---|
committer | HJ <thechairman@thechairman.info> | 2024-02-03 15:09:54 -0500 |
commit | 96a3c5c179d8d3fff24eb2953e45f8dd15e2714c (patch) | |
tree | 0a67bc0cfeabe51740bb049c61f16f1ac3bdd4ff /aoc2023/build/packages/pqueue/README.markdown | |
parent | 547fe03cf43105f46160e2dd9afff21637eaaf47 (diff) | |
download | gleam_aoc-96a3c5c179d8d3fff24eb2953e45f8dd15e2714c.tar.gz gleam_aoc-96a3c5c179d8d3fff24eb2953e45f8dd15e2714c.zip |
cleanup
Diffstat (limited to 'aoc2023/build/packages/pqueue/README.markdown')
-rw-r--r-- | aoc2023/build/packages/pqueue/README.markdown | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/aoc2023/build/packages/pqueue/README.markdown b/aoc2023/build/packages/pqueue/README.markdown new file mode 100644 index 0000000..77aaf1c --- /dev/null +++ b/aoc2023/build/packages/pqueue/README.markdown @@ -0,0 +1,31 @@ +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 + |