How Compiler Explorer Runs on AWS in 2026

Written with LLM assistance.
Details at end.

I’ve been meaning to write an update on how Compiler Explorer actually runs on Amazon’s cloud, and it’s been sat on my list for a good while now, somewhere behind the other random things that take up what laughably I refer to as my spare time1.

The last time I wrote about this was 2016, when the whole site was a load balancer, a couple of instances and some Docker containers I built on my laptop. I wrote a much longer how it works last summer, but that one is mostly about Compiler Explorer and only incidentally about the cloud it sits on.

Filed under: Coding Compiler Explorer
Posted at 10:19:00 CDT on 5th August 2026.

Walking the dog with Claude

Written with LLM assistance.
The interview format is genuine; the prose is lightly tidied from voice notes.

I had lunch with a pal yesterday, and we got onto the subject of why so much technical material is either accurate-but-impenetrable or polished-but-slightly-wrong. It’s a gap I think about a lot, partly because I make videos that try to land in the middle of it and don’t always succeed. The conversation stuck with me on the drive home.

This morning, whilst walking the dog, I tried something a bit silly: I asked Claude (dictating to the mobile app1) to interview me about it. Voice-to-text on one end, an LLM playing journalist on the other, and a black lab setting the pace. What follows is that conversation, lightly tidied – paraphrased in places, verbatim in others. The LLM is the interviewer; I’m the subject.

Filed under: Blog Personal Coding AI
Posted at 11:55:00 CDT on 24th May 2026.

2025 in Review

Written by me, proof-read by an LLM.
Details at end.

2025 has been quite a year for me. The big ticket things for me were having the majority of the year on a non-compete, a new job, and some videos and conference talks.

It was a bumper year for my public talks, which included:

Filed under: Blog
Posted at 15:30:00 CST on 31st December 2025.

Thank you

Written by me, proof-read by an LLM.
Details at end.

It’s the 25th! Whatever you celebrate this time of year, I wish you the very best and hope you are having a lovely day. For me, this is a family time: I’m not at all religious but was brought up to celebrate Christmas. So, today we’ll be cooking a massive roast dinner and enjoying family time1.

This series was an idea I had around this time last year, and it has been a substantial amount of work. I’ve really enjoyed writing it, and seeing the impact it has had on the compiled language community. I realise now in retrospect I exclusively used C and C++2, and concentrated on x86 a bit too much. If I do this again, I’ll try and widen my horizons!

Filed under: Coding AoCO2025
Posted at 06:00:00 CST on 25th December 2025.

When compilers surprise you

Written by me, proof-read by an LLM.
Details at end.

Every now and then a compiler will surprise me with a really smart trick. When I first saw this optimisation I could hardly believe it. I was looking at loop optimisation, and wrote something like this simple function that sums all the numbers up to a given value:

Filed under: Coding AoCO2025
Posted at 06:00:00 CST on 24th December 2025.

Switching it up a bit

Written by me, proof-read by an LLM.
Details at end.

The standard wisdom is that switch statements compile to jump tables. And they do - when the compiler can’t find something cleverer to do instead.

Let’s start with a really simple example:

Filed under: Coding AoCO2025
Posted at 06:00:00 CST on 23rd December 2025.

Clever memory tricks

Written by me, proof-read by an LLM.
Details at end.

After exploring SIMD vectorisation over the last couple of days, let’s shift gears to look at another class of compiler cleverness: memory access patterns. String comparisons seem straightforward enough - check the length, compare the bytes, done. But watch what Clang does when comparing against compile-time constants, and you’ll see some rather clever tricks involving overlapping memory reads and bitwise operations. What looks like it should be a call to memcmp becomes a handful of inline instructions that exploit the fact that the comparison value is known at compile time1.

Filed under: Coding AoCO2025
Posted at 06:00:00 CST on 22nd December 2025.

When SIMD Fails: Floating Point Associativity

Written by me, proof-read by an LLM.
Details at end.

Yesterday we saw SIMD work beautifully with integers. But floating point has a surprise in store. Let’s try summing an array1:

Filed under: Coding AoCO2025
Posted at 06:00:00 CST on 21st December 2025.

About Matt Godbolt

Matt Godbolt is a C++ developer living in Chicago. He works for Hudson River Trading on super fun but secret things. He is one half of the Two's Complement podcast. Follow him on Mastodon or Bluesky.