Pekka Manninen, CSC, Performance Engineering, here. Presentation slides. I like the part where the flags have no standard semantics. That’s one of the ways you can tell when it’s your people talking.
De-facto standard flags for enabling typical optimizations
– ’–O[0-4]’, sometimes also ’fast’ § For example gcc –O3 or icc –fast
– The higher the level, the more aggressive optimization § Compilers default to some ”safe” level (typically ’-O2’) § ’-O0’ disables optimizations completely
Typically improves performance but not always
No standardized definition what the flags actually mean