Tohle se přeceňuje. Viděl jsem za dvacet let spoustu benchmarků a rozdíly jsou minimální nebo vůbec žádné. Nemá smysl si kompilovat Gentoo a očekávat, že výsledek bude zázračně o 20 % výkonnější.
Takový systém má smysl proto, abych si ho postavil podle svých požadavků a přidal třeba nějaké speciální vlastnosti, které mi už připravené zkompilované prostředí nenabízí.
Je to tak. Když jsem na Gentoo přecházel přibližně někdy před před dvaceti lety, tak se nárůst výkonů díky optimalizacím uváděl snad někde kolem 2%.
Když se podívám na PassMark, tak ten procesor má nějakých 4645 bodu.
https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-2600S+%40+2.80GHz
Tohle ale není žádný přesný údaj. Je to průměr hodnot, které pošlou uživatelé, kteří si jejich software spustí na svém počítači. Když si to spustím já, tak naměřím 5156 bodu, tedy asi o 11% víc, než je průměr. Tady by ale bylo pořád moc jednoduché říct, že to je díky Gentoo. Většina lidí, co si ten test spustí, bude mít patrně Windows a jak nedávno proletělo internetem, tak Ubuntu 24.04 má přibližně o 20% vyšší výkon, než jaký je ve Windows.
https://www.root.cz/zpravicky/ubuntu-24-04-je-v-prumeru-o-20-rychlejsi-nez-windows-11/
To jsou tak malé výkyvy, že to je vlastně jedno. Spíš záleží na tom, co u toho člověk děla. Třeba taková Nova a jejich TN.CZ. To je peklo.
Nedávno jsem si trošku testoval úsporný počítač s Intel N100. 5556 bodu v PassMarku a TDP 6W. Na tomhle počítač stačí otevřít ve Firefoxu titulní stránku a celková spotřeba počítače vyskočila o 5W. Když stejný web otevřu já na své staré i7 2600S, tak spotřeba vyskočí o 15W. Stačí jeden blbě napsaný web a výkyvy jsou v desítkách procent.
A ještě jedna věc. Když ten out of order execution není přímo v interface procesoru, tak ho může výrobce procesoru aspoň trochu překopat updatem mikrokódu. I když je to třeba za cenu dost drsného poklesu výkonu. Potřebuje k tomu jen spolupráci od OS.
Kdyby to dělal kompilátor, pak tuhle opravu výrobce udělat nemůže. Otevřelo by to možnosti pro chyby, které by nebyly opravitelné bez rekompilace úplně všeho opraveným překladačem. A že by autoři překladače nemohli nasekat podobné chyby jako autoři procesorů se mi moc nechce věřit :)
A snažit se číst výstup překladače třeba pro VLIW architekturu se softwarově zpipelinovanými instrukcemi vážně nechcete. ;) Ověřit výstup překladače, pokud generuje něco jako x86 assembler je proti tomu brnkačka.
25. 4. 2024, 12:34 editováno autorem komentáře
Dnes, keď kompilátory produkujú rôzne medzikódy a bajtkódy, by sa dalo už kadečo riešiť. VLIW možno len prišla priskoro, a ešte nie je jej čas, čo my vieme. Vo svete procesorov je to bežné, taký Apple by mohol rozprávať, tí kvôli projektu Aquarius stratili strašne veľa peňazí, pritom použili myšlienky bežné v dnešných procesoroch. Len boli moc napred a nespravili to dobre.
25. 4. 2024, 13:04 editováno autorem komentáře
No o to právě jde. Když máme "bytekódoidní" instrukční sadu s hardwarově akcelerovaným JIT překladem, tak máme další mezivrsvtvu, kterou je schopno krokovat prakticky použitelné množství lidí.
Chybu v překladači, co generuje x64 assembler je schopno odhalit řádově víc programátorů, než kdyby generoval nejaký mízkoúrovňový peklokód.