Releases: bytedance/gg
Releases · bytedance/gg
v1.1.0
v1.0.0
🎉 v1.0.0 - Initial Release
Release Date: 2025-05-30
🔥 We are excited to announce the first official release of gg! It is a basic library of generics for Go language developed by ByteDance. It is based on the Go 1.18+ generic features and provides efficient, type-safe and rich generic data structures and tool functions.
❓Why this name?
Take the first letter of Go Generics, short and simple.
❓Why choose gg?
- Stable and reliable: It is a necessary tool library for ByteDance R&D team, and it has 1w+ repository references inside.
- Easy to use: With the design principle of simplicity and self-consistent, subcontracted according to functions, modular, semantic intuitive and unified, and low learning cost.
- High Performance: Provides high-performance concurrent data structures, with performance 10+ times faster than standard library.
- No three-party dependencies: Generic libraries will not introduce any three-party dependencies.
- Version control: Follow the SemVer, guaranteeing backward compatibility.
🚀 Getting Started
To try gg:
go get github.com/bytedance/gg
See the README for usage examples.
✨ Key Features
- Generic Functional Programming
- Generic Data Processing
- Generic Standard Wrapper
- gsync:Wrap
sync
- gsync:Wrap
- Generic Data Structures
- tuple:Implementation of tuple provides definition of generic n-ary tuples
- set:Implementation of set based on
map[T]struct{}
- skipset:High-performance, scalable, concurrent-safe set based on skip-list, up to 15x faster than the built-in
sync.Map
below Go 1.24 - skipmap:High-performance, scalable, concurrent-safe map based on skip-list, up to 10x faster than the built-in
sync.Map
below Go 1.24
🙏 Contributors
- @XQ-Gang, @SilverRainZ, @zhangyunhao116, @xiekeyi98, @unnamed42, @ltoddy et al. made their first contribution in #1
- @someblue made their first contribution in #3
- @kumakichi made their first contribution in #5
- @785172550 made their first contribution in #6
- @Gaojianli made their first contribution in #7
Full Changelog: https://github.com/bytedance/gg/commits/v1.0.0