Sign up

Matt Godbolt’s blog

Not verified No WebSub updates No webmention support Not yet validated

Author
Matt Godbolt
Rights
Copyright 2026 Matt Godbolt. Unless otherwise stated, all content is licensed under the Creative Commons Attribution-NonCommercial 2.5 License.
Public lists
davewiner/hackerNewsStars
Fetched

Matt Godbolt’s blog

Walking the dog with Claude

An AI interview about explaining hard things simply, conducted on a dog walk

Matt Godbolt’s blog

2025 in Review

What has this year all been about, eh?

Matt Godbolt’s blog

Thank you

The end of the 2025 Advent of Compiler Optimisation

Matt Godbolt’s blog

When compilers surprise you

Sometimes compilers can surprise and delight even a jaded old engineer like me

Matt Godbolt’s blog

Switching it up a bit

Taking a look at the various ways the compiler can optimise switch statements

Matt Godbolt’s blog

Clever memory tricks

We learn that compilers have tricks to access memory efficiently

Matt Godbolt’s blog

When SIMD Fails: Floating Point Associativity

Why floating point maths doesn't vectorise like integers, and what to do about it

Matt Godbolt’s blog

SIMD City: Auto-vectorisation

Doing more with less: vectorising can speed your code up 8x or more!

Matt Godbolt’s blog

Chasing your tail

The art of not (directly) coming back: tail call optimisation

Matt Godbolt’s blog

Partial inlining

Inlining doesn't have to be all-or-nothing

Matt Godbolt’s blog

Inlining - the ultimate optimisation

Copy paste can sometimes be a good thing, at least if the compiler does it for you

Matt Godbolt’s blog

Calling all arguments

Knowing how compilers call functions can help with design - and optimisation

Matt Godbolt’s blog

Aliasing

Knowing when the compiler can't optimise is important too

Matt Godbolt’s blog

When LICM fails us

When aliasing can prevent loop-invariant code motion

Matt Godbolt’s blog

Loop-Invariant Code Motion

The compiler can move code outside of loops to speed things up

Matt Godbolt’s blog

Unswitching loops for fun and profit

Duplicating loops around can yield some decent optimisations

Matt Godbolt’s blog

Pop goes the...population count?

Compilers can take advantage of some very specific instructions

Matt Godbolt’s blog

Unrolling loops

Learning when the compiler decides to unroll loops for performance

Matt Godbolt’s blog

Induction variables and loops

Compilers can rewrite loops to avoid expensive calculations

Matt Godbolt’s blog

Going loopy

Exploring the ways optimisers deal with loop constructs