Optimalizace -O3 kompilátoru při překladu jádra se čas od času objeví, jako třeba před rokem, ale bývá zamítnuta. Vývojář WireGuardu Jason Donenfeld chtěl tento modul překládat s -O3, ale Linus se vyjádřil proti.
Podle Linuse starší, ale stále používané překladače GCC, generují s -O3 pomalejší a často špatný kód. Automatická vektorizace přináší více problémů než užitku. Linus říká, že jestli je nutné používat -O3, tak raději s přepínačem -fno-tree-loop-vectorize
, který vypne vektorizaci smyček. Také by chtěl vidět nějaká čísla, která dokládají výhodu -O3. Takže zatím v jádře se s -O3 kompilují jen kompresní algoritmy lz4 a zstd. Pro clang by -O3 nemělo být problém.
(zdroj: phoronix)