82 Resources
Golang concurrent Libraries
Fuzzing concurrent Go programs
The code, analysis scripts and results for ASPLOS 2022 Artifact Evaluation Version: 1.2 Update: Jan 20, 2022 Paper: Who Goes First? Detecting Go Concu
ZenQ - A low-latency thread-safe queue in golang implemented using a lock-free ringbuffer
ZenQ A low-latency thread-safe queue in golang implemented using a lock-free ringbuffer Features Much faster than native channels in both SPSC (single
Goeland - A first-order concurrent automated theorem prover
Goéland Goéland is an automated theorem prover using the tableau method for firs
GoFind - Concurrent file finder in Golang
GoFind How to Run? Clona la repository. Setta il tuo GOPATH dalla root della rep
Ristretto - A fast, concurrent cache library built with a focus on performance and correctness
Ristretto Ristretto is a fast, concurrent cache library built with a focus on pe
Leftright - A concurrent map that is optimized for scenarios where reads are more frequent than writes
leftright A concurrent map that is optimized for scenarios where reads are more
Go Concurrent PortScanner
Go_Concurrent_PortScanner A project I began to begin familiarizing myself with G
Concurrent library for Telegram Bots written in pure go.
echotron Echotron is a concurrent library for telegram bots written in pure Go. Fetch with go get github.com/NicoNex/echotron/v3 Design Echotron is he
Conc - A package to help with concurrent operations in Go
conc Conc is a package to help with concurrent operations in Go. Works with Go1.
A thread-safe concurrent map for go
cmap The map type in Go doesn't support concurrent reads and writes. cmap(concurrent-map) provides a high-performance solution to this by sharding the
Ordered-concurrently a library for parallel processing with ordered output in Go
Ordered-concurrently a library for parallel processing with ordered output in Go. Process work concurrently / in parallel and returns output in a channel in the order of input. It is useful in concurrently / parallelly processing items in a queue, and get output in the order provided by the queue.
A simple embeddable scripting language which supports concurrent event processing.
ECAL ECAL is an ECA (Event Condition Action) language for concurrent event processing. ECAL can define event-based systems using rules which are trigg
A concurrent toolkit to help execute funcs concurrently in an efficient and safe way
conexec is a concurrent toolkit to help execute functions concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking.
A simple, concurrent bitcoin miner framework implemented in Go.
Bitcoin Miner A simple, concurrent bitcoin miner framework implemented in Go. Disclaimer: this is not a product intended to be used for real mining, s
A quick and dirty concurrent Golang-based port scanner
go-scan-ports A quick and dirty concurrent Golang-based port scanner, this will scan ports 1 through 1024 Usage: Requires 1 command line argument of U
Cheat sheet for some of the common concurrent flows in Go
coop Note: This package became obsolete. I started it when I was learning Go a couple of years ago. I see so many better ways to implement them all no
👻 Tiny Footprint Concurrent UI library for Fiber.
Development and Maintenance Status RancherOS 1.x is no longer being actively maintained. There are two significant reasons behind this product decisio
Toolkit - Collection of useful patterns
toolkit Introduction These patterns can you use to solve common problems when designing an application or system. Requirements golang =1.11.x - The G
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files
ftctl This is a file downloader cli written in Golang which uses the concurrent
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.
ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to
RBAC - Simple, concurrent Role Based Access Control(GO)
RBAC - Simple, concurrent Role Based Access Control(GO) RBAC is role based access control library for GOlang. At core uses sync.Map so, it can be used
This is an concurrent-queue and concurrent-stack lib for the go.
This is an concurrent-queue and concurrent-stack lib for the go. Getting Started Pull in the dependency go get github.com/boobusy/vector Add the impor
Fastest python library for making asynchronous group requests.
FGrequests: Fastest Asynchronous Group Requests Installation Install using pip: pip install fgrequests Documentation Pretty easy to use. import fgrequ
Lightweight concurrent TCP framework for Golang
Knet TCP框架 基于Golang的轻量级并发TCP框架 中文文档 实例: server: package main import ( "fmt" "net" "time" "github.com/hxoreyer/knet" ) func main() { logger :=
Golang rate limiters for distributed applications
Distributed rate limiters for Golang Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks. Any types
Fast Concurrent / Parallel Sorting in Go
sorty sorty is a type-specific, fast, efficient, concurrent / parallel QuickSort implementation (with an enhanced InsertionSort as subroutine). It is
A collection of useful utility functions
util A group of generic useful utility functions Dependencies parallelizer github.com/shomali11/parallelizer Examples Concurrency package main import
A thread-safe concurrent map for go
concurrent map Original repo didn't support go mod and no any tags,so I forkd this repo add go mod support and patch a tag on this repo. No any code c
TaskSet is a library for running concurrent tasks.
taskset Taskset is a library for running concurrent tasks. Tasks can do arbitrary work and depend on other tasks' results. You can decorate the behavi
A project to play around with concurrent Go
Convoluted Movie Finder An intentionally convulated movie finding app built using the TMDB API to play around with Go's concurrency features Pre-requi
concurrent map implementation using bucket list like a skip list.
Skip List Map in Golang Skip List Map is an ordered and concurrent map. this Map is goroutine safety for reading/updating/deleting, no-require locking
A high-performance concurrent scanner written by go, which can be used for survival detection, tcp port detection, and web service detection.
aScan A high-performance concurrent scanner written by go, which can be used for survival detection, tcp port detection, and web service detection. Fu
sync.WaitGroup for concurrent use
concwg Description This package provides a version of sync.WaitGroup that allows calling Add and Wait in different goroutines. Motivation sync.WaitGro
SSL handshake
These are some tools I've been using to test performance issues related to long-running HTTP requests or TCP/SSL handshake Usage: concurrent-http-requ
Extended library functions using generics in Go.
Just few extended standard library functions for Golang using generics.
How we can run unit tests in parallel mode with failpoint injection taking effect and without injection race
This is a simple demo to show how we can run unit tests in parallel mode with failpoint injection taking effect and without injection race. The basic
a self terminating concurrent job queue for indeterminate workloads in golang
jobtracker - a self terminating concurrent job queue for indeterminate workloads in golang This library is primarily useful for technically-recursive
A concurrent Download Manager written in Go
golang-download-manager A concurrent Download Manager written in Go Changes In main.go file paste the file url in fileUrl variable paste the path for
A concurrent map with entries expiring after a specified interval.
go-ttlmap Go TTL Map is a concurent map with entries expiring after a specified interval. This package requires go1.14 or newer. Overview This impleme
concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit
BuildKit BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. Key features: Automati
Code for the Go pipeline blog post
Concurrent and Parallel Pipelines in Go This repository contains the code that goes along with a blog post about concurrent and parallel pipelines in
A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm.
ratelimiter A generic concurrent rate limiter library for Golang based on Sliding-window rate limitng algorithm. The implementation of rate-limiter al
Multithreaded key value pair store using thread safe locking mechanism allowing concurrent reads
Project Amnesia A Multi-threaded key-value pair store using thread safe locking mechanism allowing concurrent reads. Curious to Try it out?? Check out
Concurrent data structures for Go
xsync Concurrent data structures for Go. An extension for the standard sync package. This library should be considered experimental, so make sure to r
Blazer - Concurrent file downloader
Blazer - Concurrent file downloader Control thread count Resume from interruption File integrity check - SHA256 Usage blazer -url=example.com/1.pdf -t
A faster RWLock primitive in Go, 2-3 times faster than RWMutex. A Go implementation of concurrency control algorithm in paper Left-Right - A Concurrency Control Technique with Wait-Free Population Oblivious Reads
Go Left Right Concurrency A Go implementation of the left-right concurrency control algorithm in paper Left-Right - A Concurrency Control Technique w
simple concurrent logger
XMUS-LOGGER pure golang logger compatible with golang io standards. USAGE : logOptions := logger.LoggerOptions{ LogLevel: 6, // read more about lo
A Concurrent HTTP Static file server using golang .
A Concurrent HTTP static server using Golang. Serve Static files like HTML,CSS,Js,Images,Videos ,ect. using HTTP. It is Concurrent and Highly Scalable.Try now!
MIPS simulator written in Go
FUM-MIPS is a 5-stage CPU, that supports a subset of the MIPS Instruction Set. It is a 32-bit CPU with 32 general-purpose registers. The figure below shows an overview of the architecture.
concurrent recursive whois resolution
drwho - concurrent 'whois' queries given a set of ip addresses (v4 and v6), concurrently queries whois servers about them. example populate a file wit
Nada is a JS runtime, just like Nodejs. The difference is that Nada allows JS developers to easily achieve millions of concurrent applications.
Nada is a JS runtime, just like Nodejs. The difference is that Nada allows JS developers to easily achieve millions of concurrent applications. It also adds some new enhancements to THE JS syntax (types, interfaces, generics) that fundamentally address JS's perennial complaints.
A simple and useful goroutine concurrent library.
Taskgroup A simple and useful goroutine concurrent library. Installation go get github.com/anthhub/taskgroup
concurrent caching proxy and decoder library for collections of PMTiles
go-pmtiles A caching proxy for the serverless PMTiles archive format. Resolves several of the limitations of PMTiles by running a minimalistic, single
Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.
Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.
Concurrent ssh-tail sessions and sink option
ssh-tail This project is one of the problems that I generally face while debugging some system. When I am reproducing the issue on the machine i also
Concurrent download manager built in Go
Golang Download Manager - Weekend Project A concurrent download manager written in pure Go without any dependency. I wrote this code for my YouTube vi
Learn what sync.Cond is
Overview This repo is not a library. It is a reference implementation of "hint" for the programmers who are trying to understand how sync.Cond works,
a thread-safe concurrent map for go
concurrent map As explained here and here, the map type in Go doesn't support concurrent reads and writes. concurrent-map provides a high-performance
Super minimal, rock-solid foundation for concurrent GUI in Go.
faiface/gui Super minimal, rock-solid foundation for concurrent GUI in Go. Installation go get -u github.com/faiface/gui Currently uses GLFW under th
[爬虫框架 (golang)] An awesome Go concurrent Crawler(spider) framework. The crawler is flexible and modular. It can be expanded to an Individualized crawler easily or you can use the default crawl components only.
go_spider A crawler of vertical communities achieved by GOLANG. Latest stable Release: Version 1.2 (Sep 23, 2014). QQ群号:337344607 Features Concurrent
concurrency utilities
concurrent concurrent.Map: backport sync.Map for go below 1.9 concurrent.Executor: goroutine with explicit ownership and cancellable concurrent.Map be
Verifying concurrent crash-safe systems
Verifying concurrent, crash-safe systems with Perennial Perennial is a system for verifying correctness for systems with both concurrency and crash-sa
A typed implementation of the Go sync.Map using code generation
syncmap A typed implementation of the Go sync.Map using code generation. Install go get -u github.com/a8m/syncmap@master Examples: Using CLI $ syncma
Go 并发
Golang 并发 Go 语言使用标准库 sync 包的 mutex 互斥锁解决数据竞态 Golang 语言标准库 sync 包的 RWMutex 读写互斥锁怎么使用? Golang 语言标准库 sync 包的 WaitGroup 怎么使用? Golang 语言标准库 sync 包的 Cond 怎么
Machine is a zero dependency library for highly concurrent Go applications.
Machine is a zero dependency library for highly concurrent Go applications. It is inspired by errgroup.Group with extra bells & whistles
Ristretto is a fast, concurrent cache library built with a focus on performance and correctness.
A high performance memory-bound Go cache
skipmap is a high-performance concurrent sorted map based on skip list. Up to 3x ~ 10x faster than sync.Map in the typical pattern.
Introduction skipmap is a high-performance concurrent map based on skip list. In typical pattern(one million operations, 90%LOAD 9%STORE 1%DELETE), th
[爬虫框架 (golang)] An awesome Go concurrent Crawler(spider) framework. The crawler is flexible and modular. It can be expanded to an Individualized crawler easily or you can use the default crawl components only.
go_spider A crawler of vertical communities achieved by GOLANG. Latest stable Release: Version 1.2 (Sep 23, 2014). QQ群号:337344607 Features Concurrent
Polite, slim and concurrent web crawler.
gocrawl gocrawl is a polite, slim and concurrent web crawler written in Go. For a simpler yet more flexible web crawler written in a more idiomatic Go
A dialect of Lisp extended to support concurrent programming, written in Go.
LispEx A dialect of Lisp extended to support concurrent programming. Overview LispEx is another Lisp Interpreter implemented with Go. The syntax, sema
Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r
s3gof3r s3gof3r provides fast, parallelized, pipelined streaming access to Amazon S3. It includes a command-line interface: gof3r. It is optimized for
An simple, easily extensible and concurrent health-check library for Go services
Healthcheck A simple and extensible RESTful Healthcheck API implementation for Go services. Health provides an http.Handlefunc for use as a healthchec
A fast SAT solver
Gini SAT Solver The Gini sat solver is a fast, clean SAT solver written in Go. It is to our knowledge the first ever performant pure-Go SAT solver mad
go routine control, abstraction of the Main and some useful Executors.如果你不会管理Goroutine的话,用它
routine Routine Architecture Quick Start package main import ( "log" "context" "github.com/x-mod/routine" ) func main(){ if err := routine.Main
Unlimited job queue for go, using a pool of concurrent workers processing the job queue entries
kyoo: A Go library providing an unlimited job queue and concurrent worker pools About kyoo is the phonetic transcription of the word queue. It provide
Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
Hunch Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive. About Hunch Go have sever
Dynatomic is a library for using dynamodb as an atomic counter
Dynatomic Dynatomic is a library for using dynamodb as an atomic counter Dynatomic Motivation Usage Development Contributing Motivation The dynatomic
Go concurrent-safe, goroutine-safe, thread-safe queue
goconcurrentqueue - Concurrent safe queues The package goconcurrentqueue offers a public interface Queue with methods for a queue. It comes with multi
Highly concurrent drop-in replacement for bufio.Writer
concurrent-writer Highly concurrent drop-in replacement for bufio.Writer. concurrent.Writer implements highly concurrent buffering for an io.Writer ob
Concurrent ssh client
go-cs Concurrent ssh client cs is a program for concurrently executing local or remote commands on multiple hosts. It is using OpenSSH for running rem
Concurrent task runner, developer's routine tasks automation toolkit. Simple modern alternative to GNU Make 🧰
taskctl - concurrent task runner, developer's routine tasks automation toolkit Simple modern alternative to GNU Make. taskctl is concurrent task runne