Go Concurrency

Open-source Go projects categorized as Concurrency

Top 23 Go Concurrency Projects

  • RxGo

    Reactive Extensions for the Go language.

    Project mention: RxGo: Reactive Extensions for the Go Language | news.ycombinator.com | 2023-08-19
  • concurrent-map

    a thread-safe concurrent map for go

    Project mention: Any major projects using generics? | /r/golang | 2022-10-31

    For libraries I use at work, cmap has a v2 using generics. I think that's a fairly widely used library. The events library we use is updated, but not released. When I get a chance, planning on looking on moving to hooks, which does have released generics support.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • bild

    Image processing algorithms in pure Go

    Project mention: Go Image Processing | /r/golang | 2022-12-17

    I don’t know about 6 lines, but here’s some short stuff from that algo lib that leverages std as much as possible https://github.com/anthonynsimon/bild/blob/master/transform/resize.go

  • golang-set

    A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.

    Project mention: Is there something similar to blessed.rs ? | /r/golang | 2023-01-01

    If it were true, there wouldn't be any 3rd-party libs for Go and everybody used just the stdlib. For instance, if you need a set, you can use https://github.com/deckarep/golang-set . Of course, you can do it with the stdlib with map, but if you don't want to do that, use golang-set . I think Python has a much larger stdlib and yet, Python has tons of 3rd-party packages.

  • go-concurrency-patterns

    Concurrency patterns in Go

  • go-concurrency-guide

    Practical concurrency guide in Go, communication by channels, patterns

  • go-web-framework-benchmark

    :zap: Go web framework benchmark

  • 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.

  • workerpool

    Concurrency limiting goroutine pool (by gammazero)

    Project mention: GO: How to Write a Worker Pool | dev.to | 2023-06-15

    This article will introduce one implementation approach for a Worker Pool and analyze the source code of a popular Worker Pool library, gammazero/workerpool. Finally, we will implement a similar Worker Pool called VIOLIN to gain a better understanding of Worker Pools.

  • pond

    🔘 Minimalistic and High-performance goroutine worker pool written in Go

    Project mention: Help! channel vs workerpool | /r/golang | 2023-02-24

    https://github.com/alitto/pond i use this one :3

  • slacker

    Slack Bot Framework

    Project mention: Slack Bot Framework | /r/golang | 2023-06-29

    We just released v2.0.0-alpha1 of https://github.com/shomali11/slacker

  • go-wrk

    go-wrk - a HTTP benchmarking tool based in spirit on the excellent wrk tool (https://github.com/wg/wrk)

  • ZenQ

    A thread-safe queue faster and more resource efficient than golang's native channels

  • gowp

    golang worker pool , Concurrency limiting goroutine pool

  • machine

    Machine is a zero dependency library for highly concurrent Go applications. It is inspired by errgroup.Group with extra bells & whistles (by autom8ter)

  • goconcurrentqueue

    Go concurrent-safe, goroutine-safe, thread-safe queue

  • semgroup

    Like errgroup/waitgroup, but only runs a maximum of tasks at any time.

  • util

    A collection of useful utility functions (by shomali11)

  • ratelimiter

    A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm.

  • flowmatic

    Structured concurrency made easy

    Project mention: Async rust – are we doing it all wrong? | news.ycombinator.com | 2023-07-19

    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

    Synchronization and asynchronous computation package for Go (by reugn)

    Project mention: [async] When the standard sync is not enough | /r/golang | 2022-11-28
  • theine-go

    high performance in-memory cache

    Project mention: rueidis v1, a redis client with client-side caching, has been released under redis org | /r/golang | 2023-05-01

    CacheStore is an interface so I can use a different local cache instead? For example my adaptive cache package Theine, I think the hit ratio will be much higer than the default LRU one.

  • broadcast

    Notification broadcaster library

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-08-19.

Go Concurrency related posts


What are some of the best open-source Concurrency projects in Go? This list will help you:

Project Stars
1 RxGo 4,709
2 concurrent-map 3,899
3 bild 3,833
4 golang-set 3,501
5 go-concurrency-patterns 2,363
6 go-concurrency-guide 2,260
7 go-web-framework-benchmark 1,930
8 workerpool 1,151
9 pond 988
10 slacker 797
11 go-wrk 767
12 ZenQ 615
13 gowp 480
14 machine 358
15 goconcurrentqueue 321
16 semgroup 287
17 util 274
18 ratelimiter 231
19 flowmatic 172
20 go-workers 159
21 async 145
22 theine-go 144
23 broadcast 130
Free Global Payroll designed for tech teams
Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.