Je ovela jednoduchsie optimalizovat kompilator ako potom analyzovat a upravovat binarky. Naivne predstavy o pocitanin”oboch” vetiev IF podmienky uz pri piatom vnoreni moze dosiahnut 32 roznych vetiev. A to nehovorime iba o if, ale mozeme mat case/switch. Proste hlupost. Dokazovat spravnost komplexneho programu je extremne komplikovane a bezne sa nerobi, a spolahnut sa, ze upravena binarka bude funkcne totozna ako original, je velmi optimisticke. Podla popisu sa bude optimalizacia robit na kazdu architekturu zvlast a na kazdu verziu kazdej binarky zvlast. Staci aby sa zmenila jedna dynamicky loadovana kniznica v obrovskon projekte a moze sa zacat odznova. A ta kniznica moze byt zo samotneho programu, operacneho systemu, ovladaca… Bude to ako obvykle fungovat na par verziach par programov a tym to skonci. Ale presne tieto verzie tychto programov sa budu v prezentaciach Intelu pouzivat ako marketingove zlepsenia. Optimalizaciu kompilatora, ktory kontroluje retazec “genuine Intel” sme uz tiez zazili, ale vtedy to aspon bolo deterministicke. Dnes mame kompilatorov spustu, a pri vhodne zvolenych flagoch generuju lepsi kod, ako Intel zvladne upravou binarky.
Zní to, že tomu rozumíte.
Děkuji za názor.
Souhlasím že to celé je jen potemkinova vesnička.
Pár programů kde se autor vykašlal na optimalizace z toho může něco získat.
Ale z principu se tyto optimalizace docela rychle blíží k maximálnímu výkonu který nemůžou překročit.
Na tom tetrisu co je na obrázkuv článku to je dobře vidět. Když už to někdo optimalizoval, tak to lépe poskládat nepůjde.
Aktualizace budou rozhodně velká slabina, protože s každou se musí optimalizovaná verze nahradit.
Viděl jsem komentáře, podle kterých by to mohlo fungovat podobně jako BOLT https://lwn.net/Articles/993828/
Ale nemám s tímhle zkušenosti, takže nevím, jaké jsou s tím projektem zkušenosti co do spolehlivosti výstupu (zda nezpůsobuje chyby).