Why optimization is important.
If you use a compiled language, you should periodically look at Godbolt and see what your code is doing and what changes to your code will do in the compiled output.
In this case a positively insane way of calculating squares and cubes generates 311 lines of ARM assembler output that will swallow your memory. With even something as simple as -O1
on the command line it’s replaced by one or two multiplications respectively. With -fwhole-program
it removes the functions entirely and interlaces them into the loop in main()
.
Know your tools. It makes huge differences!
![](https://kbin.life/media/cache/resolve/entry_thumb/7e/dc/7edc1656feaf29dbb9df1a7c934f402b1c35d6a903d963327b87e6b481b2b449.png)