The Curious Engineer

All blogs / C++

Matt Godbolt’s blog

xania.org

C++CompilersPerformance / optimization

’05’10’15’20’25
Posts
318 from 2 Feb 2002 to 30 Aug 2026
Posting
monthly (20 in the last year)
Kind
personal blog
Feed
https://xania.org/feed.atom

2026 3

  1. Recreating a 2010 Experiment
  2. How Compiler Explorer Runs on AWS in 2026
  3. Walking the dog with Claude

2025 17

  1. 2025 in Review
  2. Thank you
  3. When compilers surprise you
  4. Switching it up a bit
  5. Clever memory tricks
  6. When SIMD Fails: Floating Point Associativity
  7. SIMD City: Auto-vectorisation
  8. Chasing your tail
  9. Partial inlining
  10. Inlining - the ultimate optimisation
  11. Calling all arguments
  12. Aliasing
  13. When LICM fails us
  14. Loop-Invariant Code Motion
  15. Unswitching loops for fun and profit
  16. Pop goes the...population count?
  17. Unrolling loops

2018 1

  1. C++Now - trip report

2015 2

  1. Experiences with Docker and GCC Explorer
  2. jsbeeb top 20 images

2014 1

  1. Happy 10th Birthday Compiler Explorer!

2012 1

  1. New Web Provider - UKShells

2010 1

  1. Announcing a new Godbolt

2002 1

  1. Death by dying

Undated 291

  1. On AI, Assembly, and the Art of Project Stewardship
  2. AI coding: parallels with the Semiconductor Revolution
  3. Blog Modernisation with Claude: A Python Makeover
  4. Minding your Ps and Qs
  5. USBwine
  6. Modern web design
  7. Die Cast Films
  8. Even more bush
  9. The War on Weather
  10. Explaining control-alt-delete
  11. ID Cards
  12. Hey sucker!
  13. Die Frog, Die
  14. 20 seconds to comply
  15. Fantastic spoof Citroen video!
  16. People are stupid
  17. He's tough...he's uncompromising...
  18. So *that's* what was in the briefcase
  19. Computer review of a kitten
  20. I should be so lucky...
  21. Bad habit
  22. Rejected
  23. Retrology
  24. Celebrities swearing
  25. Hacked news studio
  26. Induction variables and loops
  27. Going loopy
  28. Multiplying our way out of division
  29. Division
  30. ARM's barrel shifter tricks
  31. Multiplying with a constant
  32. You can't fool the optimiser
  33. Addressing the adding situation
  34. Why xor eax, eax?
  35. Introducing the Advent of Compiler Optimisations 2025
  36. CppCon 2025 — Matt Godbolt’s blog
  37. Compiler Explorer and the Promise of URLs That Last Forever — Matt Godbolt’s blog
  38. Compiler Explorer, LLC
  39. Live streaming on YouTube
  40. Life update
  41. A European Vacation
  42. All change for me
  43. Good grief, it's been a while!
  44. Hello Chicago!
  45. It's nearly time to say goodbye
  46. Goodbye Google!
  47. An even bigger move
  48. A big move
  49. Baby Godbolt has a name!
  50. Windows fails to mount USB drives when they're inserted - a solution
  51. Setting up an Android on a UK O2 iPhone contract SIM for MMS
  52. Honey and Lime - a mobile bar
  53. Sunday Lunch at the Fat Duck
  54. DIY Plumbing Fail
  55. Lord Winston and centenarian nuns
  56. A belated Happy New Year
  57. November round-up
  58. Two weeks in Mountain View
  59. Goodbye ProFactor...
  60. A big change coming up for me
  61. Another weekend and some more data recovery
  62. NTFS data recovery on Linux
  63. A good weekend
  64. William Anthony Richard Godbolt
  65. The beginning of the end for Windows XP
  66. Two weeks of relaxing
  67. Spooky coincidences...
  68. So that's what we've been up to...
  69. This week, I have mostly been...
  70. Plugging for a friend - New Metal Army
  71. Things I learnt about Google last night
  72. Challenges, and bits and bobs
  73. It's a human!
  74. Happy New Year
  75. American in bad maths shocker
  76. Google POP3 certificate problem and Thunderbird
  77. Me, a name I call myself
  78. Poor man's GPS
  79. A few days of downtime
  80. Linksys Broadband Router DHCP bug
  81. Parcelforce - Parcelfarce more like
  82. Chiropractic - is there a better choice?
  83. A new blogging system
  84. General round up
  85. Blatant plug!
  86. The Highest Power
  87. New Zealand Pics
  88. Debian update and PHP issue
  89. A new fan
  90. Happy Birthday StyleManager
  91. Cached Credentials in Samba
  92. PKR goes live
  93. Blasts from the past
  94. Don't buy an MS wireless desktop
  95. Xania.org attack
  96. Xania.org will be going down for maintainance...
  97. Clever Dick
  98. Firefox woes - "Firefox is already running" when it's not
  99. When is a window not a window?
  100. Godbolts of the World
  101. GeekLog 1.4.0
  102. Geeklog 1.4.0rc2 and stuff
  103. In the interests of seeding Google's crawler
  104. Me on Radio 4
  105. PKR Poker
  106. Lord of the Rings party
  107. Wedding Party Pics
  108. Matt and Ness : Wedding Photos
  109. Mr & Mrs Godbolt
  110. Cheerio for now
  111. Alice in Wonderland
  112. Another Moog down
  113. Tunnelling Remote Desktop
  114. One scam email you won't be getting
  115. Even the Beeb can have bad days
  116. Sainsbury's - what's happened?
  117. Why Is That Thing Beeping?
  118. Squaddie's stag do
  119. Hawking gag
  120. Clever Curry Cooking Considerations
  121. Next Generation Consoles - Part One
  122. Windows Tips
  123. Never, ever, use WebFusion
  124. Bank Holiday Beer
  125. Public Whip
  126. Things you never knew about Windows - part 1
  127. Opera 8 goes final
  128. Come fly with me
  129. Jade Empire Saves marriages
  130. Who should you vote for?
  131. Science + Flash = Marketing
  132. Chip and Spin?
  133. New arrival at xania.org
  134. The future of communications!
  135. It's fun to litigate with the D....M...CA
  136. Peace and quiet at last
  137. SWAT:GST the musical
  138. Site down last night
  139. Forum amusement du jour
  140. Nathan Barley
  141. The end of the transistor?
  142. UK DS release date!
  143. GMail problem
  144. Chelsea Tractors - the end?
  145. Xbox 2?
  146. Stag nation
  147. Compiling MPPE support into debian
  148. AskMyNetwork
  149. New company - ProFactor
  150. Blast from the past
  151. Land of spare disk space
  152. CEFS: Finally Solving CE's Mount(ing) Problems
  153. Behind the Scenes: My "How Computers Really Work" Series on Computerphile
  154. How Compiler Explorer Works in 2025
  155. MSVC and CE
  156. C++ and passing by value
  157. CppCon 2019 Trip Report
  158. Compiler Explorer's new state storage
  159. March update
  160. Some YouTube videos
  161. CppCon 2017 Trip Report
  162. Compiler Explorer is now on Patreon!
  163. Compiler Explorer's embedded view
  164. How it works: Compiler Explorer
  165. Inside the Ivy Bridge and Haswell BTB
  166. Branch Target Buffer, part 2
  167. The BTB in contemporary Intel chips
  168. Branch prediction - part two
  169. Static branch prediction on newer Intel processors
  170. Traits and trait objects
  171. What abuse of compute resources looks like
  172. Error handling in Rust
  173. Further notes on Rust: a second look
  174. zindex - index and search large gzipped files quickly
  175. The runtime performance of Rust for a simple path tracer
  176. Two commutes with Rust
  177. Leaks in javascript
  178. GCC 5.1 on GCC Explorer
  179. Seasocks - a quick and easy websocket server in C++
  180. Even more compilers for GCC explorer
  181. Announcing new compilers for GCC Explorer
  182. GCC Explorer's top 10 compilers
  183. Elite's crazy tokenised string routine
  184. jsbeeb Part Four - IRQs and timers
  185. jsbeeb Part Three - 6502 CPU timings
  186. Emulating a BBC Micro in Javascript - Part Two
  187. Emulating a BBC Micro in Javascript
  188. !FinalLook - a RISC OS 3.1 hack explained
  189. Forcing code out of line in GCC and C++11
  190. GCC Explorer - progress update
  191. GCC Explorer - an interactive take on compilation
  192. Vim's quickfix and GCC 4.5
  193. An update to Miracle
  194. Introducing Miracle
  195. Solving the threading problem in WinInet
  196. Threading issues in the Windows Internet API
  197. Samba PDC problems after changing server IP
  198. Comments on hacking about with stacks
  199. Hacking about with stacks
  200. How to make a pure virtual call
  201. IO Completion Ports - the UNIX equivalents
  202. IO Completion Ports
  203. LCD screen hackery
  204. The C library's strcmp routine is badly named
  205. Launching a debugger automatically
  206. Things I didn't know about Visual Studio's Debugger
  207. Strict aliasing in C
  208. C++ header dependency tricks
  209. Ambiguous function overloading in C++
  210. The three way handshake of understanding
  211. IRBasic - object-oriented BASIC
  212. More on BASIC line numbers
  213. BBC BASIC binary line number format
  214. BBC BASIC V file format
  215. List comprensions in Perl using map {}
  216. List comprehensions in Python
  217. More things I didn't know about Python
  218. HTML scraping in Python
  219. Easy Installation with ez_setup
  220. Python sqlite3 gotchas
  221. Things I didn't know about Python, part 1
  222. Samba & LDAP
  223. IncludeManager released!
  224. IncludeManager - a #include graph visualiser
  225. Measuring productivity losses due to long builds
  226. Godbolt's Second Law
  227. StyleManager 1.04 released
  228. CRT Heap Fragmentation in Windows
  229. ProFactor StyleManager
  230. StyleManager update
  231. SCons, VS.NET and VSIP
  232. ProFactor announcement - StyleManager
  233. Godbolt's Law
  234. What were they thinking?
  235. Floating point
  236. Driving me NATty
  237. Compiler Explorer Cost Transparency
  238. BBC emulation talk - video available
  239. BBC emulation talk - video available
  240. BBC emulation slides
  241. Debugging BBC Master demos with jsbeeb
  242. SWAT: the last few bits
  243. Rendering in SWAT: PlayStation 2
  244. Rendering in SWAT: Xbox
  245. SWAT's lighting system
  246. Game Development: SWAT's artwork
  247. Game Development: SWAT
  248. The End
  249. Hong Kong Phooey
  250. Bye bye Aotearoa
  251. Kiwi at last
  252. Penguins!
  253. Milford
  254. Activities
  255. Queenstown
  256. Glaciers!
  257. En route to a glacier
  258. Whales and Dolphins
  259. Having a Whale of a Time
  260. From north to south
  261. In the footsteps of hobbits...
  262. Hobbits!
  263. A quick note on photos
  264. White Island
  265. The Pong of Rotorua
  266. Glowing Worms and Deep Dark Caves
  267. Return from the North
  268. One Year of Wedded Bliss
  269. First Day in NZ
  270. Half a Planet Away
  271. Last Day in Japan
  272. Day Three - second day in Japan
  273. Tokyo update
  274. The Trip Begins
  275. Kiwi Countdown
  276. Recording and editing Two's Complement
  277. Pence in the pound
  278. It's Alive! (again!)
  279. A frustrating evening
  280. A new screen
  281. The Ep93xx LIRC driver
  282. LIRC and a driver
  283. Adventures with a Prototype Board
  284. An LCD driver for the Weebox
  285. Wireless booting and flash RAM fun
  286. Display!
  287. Sound
  288. The Weebox arrives!
  289. Python and Weebox
  290. Building Things
  291. The Weebox Project