Hlavní navigace

Optimalizace -O3 není stále bezpečná pro jádro

Sdílet

Jan Fikar 7. 6. 2021
Tux Linux Autor: Larry Ewing

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)

Našli jste v článku chybu?