---
title: "Comparing six Go cache designs"
publication: "Go Weekly"
issue: 607
published_at: "2026-06-26"
canonical_url: "https://golangweekly.com/issues/607"
---

Plus Delve 1.27, process sandboxing with Landlock, and avoiding excessive nil pointer checks.        

#​607 — June 26, 2026 

[Read the Web Version](https://golangweekly.com/issues/607)  

Together with [![Master.dev\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_245/co_white,e_outline:17/cgiteem1q7kgf8yoheqo.png)](https://frontendmasters.com/courses/claude-code/?utm_source=email&utm_medium=golangweekly&utm_content=claudecooper)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vg9wohjtquykbt24heha.jpg)](https://awesome-go.com/)  

[Awesome Go: ~3000 Categorized Go Resources](https://awesome-go.com/) — Most curated ‘awesome’ collections go stale, but I’ve been impressed that Go’s gets almost-daily updates! It’s a perennially useful resource and worth revisiting in a week short on big Go news (are we all enjoying the World Cup?). You can [contribute projects of your own](https://github.com/avelino/awesome-go/blob/main/CONTRIBUTING.md) too, if they meet [the quality standards](https://github.com/avelino/awesome-go/blob/main/CONTRIBUTING.md#quality-standards). 

Awesome Go Team   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/85d412f3.jpg)](https://frontendmasters.com/courses/claude-code/?utm_source=email&utm_medium=golangweekly&utm_content=claudecooper) 

[Free Claude Code Course from Anthropic + Master.Dev](https://frontendmasters.com/courses/claude-code/?utm_source=email&utm_medium=golangweekly&utm_content=claudecooper) — Coding is changing fast, and the engineers who thrive will be the ones who direct AI instead of guessing at it. Lydia Hallie from Anthropic teaches exactly that in our Claude Code course, [now free for everyone](https://frontendmasters.com/courses/claude-code/?utm_source=email&utm_medium=golangweekly&utm_content=claudecooper). 

Master.dev sponsor   

📊 [Shard Your Locks: Benchmarking 6 Go Cache Designs](https://strebkov.dev/posts/shard-your-locks/) — A Google Cloud engineer benchmarked several approaches (`sync.Mutex`, `sync.RWMutex`, sharded locks, etc.) to find the fastest way to guard a concurrent in-memory cache. The numbers vary a lot with different types of load and usage, so benchmarking against your _own_ workload is always best. 

Misha Strebkov   

**IN BRIEF:** 

- A [2024 proposal for Go to support process sandboxing](https://github.com/golang/go/issues/68595#issuecomment-4737212313) on Linux using [Landlock](https://landlock.io/) has now been accepted.
- [Robert Griesemer notes](https://github.com/golang/go/issues/76163#issuecomment-4711024179) that in Go 1.27, if the environment has a removed `GODEBUG` setting with a non-default value, execution will panic during initialization as part of the broader policy of [removing `GODEBUG` flags](https://github.com/golang/go/issues/76163).
- Hajime Hoshi, creator of [Ebitengine](https://ebitengine.org/), noticed that [UUIDs generated with `uuid.NewV7()` always include `7000`](https://github.com/golang/go/issues/80084) when running in a browser under the `js/wasm` target. It's fun to see everyone work out why.
- 🔒 Socket reports on a Mini Shai-Hulud supply chain attack (as are plaguing the JS ecosystem lately) that has [partly expanded into the Go ecosystem too](https://socket.dev/blog/miasma-mini-shai-hulud-hits-leoplatform-npm-packages-go-ecosystem).   

[On Excessive `nil` Pointer Checks](https://konradreiche.com/blog/excessive-nil-pointer-checks-in-go/) — An argument that most defensive `if .. != nil` guards are a smell and that you should ‘fail fast and fail early’ at construction instead of accepting broken objects. 

Konrad Reiche   

[How Channel Iteration Leaks Goroutines](https://rednafi.com/go/channel-iteration-goroutine-leak/) — Ranging over a channel that never closes leaks the goroutine forever. Redowan dissects a real cron scheduler bug and the fix. 

Redowan Delowar   

▶[Architecting Durable Runtimes for AI Agents](https://youtube.com/watch?si=IONAdJnDR0IjvpHe&v=2IHnkE3Seac&feature=youtu.be?utm_campaign=&utm_source=Newsletter&utm_medium=email) — How to build a 5-layer production stack for durable agents. 

Orkes sponsor   

📄 [Don't Run SQL Migrations in Tests: How I Sped Up the Test Suite By 2x](https://gaultier.github.io/blog/I_sped_up_the_test_suite_by_x2.html) – The trick: caching a ‘golden’ migrated database and cloning it per test. Philippe Gaultier 

📄 [I Taught a Bucket to Speak Git](https://www.tigrisdata.com/blog/objgit/) – Wiring together the pure-Go [go-git](https://github.com/go-git/go-git) implementation with Tigris’s object storage to build a stateless Git server. Xe Iaso (Tigris) 

📄 [Socket Activation for a Go HTTP Service on Linux with systemd](https://poweruser.blog/socket-activation-for-a-go-http-service-part-1-on-linux-with-systemd-0e530ed463a3) Chris Korneck  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/uprxrpiusam9ombdh5bg.jpg)](https://github.com/guptarohit/asciigraph)   

📈 [asciigraph 0.10: ASCII Line Graph Rendering Library](https://github.com/guptarohit/asciigraph) — A long standing library for rendering line graphs in ASCII text, including in color, all with no dependencies. [v0.10](https://github.com/guptarohit/asciigraph/releases/tag/v0.10.0) adds spectrum/heatmap gradient coloring, threshold coloring, and a flicker-free realtime mode. 

Rohit Gupta  

🌲 [gtree](https://github.com/ddddddO/gtree) covers similar ground if you want to render ASCII _trees_instead.  

[Delve 1.27: The Popular Go Debugging Tool](https://github.com/go-delve/delve/releases/tag/v1.27.0) — A minor bump for the popular debugger, though we haven’t mentioned it in over a year. Over that time, it’s seen some modernization and focused on supporting Go 1.27 better (e.g. generic methods and `mapsplitgroup` support). 

Derek Parker   

- [cockroachdb/errors 1.14.0](https://github.com/cockroachdb/errors) – Drop-in `errors` replacement that adds extra features, formatting options, and network portability of error objects.
- [TypeScript 7.0 Release Candidate](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/) – Microsoft's Go-powered, much-faster native port of the TypeScript compiler.
- [gocondense](https://github.com/abemedia/gocondense) – A Go code formatter that condenses [various multi-line constructs](https://github.com/abemedia/gocondense#transformations) into single lines of code.
- [mpeg 0.6](https://github.com/gen2brain/mpeg/releases/tag/v0.6.0) – Pure Go MPEG 1 video and MP2 audio decoder (both old but unencumbered formats). Now with SIMD-accelerated audio decoding.
- [yarr (Yet Another RSS Reader) 2.7](https://github.com/nkanaev/yarr) – Go-powered web-based feed aggregator.
- [bbolt 1.5](https://github.com/etcd-io/bbolt) – etcd's actively-maintained fork of the [Bolt](https://github.com/boltdb/bolt) key/value store.      

📰 Classifieds   

🧩 A coding-agent harness has a boundary you can actually engineer — workspace, drift, verifiers, blast radius. The membrane model, in 4 properties. [→ Read the post](https://agentfield.ai/blog/harness-as-membrane/?utm_source=golang&utm_medium=newsletter&utm_campaign=golang-260626&utm_id=golang-260626-blog-h-as-m&utm_content=blog-h-as-m).          

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict).
Go is a [trademark of Google](https://go.dev/brand).
The [Go gopher](https://go.dev/blog/gopher), whenever used, is an original creation by Renée French. 

[Change your email](https://golangweekly.com/edit_subscription/*|UID|*)
[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
