> Going back to when I started using it:
Yep, when I started using it in _2002_ that was on the home page. Ten years ago, it stopped being on the home page because folks finally got the motivation to do a bunch of work to it. As I said:
Its home page has spoken about flexibility and has not spoken about performance since the big redesign in *April 2016*... seven years prior to the publication of that guy's blog post.
There's only so much you can do to erase an -allegedly- pervasive myth. The fact that some folks have the belief that Gentoo Linux is all about Maxxximum Performance doesn't change the fact that nearly all of the people who use it and -almost certainly- all of the people who maintain it strongly disagree with that claim.
> Regarding -O2 vs -O3, in the early days, -O3 was considered quite safe (I don't recall if it was recommended, but it wasn't discouraged). ... I went with -O3 because of guidance from the Gentoo folks.
It has been too long for me to remember what -O level my first Gentoo box ended up using (and I can't be bothered to pull it out of the closet and power it on to see), but the box I installed in ~2007 is using -O2. A random sampling of the few Gentoo forum posts from the early days that are in the Wayback Machine [0], as well as a handful of Bugzilla reports from the 2002->2005 era _suggests_ that most folks in the early days were using -O2. I'm certain that I played with all of the optimization levels on my first box, didn't notice any performance difference, and then settled on one that I can no longer remember.
And like, you say that -O3 wasn't discouraged. Well, -O3 isn't really discouraged today. The advice about -O3 gives you a summary of the facts and trusts you to make the choice that's right for you [1][2]
WARNING: Using `-O3` may cause some packages to break either during the compilation or misbehave at runtime, although `-O3` retains standard conformance, hence any breakage is either undefined behaviour in the application, or (very rarely) a compiler bug.
<irrelevant stuff elided>
`-O3`: enables `-O2` as well as optimizations that are expensive in terms of compile time and memory usage. Compiling with `-O3` is likely to improve performance (although not guaranteed). While historically `-O3` could expose compiler bugs, nowadays issues with `-O3` are almost always instances of undefined behavior (UB) and the code is at fault and should be fixed. Some packages are still known-broken with `-O3`. Using `-O3` is not recommended unless running test suites for packages.
(I'm pretty sure that "unless running test suites" thing means "you shouldn't use this optimization level unless you're also using FEATURES="test" to run the package's tests".)
FWIW, it's my maybe-incorrect understanding that many (most? all?) packages that are known-broken with specific flags get those flags filtered out and replaced with known-good ones... unless they're nutball "ricer" flags, in which case the user gets told "Don't do that!".
[0] <https://web.archive.org/web/20020922020122/https://forums.ge...>
[1] <https://wiki.gentoo.org/wiki/GCC_optimization#-O>
[2] Even the advice from a decade ago [3] is substantially similar: «This makes compilation take longer, and it not only might not make things faster, it may make things slower and is known to break things sometimes.»
[3] <https://wiki.gentoo.org/index.php?title=GCC_optimization&old...>