That's very true. With a billion instructions per second, you often don't notice performance flaws right away. O(n), O(n^3), the one is instantaneous, the other takes half a second. On the other hand, many languages today have blazingly fast and highly optimized standard libraries, often fail-fast and lazy. So if you have good code and libraries, you have no lack of optimisation. If you're not doing number-crushing, you can often do better with a high-level language than in C.