Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bakkdoor/e_q
Erlang Queue for Elixir
https://github.com/bakkdoor/e_q
Last synced: 1 day ago
JSON representation
Erlang Queue for Elixir
- Host: GitHub
- URL: https://github.com/bakkdoor/e_q
- Owner: bakkdoor
- License: mit
- Created: 2017-09-19T22:27:04.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2017-09-20T09:11:25.000Z (about 7 years ago)
- Last Synced: 2024-10-29T08:41:45.429Z (9 days ago)
- Language: Elixir
- Size: 17.6 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# EQ
Based on [`EQueue` by Ben Falk](https://github.com/benfalk/e_queue) with some
additions and improvements.## Description
An Elixir wrapper around the Erlang optimized `queue` that supports the FIFO,
first-in first-out, pattern. This is useful is when you can't predict when an
item needs to be taken or added to the queue. Use this instead of using `++` or
double reversing lists to add items to the _"back"_ of a queue.This is the results of pushing 100k elements onto a list and poping every 13th
element off of it ( over 100x faster! )``` elixir
# mix run test/performance.exsIO.puts "#{inspect :timer.tc(EQ.Performance, :test_queue, [[]])}"
#> {21163189, :ok}IO.puts "#{inspect :timer.tc(EQ.Performance, :test_queue, [EQ.new])}"
#> {189986, :ok}
```## Installation
1. Add EQ to your list of dependencies in `mix.exs`:
def deps do
[{:e_q, "~> 1.0.0"}]
end