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

7. 6. 2021

Sdílet

Tux Linux Autor: Larry Ewing, podle licence: CC BY-SA 4.0

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?

Autor zprávičky

První linux nainstaloval kolem roku 1994 a u něj zůstal. Později vystudoval fyziku a získal doktorát.