Az MTPC, azaz a több szálú párhuzamos fordítás remek hír az LLVM számára

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Az LLVM ThinLTO jelenleg modul szinten párhuzamosítja a fordítást, de nagyon nagy moduloknál ez szűk keresztmetszetet jelenthet a mai processzorokon, mivel az egyes LLVM modulokon belüli kódgenerálás és optimalizálás nagyrészt sorosan fut.

Most azt javasolják, hogy az LLVM ThinLTO kapjon Multi-Thread Parallel Compilation funkciót, vagyis modulon belüli párhuzamosítást. Az MTPC függvényszinten tudja feldarabolni a modulokat, így párhuzamosan futtatható a kódgenerálás. Ezzel elkerülhetők a hosszú fordítási idők nagy moduloknál, és jobban kihasználható a mai többmagos processzorokban rejlő lehetőség.

A Multi-Thread Parallel Compilation kísérleti eredményei nagyon biztatóak: egy teljes alkalmazás teljes buildje esetén akár 32%-kal is csökkenhet az összfordítási idő.

Akiket érdekelnek a részletek, azoknak érdemes elolvasni ezt az LLVM Discourse témát, ahol az első javaslat is olvasható. Már több pull request is nyitva van, amelyek a Multi-Thread Parallel Compilation alapjait rakják le.