concurrent-swiss-map
go
concurrent-swiss-map | go | |
---|---|---|
3 | 2,194 | |
237 | 125,108 | |
- | 0.6% | |
4.1 | 10.0 | |
about 2 months ago | 5 days ago | |
Go | Go | |
MIT License | BSD 3-clause "New" or "Revised" 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.
concurrent-swiss-map
-
SwissTable: A High-Performance Hash Table Implementation
Currently, the official implementation of swisstable in Go is still under discussion, and there are a few community implementations like concurrent-swiss-map and swiss. However, they are not perfect; in small map scenarios, swisstable may even underperform compared to runtime_map. Nonetheless, the potential demonstrated by swisstable in other languages indicates that it is worth anticipation.
- A high-performance, thread-safe generic concurrent hash map implementation
go
-
How to create an AI Avatar in Go using Simli
Basic knowledge of Go and its concepts.
- Golang proposal: reduce error handling boilerplate using?
-
Ask HN: When would you fork instead of waiting for proposal/PR acceptance?
I love Go's templating system for its simplicity and frankly being part of the stdlib. I am however in need of a parser extensions. I created a proposal for this (https://github.com/golang/go/issues/59453), but like many large open source projects, the proposal queue is substantial with uncertain review timelines. I'm considering forking just this part of the stdlib to implement my needed changes in a backward-compatible way.
This raises a broader question: At what point do you decide to fork and maintain your own version versus waiting for upstream acceptance? What has been your experience with similar situations, especially when dealing with core libraries or language features?
I guess one sure reason to fork it is if the proposal is completely shot down and for some reason the proposer absolutely cannot live without it - but let us not go that far!
-
Why I'm learning Go in 2025
As a web developer, I learnt how to use NodeJS for my apps' back-end. But in 2025, I decided to learn Go, and I will detail in this post why.
-
Nearly All Binary Searches and Mergesorts Are
I think most of the language implementers know about it.
Here is a relevant line from Go, even with a comment that it's about overflow:
https://github.com/golang/go/blob/19e9231/src/sort/search.go...
- Curso de Golang Para Principiantes: Instalación y Configuración del Entorno de Desarrollo
-
Go Upgrade Checklist
If you're working at a large company and downtime is extremely expensive, this checklist is a good guide. Otherwise, if you have good test coverage, you can get by with something simpler. It's super rare to have a breaking change in go.
We do quarterly upgrades of all services in a monorepo (about 20-30). The steps are basically this:
- Upgrade all dependencies to their latest versions, fixing build and test breaks (I read release notes for Go, but not for dependencies)
- Look for deprecated packages and replace them
- Upgrade all toolchains, including CI/CD containers, go.mod, etc.
- Run all tests
- Deploy to the test environment and make sure everything is green
- Deploy to staging and do some sanity checks
- Deploy to prod, keeping an eye on metrics for an hour or two
We're on k8s and the state of all clusters (i.e. which images are running) is tracked in git, so a rollback is just git revert + apply.
In practice, after about four years of this, we've seen maybe a dozen build breaks, and I can only remember one regression caused by a breaking change in a library[1].
[1] https://github.com/golang/go/issues/24211
-
How to Get the Goroutine ID?
1. The Official Design of Not Having goid(https://github.com/golang/go/issues/22770)
-
Learn Golang in 2025, You Won't Regret It
For those who don't know, Golang (Go) is a programming language designed at Google in 2009. It is syntactically similar to C.
-
Mantis, a web framework written in V
Like Go, Deno, and Rust, V produces executables that run on Linux, Mac, and Windows.
What are some alternatives?
swiss - Golang port of Abseil's SwissTable
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Angular - Deliver web apps with confidence 🚀
grule-rule-engine - Rule engine implementation in Golang
RxGo - Reactive Extensions for the Go language.
crystal - The Crystal Programming Language
rust - Empowering everyone to build reliable and efficient software.
golang-developer-roadmap - Roadmap to becoming a Go developer in 2020
mojo - :sparkles: Mojolicious - Perl real-time web framework