panjf2000/ants

🐜🐜🐜 ants is the most powerful and reliable pooling solution for Go.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 30 minutes ago
Added to GitGenius on September 4th, 2026
Created on May 19th, 2018
Open Issues & Pull Requests: 1 (+0)
GitHub issues: Enabled
Number of forks: 1,437
Total Stargazers: 14,501 (+0)
Total Subscribers: 173 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.0 hours
Mean response time: 10.1 hours
90th percentile: 5.8 hours
Tracked items: 31

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 10% of issues opened in the past year have been closed. Three people close 67% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • help wanted (16)
  • stale (16)
  • question (15)
  • waiting for response (11)
  • proposal (8)
  • bug (7)
  • needs investigation (6)
  • needs more info (4)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ants is a goroutine pool for Go that manages and recycles a fixed capacity of goroutines to limit concurrency in programs.

The problem ants solves is the need to control goroutine proliferation in concurrent Go programs. Creating unlimited goroutines can exhaust system resources and degrade performance. ants implements a fixed-capacity pool that reuses goroutines across multiple tasks, automatically purging idle goroutines periodically. The pool operates through a nonblocking mechanism and handles task submission with graceful panic recovery to prevent program crashes.

Developers should choose ants when building concurrent applications where controlling goroutine count is critical for stability and performance. The tool suits any program that submits many short-lived tasks that would otherwise spawn individual goroutines. ants provides abundant APIs for dynamic pool management, including task submission, capacity tuning, pool release, and reboot operations. The library achieves memory efficiency and can deliver higher performance than spawning unlimited goroutines, making it valuable for high-throughput systems processing massive numbers of concurrent operations.

The project maintains active test coverage and demonstrates consistent development activity with regular updates to the codebase. Documentation is comprehensive, including detailed flow diagrams and activity diagrams explaining the pool's internal mechanics, alongside practical examples for common usage patterns. The tool supports functional options for customization, allowing developers to configure pool behavior through option functions during initialization.