Alex Mercer
Go

Reducing allocations in hot paths with sync.Pool

March 12, 2025 · 8 min read

After profiling our event pipeline I noticed a surprising number of short-lived allocations in the deserialization layer. Here's how sync.Pool brought GC pressure down by about 40% without making the code unreadable.

Read more →
Postgres

Index bloat: why VACUUM isn't always enough

December 19, 2024 · 6 min read

A table that gets heavy UPDATE traffic can accumulate index bloat even when autovacuum is running on schedule. I'll show how to detect it with pgstattuple and when REINDEX CONCURRENTLY is the right call.

Read more →