NVIDIA mérnök javítása jelentősen csökkenti a GCC indítási időt

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

A GCC indítása során az Autoconf konfigurációs folyamat minden egyes GCC építési szakaszában végrehajtódik. Mivel a konfiguráló szkriptek sorban futnak, és a GCC fordítója esetében, amely nagy kódalapú, ez jelentős időt vesz igénybe.

A javasolt javítócsomag célja a konfigurációs eredmények gyorsítótárazása, hogy azok felhasználhatók legyenek a GCC három fordító szakaszában. Ezáltal elkerülhető a sok időt igénylő soros szkript végrehajtás.

Egy névtelen "nagy többmagos AArch64 gépen", amely valószínűleg az NVIDIA Vera, Kyrylo Tkachov megjegyezte, hogy a fordító indítása során eltöltött falidő körülbelül 30%-át a konfiguráló szkriptek futtatása teszi ki, és a gép kihasználtsága a folyamat közel felében 15% alatt marad.

A kezdeti javítócsomagok végső eredménye:

"Ez körülbelül a felére csökkenti a konfigurálásra fordított időt (körülbelül 43%-os csökkenés), és a teljes indítási falidőt körülbelül 15%-kal csökkenti, anélkül, hogy a generált konfiguráció megváltozna: a létrehozott konfigurációs fejléc azonos egy nem gyorsítótárazott építéssel, és a 2. és 3. szakasz összehasonlítása továbbra is sikeres. Ellenőrizve a 'make bootstrap' paranccsal; a cross, Canadian és --disable-bootstrap építéseknek nem szabad érintettnek lenniük.

A javítást a aarch64-none-linux-gnu és x86_64-linux rendszereken bootstrapped és tesztelték."

A javítócsomag tesztelésre került a

gcc-patches levelezőlistán.

Válaszként már érkezett egy javaslat, miszerint a konfigurációs eredmények gyorsítótárazása inkább "hack", és érveltek amellett, hogy a konfiguráló szkripteket tovább lehetne tisztítani az időcsökkentés érdekében. Jelenleg vannak olyan konfigurációs ellenőrzések, amelyeket haszontalannak tartanak, a GNU Gold linker támogatásának eltávolításának lehetősége, és más maradványok, amelyeket el lehetne távolítani vagy legalábbis tisztítani. A konfiguráló szkriptek tisztítása a cross-compiling építéseknek is hasznot hozna, nemcsak a natív indításoknak.

Meglátjuk, hová vezet ez a munka, de minden erőfeszítés, amely jelentősen csökkenti a GCC indítására fordított időt, nagyon is megéri.