Workiva/go-datastructures
A collection of useful, performant, and threadsafe Go datastructures. observed · 2026-08-28
Health v2 · maintenance only
77/100
- Activity 95
- Release rhythm 42
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 58
- age_days: 4326
- days_rel: 306
- days_push: 33
- n_releases_24m: 2
Adoption not part of the score
7954 stars · 841 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
A collection of useful, performant, and threadsafe data structures for Go, including augmented interval trees, bitarrays, futures, non-blocking queues, an MPMC ring buffer, and a Fibonacci heap. It emphasizes lock-free/CAS-based concurrency and benchmarks against standard alternatives like channels.
Use cases
- threadsafe queue for goroutines in go
- fast priority queue implementation in Go
- interval tree for n-dimensional range collision queries
- broadcast an event to multiple listeners instead of a single channel consumer
- lock-free MPMC ring buffer to synchronize and shut down goroutines
- bitarray membership and intersection testing with uint64 identifiers
- heap with cheap decrease-key for Dijkstra or Prim algorithms
When to choose
- You need concurrent, non-blocking queues that can outperform Go channels and never panic on send
- You need interval or range intersection queries in one or more dimensions
- You need to notify many goroutines of the same event, which channels handle poorly
- You need a Fibonacci or priority heap for graph algorithms or ordered scheduling
When to avoid
- You only need basic slices and maps already provided by the Go standard library
- You need bounded queues with backpressure, since these queues never block on send and grow unbounded
- You want generics-based, idiomatic modern Go APIs, as this library predates generics and relies on interfaces and uint64 identifiers
Facets
library · maturity active
concurrency developer-tools go data-structures priority-queue fibonacci-heap interval-tree bitarray ring-buffer futures threadsafe lock-free algorithms
1 source
- readme: https://github.com/Workiva/go-datastructures · fetched 2026-08-28 · e9d76db429e7
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| Workiva/go-datastructures | main | 77 |
For agents
markdown · JSON · MCP: product_card(name="Workiva/go-datastructures")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem