Faster Go Maps with Swiss Tables — One of Go’s newest features is a revamped map implementation powered by a new hash table algorithm called Swiss Table that boosts map operations up to 60% faster in microbenchmarks, while reducing memory overhead. Here’s a look at how it works.
Michael Pratt
|
Tips to Debug Hanging Go Programs — Next time your Go app becomes unresponsive, these tips can help you find the issue by forcing a stack trace or using Delve to attach to the process (or core dump) and revive the program.
Michael Stapelberg
|
The Cost of Go's panic and recover — When something goes unexpectedly and critically wrong in a Go program you might use panic to abort things quickly, but did you know you can use recover to manage what happens after a panic? This means you could use it as a sort of control flow mechanism, if you were in a particularly unorthodox mood..
Julien Cretel
|
IN BRIEF:
-
🇬🇧 GopherConUK returns to London this August and its call for papers has just opened if you'd like to speak. You can submit a talk up until May 17.
-
go-attention is an attempt to create a pure Go implementation of attention mechanisms and transformer layers, such as used in modern LLMs.
|
Calling Rust from 'Cursed' Go — Cgo is Go’s mechanism for calling external/foreign functions but its performance often causes consternation. Enter purego, a still-in-beta way to make such calls without Cgo.
Preston Thorpe
|
Nil Channels in Go — Nil channels seem to baffle many Gophers, so Vishnu went on a quest to figure out why in a particular case. This led him to the wisdom of a new Go proverb: “Init when you split; Nil when you merge.”
Vishnu Bharathi
|
Go Clean Template — Inspired by Uncle Bob’s ‘Clean Code’ principles, this repo attempts to provide a ‘clean architecture template’ for building Go-powered services that are well organized and won’t turn into a mess. You be the judge.
Evrone
|
-
⭐ TinyGo 0.36.0 – The much celebrated Go compiler 'for small places' gains Go 1.24 and LLVM 19 support, as well as support for several new boards.
-
MongoDB Go Driver v2.1 – Officially supported driver to work with MongoDB. Now supporting MongoDB's new bulk write API and BSON vector datatype.
-
gocron v2.16.0 – Job scheduling package for running Go functions at specified intervals.
-
Wait4X 3.0 – CLI tool for waiting on various ports or services to reach a specified state.
-
pgroll v0.10 – Tool for zero-downtime, reversible schema Postgres migrations.
-
Glow 2.1 – Terminal-based Markdown rendering from the folks at Charm.
-
Pion WebRTC 4.0.13 – Pure Go implementation of the WebRTC API.
-
Sarama v1.45.1 – IBM's Go client library for Apache Kafka.
-
Hugo v0.145.0
|
A quick roundup of some of other interesting stories in the broader landscape, in case you've missed them:
|
|