Callum Lerwick wrote:
Going -O3 rather than -O2 is going to make a bigger difference than
anything else. If you want to improve performance, you need to run
profiles, locate performance critical bits of code, figure out if -O3 is
beneficial, and/or write some hand tuned assembly/intrinsic code.
Not to mention, the biggest performance problem on modern processors is
memory. Minimizing cache thrashing is way more important than what
instructions you use. Optimize data structures before code.
That's actually an argument for investigating -Os, not -O3.
Kevin Kofler