ZenQ
A thread-safe queue faster and more resource efficient than golang's native channels (by alphadose)
queue
βͺοΈ Go package providing multiple queue implementations. Developed in a thread-safe generic way. (by adrianbrad)
Our great sponsors
ZenQ | queue | |
---|---|---|
13 | 7 | |
633 | 239 | |
- | - | |
3.6 | 5.9 | |
about 2 months ago | about 2 months ago | |
Go | Go | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ZenQ
Posts with mentions or reviews of ZenQ.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-28.
-
HaxMap v0.2.0 released, huge performance improvements and added support for 32-bit systems
Use of golang runtime internals like itogami and ZenQ to squeeze out a little extra performance
- ZenQ vs Channels benchmarks for low-end raspberry pi
-
GoQueue, A Flexible Queue System for Go
regarding thread safety you can make the queue lock free, see this https://github.com/alphadose/ZenQ
- ZenQ version 2.6.1 released, with new features, performance improvements and added support for more CPU architectures
-
Itogami, the best golang thread-pool till date
I have also made a similar project https://github.com/alphadose/ZenQ
- ZenQ now has select{} capability
-
ZenQ now finally a better alternative to native channels with v1.2.0
Hello fellow gophers, A few days ago I published ZenQ, which is a fast thread-safe queue
- A thread-safe queue faster than native Golang channels
-
A thread-safe queue faster than native golang channels
Code for the above benchmark https://github.com/alphadose/ZenQ/blob/main/benchmarks/main_test.go
queue
Posts with mentions or reviews of queue.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-06.
- Hello, announcing v1.3.0 of my queue package: A Linked Queue implementation was added, complementing the Circular, Blocking, and Priority queues. All structures align with the standard Queue interface. Looking forward to your feedback!
-
Seeking Insights: Tools Used in GitHub Actions for Security Code Checks and Vulnerability Detection
iβm using these checks for my projects and I feel that this is more than enough: https://github.com/adrianbrad/queue/tree/main/.github/workflows
- Hello, I released v1.2.0 of my queue package. A Circular Queue implementation is now available. Blocking and Priority queues were previously available. All implementations satisfy the Queue interface provided by the package. Any feedback would be greatly appreciated.
-
[Code Review Request] Package providing multiple Queue implementations
I plan to release a package that is supposed to provide multiple generic Queue implementations and it also defines a Queue interface that all implementations must satisfy. Currently, there are 2 implementations, a Blocking queue, and a Priority queue.
-
[Code Review Request] Generic Blocking Queue
Hello again, I came up with this implementation that uses buffered channels: https://github.com/adrianbrad/queue/blob/blocking-channel-implementation/blocking2.go. In order to drain the channel during a Reset, the channel is closed and refilled elements, while Take listens for both new values and the close signal. What do you think? The original Reset implementation is a bit faster, you can check the benchmarks here: https://github.com/adrianbrad/queue/blob/blocking-channel-implementation/blocking_bench_test.go
What are some alternatives?
When comparing ZenQ and queue you can also consider the following projects:
goqueue - Flexible Queue System for Go
set - Thread(Safe/Unsafe) Set data structure for Go.
haxmap - Fastest and most memory efficient golang concurrent hashmap
go-blocking-dequeue - Thread safe, blocking, generic dequeue data structure for Go
ants - πππ ants is a high-performance and low-cost goroutine pool in Go./ ants ζ―δΈδΈͺι«ζ§θ½δΈδ½ζθη goroutine ζ± γ
parallel - xargs for concurrent, distributed execution of shell commands
GoQ - Lightweight message queue in Golang
itogami - Fastest and most efficient goroutine pool (experimental)
golangci-lint - Fast linters Runner for Go
Disruptor - High Performance Inter-Thread Messaging Library