---
title: "Swiss Tables are a big plus"
publication: "Go Weekly"
issue: 563
published_at: "2025-07-23"
canonical_url: "https://golangweekly.com/issues/563"
---

Plus using Testcontainers with Go, how American Express uses Go at scale, and an Atari 2600 emulator. |        

#​563 — July 23, 2025 

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

Together with [![WorkOS\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_514,h_98/e_make_transparent/co_white,e_outline:9/tdfxwgk852ui9leli4wm.png)](https://workos.com?utm_source=cpgo&utm_medium=newsletter&utm_campaign=q22025)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ioqfmifxpblej78fm6jp.jpg)](https://www.datadoghq.com/blog/engineering/go-swiss-tables/)  

[How Go 1.24's Swiss Tables 'Saved Us Hundreds of Gigabytes'](https://www.datadoghq.com/blog/engineering/go-swiss-tables/) — A look at how [the new ‘Swiss Tables’ implementation](https://go.dev/blog/swisstable) in Go 1.24 helped reduce memory usage in a large in-memory map, how the change was profiled and sized, and a peek at how struct-level optimizations led to even larger fleet-wide savings. 

Nayef Ghattas (Datadog)   

💡 This post is a strong follow-up to another post: [How we tracked down a Go 1.24 memory regression across hundreds of pods](https://www.datadoghq.com/blog/engineering/go-memory-regression/).  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/168ba9c1.png)](https://workos.com?utm_source=cpgo&utm_medium=newsletter&utm_campaign=q22025) 

[Add Enterprise Features, Keep Your Velocity](https://workos.com?utm_source=cpgo&utm_medium=newsletter&utm_campaign=q22025) — Single sign-on, user provisioning, and role management take time to get right. WorkOS provides clean APIs and reliable infrastructure so your team can stay focused on what makes your product stand out. Trusted by OpenAI, Sourcegraph, and Temporal. 

WorkOS sponsor   

[Go at American Express Today: Seven Key Learnings](https://www.americanexpress.io/go-at-american-express-today/) — It’s always great to read the lessons learned about technology adoption, especially at larger companies. Amex is thriving with Go today (with over 1,000 gophers on staff), but the road wasn’t always smooth. 

Benjamin Cane (American Express)   

[Logging in Go with Slog: A Practitioner's Guide](https://www.dash0.com/guides/logging-in-go-with-slog) — [`log/slog` was introduced in Go 1.21](https://go.dev/blog/slog) as the go-to structured log package, and it has many features, many of which are touched on in this comprehensive tutorial. 

Ayooluwa Isiah (Dash0)   

**IN BRIEF:** 

- 🇺🇸 [GopherCon 2025](https://www.gophercon.com/) takes place this August 26-28 in New York City with a [great lineup of talks](https://www.gophercon.com/agenda) with standard tickets available till next Tuesday.
- The tree for Go 1.26 is [expected to open today](https://groups.google.com/g/golang-dev/c/fLD6sCbZtYA), meaning work on Go 1.26 (fixes first, new features later) can begin in earnest on GitHub.
- [Gofakeit](https://github.com/brianvoe/gofakeit) is a Go package for generating random/fake data in hundreds of categories and its author has [written about its history and how it's reached 5k stars on GitHub.](https://gofakeit.com/blogs/five-thousand-stars)
- Google has built [a new open-source secrets / credentials scanner in Go called Veles.](https://opensource.googleblog.com/2025/07/stop-leaked-credentials-in-their-tracks-with-veles-our-new-open-source-secret-scanner.html)   

[Integration Testing for Go Apps using Testcontainers and Containerized Databases](https://devblogs.microsoft.com/cosmosdb/integration-testing-for-go-applications-using-testcontainers-and-containerized-databases/) — Want to test your app against real dependencies without the complexities of managing them (or, worse, running on production services)? [Testcontainers](https://testcontainers.com/) provide a way to spin up real services that exist only for the duration of your tests. 

Abhishek Gupta (Microsoft)   

📄 [Tracing Go Apps Using Runtime Tracing and OpenTelemetry](https://last9.io/blog/trace-go-apps-using-runtime-tracing-and-opentelemetry/) Preeti Dewani (Last9) 

📄 [Designing a Composable Rate Limiter](https://clipperhouse.com/composable-rate-limiter/) clipperhouse 

📺 [TinyGo Code Review of a GSM/GPRS Driver](https://www.youtube.com/watch?v=lyJu4rvkjnE) Pat Whitti  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sro0ri9zveznzghf3yty.jpg)](https://pocketbase.io/)  

[PocketBase: A Go-Powered Backend in One Binary](https://pocketbase.io/) — An open source backend app including an embedded SQLite database with realtime subscription support, file and user management, an admin/dashboard UI, and REST API – its main target is for use as a backend to JavaScript frontend apps. [Live demo](https://pocketbase.io/demo/), [GitHub repo](https://github.com/pocketbase/pocketbase) and [nice docs.](https://pocketbase.io/docs/) 

Gani Georgiev   

[Redka: Redis Re-Implemented with SQL](https://github.com/nalgeon/redka) — A Go-powered data store that’s compatible with Redis’s API but uses SQL behind the scenes to make it all work. Till now it’s been based on SQLite but **[v0.6](https://github.com/nalgeon/redka/releases/tag/v0.6.0) introduces Postgres support.** 

Anton Zhiyanov   

[How to Use Go Tooling + Depot’s API to Outsource Container Builds](https://fnf.dev/3Ulsu8W) — Stop managing container orchestration complexity. Learn how to use Depot to build untrusted images quickly and securely. 

Depot sponsor   

[go-quartz 0.15: Simple, Zero-Dependency Scheduling Library](https://github.com/reugn/go-quartz) — Inspired by the [Quartz scheduler](https://github.com/quartz-scheduler/quartz) for Java, go-quartz makes it easy to spin up a scheduler within a Go process and trigger functions and jobs on defined schedules. 

Eugene R.   

- [oauth2-proxy 7.10](https://github.com/oauth2-proxy/oauth2-proxy/releases/tag/v7.10.0) – Reverse proxy or middleware for providing OAuth authentication.
- [GitHub MCP Server 0.8](https://github.com/github/github-mcp-server) – Yes, GitHub's official MCP server is written in Go.
- [Memos 0.25](https://www.usememos.com/) – Self-hosted knowledge management and note taking app.
- [BillionMail 4](https://github.com/aaPanel/BillionMail/releases/tag/v4.0) – Go-powered email campaign platform.
- [rqlite 8.40](https://github.com/rqlite/rqlite/releases/tag/v8.40.0) – SQLite-backed distributed database.
- [golangci-lint 2.3](https://github.com/golangci/golangci-lint) – A faster way to run Go linters.
- [quic-go 0.54](https://github.com/quic-go/quic-go/releases/tag/v0.54.0) – Pure Go QUIC implementation.
- [fx 38.0](https://github.com/antonmedv/fx/releases/tag/38.0.0) – The powerful terminal JSON viewer.  

🕹️ A Blast from the Past.. 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xpiqmka4llzahajfuczl.jpg)](https://github.com/JetSetIlly/Gopher2600)   

[Gopher2600: An Atari VCS Emulator](https://github.com/JetSetIlly/Gopher2600) — A mostly feature-complete emulator that includes controller support, gameplay recording, and CRT display effects. We’ve linked to it a few times over the years, and amazingly it’s still getting significant updates, like in yesterday’s [v0.50.0 release.](https://github.com/JetSetIlly/Gopher2600/releases/tag/v0.50.0) 

Stephen Illingworth         

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
