/queue

Fast golang queue using ring-buffer

Primary LanguageGoMIT LicenseMIT

Queue

Build Status GoDoc Code of Conduct

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 for guaranteed API stability.