Avaldatud on patƥide komplekt, mis kiirendab Linuxi tuuma koostamist 50-80% vÔrra.

Ingo Molnar, tuntud Linuxi tuuma arendaja ja Completely Fair Scheduler'i (CFS) autor, pakkus arutamiseks Linuxi tuuma arendajate meililistis vĂ€lja seeria plaastrite komplekte, mis mĂ”jutavad rohkem kui poole kĂ”igist failidest tuuma allika koodis ning tagavad tuuma tĂ€ieliku ĂŒmberkompileerimise kiirusetĂ”usu 50–80% sĂ”ltuvalt seadistustest. Tehtud optimeerimine on mĂ€rkimisvÀÀrne, kuna see hĂ”lmab suurima muudatuste komplekti tuuma arenduse ajaloos — korraga on ette nĂ€htud 2297 plaastrit, mis muudavad rohkem kui 25 000 faili (10 000 pĂ€ise faili kaustades „include/” ja „arch/*/include/” ning 15 000 allika failide seas).

Suurenenud jĂ”udlus saavutatakse pealkirjafailide töötlemise meetodi muutmise kaudu. On mĂ€rgitud, et kolmekĂŒmne aasta jooksul tuumade arendamisel on pealkirjafailide seisund muutunud probleemseks, kuna failide vahel on palju risttugedeid. Pealkirjafailide struktuuri ĂŒmberkorraldamine vĂ”ttis rohkem kui aasta ja nĂ”udis mĂ€rkimisvÀÀrset ĂŒmbertegemist hierarhias ja sĂ”ltuvustes. Ümberkorraldamise kĂ€igus tehti töö, et eraldada tĂŒĂŒpide ja API definitsioonid erinevate tuumasĂŒsteemide jaoks.

Tehtud muudatused hĂ”lmavad: ĂŒksteisest eraldatud kĂ”rgetasemeliste pealkirjade failide eemaldamine, inline-funktsioonide seostavate pealkirjade failide eemaldamine, pealkirjade failide eristamine tĂŒĂŒpide ja API jaoks, pealkirjade failide eraldi koostamise tagamine (umbes 80 faili sisaldasid koostamist segavaid kaudseid sĂ”ltuvusi, mis ilmusid lĂ€bi teiste pealkirjade failide), sĂ”ltuvuste automaatne lisamine failidele " .h " ja " .c ", pealkirjade failide samm-sammuline optimeerimine, " CONFIG_KALLSYMS_FAST=y " reĆŸiimi kasutamine, ning C-failide valikuline konsolideerimine koostamisplokkides, et vĂ€hendada objektifailide arvu.

LÔppkokkuvÔttes vÔimaldas tehtud töö vÀhendada pealkirjafailide suurust, mida töödeldakse eeltöötlemise etapis, 1-2 korda. NÀiteks enne optimeerimist viis pealkirjafaili «linux/gfp.h» kasutamine 13543 koodireani ja 303 sÔltuva pealkirjafaili lisamiseni, kuid pÀrast optimeerimist vÀhenes selle suurus 181 reani ja 26 sÔltuvale failile. Teine nÀide: faili «kernel/pid.c» eeltöötlemisel ilma patch'ita kaasatakse 94 tuhat koodirida, millest suurem osa ei ole pid.c-s kasutusel. Pealkirjafailide jagamine vÔimaldas vÀhendada töödeldava koodi mahtu kolm korda, vÀhendades töödeldud ridu 36 tuhandele.

Kernikomplektimise kĂ€igus kĂ€suga „make -j96 vmlinux” test sĂŒsteemis nĂ€itas patĆĄide rakendamine haru v5.16-rc7 kompileerimise aja vĂ€henemist 231,34 sekundilt 129,97 sekundile (15,5 kuni 27,7 kompileerimist tunnis) ning samuti tĂ€iustas see CPU tuumade efektiivsust kompileerimise ajal. Inkrementaalsel kompileerimisel on optimeerimise mĂ”ju veelgi silmatorkavam — kĂ€rpis ĂŒmberkompilarimise aega pĂ€rast pealdusfailides muudetud muudatuste tegemist mĂ€rkimisvÀÀrselt (112% kuni 173% sĂ”ltuvalt muudetud pealdusfailist). Optimeerimised on praegu saadaval ainult arhitektuuridele ARM64, MIPS, Sparc ja x86 (32- ja 64-bit).

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster