In summary, it is possible to make C code run quickly but only by spending thousands of person-years building a sufficiently smart compiler—and even then, only if you violate some of the language rules. Compiler writers let C programmers pretend that they are writing code that is "close to the metal" but must then generate machine code that has very different behavior if they want C programmers to keep believing that they are using a fast language.https://queue.acm.org/detail.cfm?id=3212479
A really interesting piece from AcmQueue. The headline first had me thinking "what nonsense is this?" But the article raises some very valid points and observations about the mismatch between the clean and simple abstract machine that C presents compared to how moderns hardware actually runs your code. Definitely a good read!