Optimizing compilers are an active adversary, especially when trying to write microbenchmarks. This is a great talk — it’s about C++ but it’s really true for all optimizing languages: