btree
go-events
btree | go-events | |
---|---|---|
5 | 2 | |
3,770 | 95 | |
0.6% | - | |
0.0 | 0.0 | |
5 months ago | about 1 year ago | |
Go | Go | |
Apache License 2.0 | MIT License |
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.
btree
-
Shaving 40% Off Google’s B-Tree Implementation with Go Generics
This may be confusing to those familiar with Google's libraries. The baseline is the Go BTree, which I personally never heard of until just now, not the C++ absl::btree_set. The benchmarks aren't directly comparable, but the C++ version also comes with good microbenchmark coverage.
https://github.com/google/btree
https://github.com/abseil/abseil-cpp/blob/master/absl/contai...
-
I created an in-memory SQL database called MemSQL as a learning project
You might be interested in https://github.com/google/btree and having a default tree based around a PK. A simpler tree like an AVL or Red-Black Tree would let you do efficient range lookups for the PK as well.
- Any major projects using generics?
-
AVL balanced generic binary trees in Go
Go has generics now, and the API surface of the most popular btree implementations llrb and google don't quite match what I like from an iteration and sorting perspective. AVL has a pretty straightforward balancing model, and it turns out to be pretty performant for what I wind up doing a lot of the time.
- What are some secrets for solving tree problems during code interviews
go-events
-
Any major projects using generics?
For libraries I use at work, cmap has a v2 using generics. I think that's a fairly widely used library. The events library we use is updated, but not released. When I get a chance, planning on looking on moving to hooks, which does have released generics support.
-
Hooks: Simple, type-safe hook system for Go
Looks interesting. I was actually considering writing something like this, as we use https://github.com/kataras/go-events, which is similar, but doesn't have released generics support yet. I'll give this a try before trying to bake my own.
What are some alternatives?
graph - A library for creating generic graph data structures and modifying, analyzing, and visualizing them.
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]
concurrent-map - a thread-safe concurrent map for go
rabbus - A tiny wrapper over amqp exchanges and queues 🚌 ✨
hooks - Simple, type-safe hook system to enable easier modularization of your Go code.
gorush - A push notification server written in Go (Golang).
verify - Extensible, type-safe, fluent assertion Go library.
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
surf - CLI Text Search across your infrastructure platforms, Universal Ctrl+F for infra
go-notify - Package notify provides an implementation of the Gnome DBus Notifications Specification.
test - A modern generic testing assertions library for Go
dbus - Native Go bindings for D-Bus