Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 23 Go Goroutine Projects
-
ants
🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go./ ants 是一个高性能且低损耗的 goroutine 池。
I remember doing something similar to OP recently. Goroutines also incur a bit of overhead (have to be GC'd and so on), and the same worker pool technique can be applied to them in much the same way, as seen in popular libraries like https://github.com/panjf2000/ants
-
Project mention: Go CLI to calculate total media duraton in directories | news.ycombinator.com | 2023-09-04
What are possible use cases for this tool? Why would I want to find out the total runtime of all videos in a directory?
Also, you might wanna limit concurrency[0] instead of spawning many ffprobe instances at the ~same time.
[0]: https://github.com/sourcegraph/conc
In another note, ChatGPT suggests this shell command to do the same thing. It doesn't process files in parallel though.
find . -name "*.mp4" -print0 | \
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
-
https://github.com/Jeffail/tunny uses interface, os it's a no for me
-
goworker
goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers.
-
https://github.com/alitto/pond i use this one :3
-
-
pool
:speedboat: a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
-
-
-
-
I do that of course, and that's one of the easiest ways to use async Rust. In real projects you need much more however. F.ex. I had to code an example of how to add tasks to an already running pool of tasks and posted my findings here: https://github.com/dimitarvp/rust-async-examples/blob/main/e... (there's #2 as well with some more comments and a different approach).
The fact that I needed to make a GitHub repo and start making show-and-tell demos on how to do various things with async Rust to me is both a red flag and me being diligent BUT it should be more obvious. And promoted in docs.
Rust started suffering from "you got all the nuts and bolts in place, now build your own solution, son" syndrome which I grew to dislike. Too low-level. I wouldn't mind something akin to e.g. Golang's flowmatic library (check the first two examples at the top of the README): https://github.com/carlmjohnson/flowmatic
-
-
go-workers
👷 Library for safely running groups of workers concurrently or consecutively that require input and output through channels
-
-
-
-
-
async
A safe way to execute functions asynchronously, recovering them in case of panic. It also provides an error stack aiming to facilitate fail causes discovery. (by StudioSol)
-
-
gollback
Go asynchronous simple function utilities, for managing execution of closures and callbacks
-
-
Hunch
Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
Go Goroutines related posts
- Go CLI to calculate total media duraton in directories
- Building conc: Better structured concurrency for Go
- Building conc: Better structured concurrency for Go
- ResultGroup: Go lib for concurrent tasks & errors management
- Hello gophers, show me your concurrent code
- A lot of boilerplate code when writing asynchronous code in go
- Beginner ~ Intermediate Go programmer, how can I get better in go and get out of the "beginner" phase?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 28 Sep 2023
Index
What are some of the best open-source Goroutine projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | ants | 11,048 |
2 | conc | 7,284 |
3 | tunny | 3,689 |
4 | goworker | 2,740 |
5 | pond | 988 |
6 | grpool | 732 |
7 | pool | 720 |
8 | gowp | 480 |
9 | go-floc | 262 |
10 | Goflow | 214 |
11 | artifex | 178 |
12 | flowmatic | 171 |
13 | semaphore go | 161 |
14 | go-workers | 159 |
15 | neilotoole/errgroup | 151 |
16 | roumon | 150 |
17 | broadcast | 130 |
18 | cyclicbarrier | 125 |
19 | async | 125 |
20 | Syncs | 115 |
21 | gollback | 111 |
22 | semaphore | 96 |
23 | Hunch | 95 |