Go Weekly
Plus a 40ms GC pause caused by swap, faster allocations in Go 1.27, and the races the race detector misses.

#​618 — September 18, 2026

Read the Web Version

Together with  Master.dev

Go Weekly

Size-Specialized Memory Allocation in Go 1.27 — Small allocations (under 80 bytes) are now up to 30% faster, and you can get the benefits just by rebuilding. Learn where the speedup comes from and why 80 bytes was the "sweet spot". Allocation-heavy programs could see a ~1% gain overall.

Michael Matloob (The Go Blog)

Stay Sharp in the Age of AI — Master.dev instructors build at Anthropic, OpenAI, Netflix, Google, and Stripe. Learn from them with hundreds of courses, live workshops, and expanded AI learning paths. New members get $100 off a yearly membership.

Master.dev sponsor

Data Races and the Limits of ThreadSanitizer in C and Go — A tour of how ThreadSanitizer (the engine behind race detection in Go) works, and the easily reachable limits where it stops catching real races. Two objects in unrelated sync.Pools colliding in Go's 128-slot table is enough to hide a race.

Phil Eaton

IN BRIEF:

A 40ms Go GC Pause Caused by Swap“I’m writing this so you don’t slap your forehead like I almost did when I decided to run swap in production to absorb memory spikes.”

Fernando Simões

Scaling Go in CI by Replacing actions/setup-go — How GitHub's official actions/setup-go lets parallel jobs interfere with each other's caches, and why its cache goes stale until you touch go.mod. CloudX's alternative gives each CI job its own isolated cache.

Schwab and Downs (CloudX)

CodeAF: A New Open-Source Software Factory, Written in Go — You direct the work from one window for every project. It splits, runs, tests and merges, and asks only when it must.

AgentField.ai sponsor

📄 A Million Go Map Entries Take 38MB, Not 16MB – A look at where the extra bytes go in Go’s Swiss table map implementation and why map[T]struct{} no longer saves memory over map[T]bool. Nazar Boyko

▶️ Numbers: The Long History Behind Go's Untyped Constants – A history-heavy talk on how 1960s word sizes gave C its integer literal mess, and why you’ll never see 0x80ULL in Go code. Dave Cheney

▶️ Building a Web App with Go and HTMX Haseeb Majid

🛠 Code & Tools

Rune: A Fast, Native, Open Source IDE Built in Go — A GPU-accelerated IDE (shown off here) that’s now GPLv3 licensed. This post has interesting details on how they got their integrated terminal almost as fast as Alacritty and Ghostty without using cgo for the hot path. GitHub repo.

Ernest Romero Climent

💡 Rune is also an interesting case study for using (a fork of) Ebitengine for its GPU-powered rendering.

golang-set 3.0: A Simple, Well-Tested, Generic Set Type — While a future Go release might be adding a generic set type, this is a mature option for now. v3.0 improves performance, adds Filter and AppendFrom methods, and removes Mongo BSON support.

Ralph Caraveo

wasm2go: Translate WebAssembly Binaries into Go Code — A compiler to translate WASM binaries into a standalone Go package, so you can ship, say, a C library built with the WASI SDK inside a Go app without the added weight of a WASM engine.

Masaaki Goshima

💡 If 'wasm2go' sounds familiar, there's also ncruces/wasm2go which powers the cgo-free go-sqlite3. The key difference is ncruces/wasm2go emits pure Go, while goccy's also generates amd64 and arm64 assembly.

GoHT: Haml, Slim and EGO Template Engine for Go — Write templates alongside normal Go code. Use @haml, @slim, or @ego blocks in a .goht file, then run the generator to produce HTML-rendering Go functions.

Michael Stack

📰 Classifieds

Software Engineer - Join our "kick ass" team! Our software team operates from 17 countries and we're looking for more exceptional engineers to join our team.


🐘 Since many Go backends end up talking to Postgres, you may also like our sibling newsletter: Postgres Weekly.

Issue 617 #618