b VS golang-set

Compare b vs golang-set and see what are their differences.

golang-set

A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp. (by deckarep)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
b golang-set
2 6
- 3,915
- -
- 5.3
- 4 months ago
Go
- GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

b

Posts with mentions or reviews of b. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-15.
  • Go 1.18 Released
    20 projects | news.ycombinator.com | 15 Mar 2022
    It depends on the level of abstraction you're addressing. One level may be "i need to store things with a quick search function", another may be "i need a storage of ordered names and expiry date for things", etc until you get to "I need a binary tree which orders by comparable types".

    Where you split that process as a separate library you either decide to write or reuse - that becomes the problem to solve. A set implementation may be a problem to solve: https://github.com/deckarep/golang-set A btree may be a problem to solve: https://gitlab.com/cznic/b/-/tree/master/v2

  • A generic B+Tree implementation you can use today
    1 project | /r/golang | 22 Dec 2021
    Requires Go1.18beta1 or later: https://gitlab.com/cznic/b/-/tree/master/v2

golang-set

Posts with mentions or reviews of golang-set. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-01.
  • Is there something similar to blessed.rs ?
    2 projects | /r/golang | 1 Jan 2023
    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.
  • Any major projects using generics?
    13 projects | /r/golang | 31 Oct 2022
    golang-set is a set implementation used by docker, ethereum and others. 2.8k stars on GitHub. Pretty popular project. Not sure if it counts as major. https://github.com/deckarep/golang-set
  • When will Go get sets?
    4 projects | /r/golang | 15 Sep 2022
  • Does anyone else get tired of the "that's trivial to implement" excuse for leaving things out of the standard library?
    6 projects | /r/golang | 15 Sep 2022
    Why not look at something like https://github.com/deckarep/golang-set ?
  • Go 1.18 Released
    20 projects | news.ycombinator.com | 15 Mar 2022
    It depends on the level of abstraction you're addressing. One level may be "i need to store things with a quick search function", another may be "i need a storage of ordered names and expiry date for things", etc until you get to "I need a binary tree which orders by comparable types".

    Where you split that process as a separate library you either decide to write or reuse - that becomes the problem to solve. A set implementation may be a problem to solve: https://github.com/deckarep/golang-set A btree may be a problem to solve: https://gitlab.com/cznic/b/-/tree/master/v2

  • Major update to the golang-set repo now supporting generics syntax for Go 1.18beta1 release
    1 project | /r/golang | 25 Dec 2021
    This pre-release only exists on the generics branch at: https://github.com/deckarep/golang-set/tree/generics. Eventually this release would be tagged with a 2.0 release tag name.

What are some alternatives?

When comparing b and golang-set you can also consider the following projects:

go_chainable - With generics, allowing chainable .Map(func(...)).Reduce(func(...)) syntax in go

gods - GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more

gtl - Golang Template Library (GTL). Common data structures using Golang generics.

go-adaptive-radix-tree - Adaptive Radix Trees implemented in Go

go-generic-optional - Implementation of Optionals in Go using Generics

gota - Gota: DataFrames and data wrangling in Go (Golang)

go - The Go programming language

ttlcache - An in-memory cache with item expiration and generics [Moved to: https://github.com/jellydator/ttlcache]

functional-go - This library is inspired by functional programming - Clojure

trie - Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching.

bitset - Go package implementing bitsets

mafsa