https://github.com/eapache/queue
Fast golang queue using ring-buffer
https://github.com/eapache/queue
Last synced: 9 months ago
JSON representation
Fast golang queue using ring-buffer
- Host: GitHub
- URL: https://github.com/eapache/queue
- Owner: eapache
- License: mit
- Created: 2014-05-12T13:42:10.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2023-04-09T12:37:38.000Z (almost 3 years ago)
- Last Synced: 2025-05-13T22:12:13.212Z (9 months ago)
- Language: Go
- Homepage: https://godoc.org/github.com/eapache/queue
- Size: 24.4 KB
- Stars: 624
- Watchers: 21
- Forks: 76
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Queue
=====
[](https://github.com/eapache/queue/actions/workflows/golang-ci.yml)
[](https://godoc.org/github.com/eapache/queue)
[](https://eapache.github.io/conduct.html)
A fast Golang queue using a ring-buffer, based on the version suggested by Dariusz Górecki.
Using this instead of other, simpler, queue implementations (slice+append or linked list) provides
substantial memory and time benefits, and fewer GC pauses.
The queue implemented here is as fast as it is in part because it is *not* thread-safe.
The `v2` subfolder requires Go 1.18 or later and makes use of generics.
Follows semantic versioning using https://gopkg.in/ - import from
[`gopkg.in/eapache/queue.v1`](https://gopkg.in/eapache/queue.v1)
for guaranteed API stability.