Gentoo projekt esitas pakihaldussĂŒsteemi Portage 3.0

Stabiilitud pakettihaldussĂŒsteemi vĂ€ljaanne Portage 3.0, mida rakendatakse jaotisest Gentoo Linux. Esitatud haru on lĂ”petanud pikaajalise töö ĂŒleminekuks Python 3-le ja lĂ”petanud Python 2.7 toe.

Lisaks Python 2.7 toe lĂ”petamisele on teiseks oluliseks muudatuseks pandud optimeerimised, mis vĂ”imaldasid arvutuste kiirusel, mis on seotud sĂ”ltuvuste mÀÀratlemisega, suureneda 50-60%. Huvitav on see, et mĂ”ned arendajad pakkusid sĂ”ltuvuste lahendamise koodi ĂŒmberkirjutamist C/C++ vĂ”i Go keeles, et kiirus kasvada, kuid probleem lahendati suhteliselt lihtsalt.

Koodiprofiilimine nĂ€itas, et peamine aeg arvutustes kulub funktsioonide use_reduce ja catpkgsplit kutsumisele korduvate argumentide kogumiga (nĂ€iteks catpkgsplit kutsuti ĂŒles 1 kuni 5 miljonit korda). Kiirus kasvas nende funktsioonide töö tulemuste vahemĂ€lu rakendamisega sĂ”nastike abil. VahemĂ€lu hoidmiseks oli optimaalne sisseehitatud funktsioon lru_cache, kuid see oli saadaval ainult Python'i vĂ€ljaannetes alates 3.2. Varasema versiooni toe tagamiseks lisati lru_cache'i asendus, kuid Portage 3.0-s python 2.7 toe lĂ”petamine lihtsustas ĂŒlesannet ja lubas sellest vahekihist mööda minna.

VahemĂ€lu kasutamine vĂ€hendas kĂ€su „emerge -uDvpU —with-bdeps=y @world” tĂ€itmise aega ThinkPad X220 sĂŒlearvutil 5 minutist 20 sekundist 3 minutisse 16 sekundisse (63%). Muudel sĂŒsteemidel tehtud testid nĂ€itasid vĂ€hemalt 48% jĂ”udluse kasvu.

Muutuse ettevalmistaja arendaja pĂŒĂŒdis samuti ellu viia sĂ”ltuvuste lahendamise koodi prototĂŒĂŒbi C++ vĂ”i Rust keeles, kuid ĂŒlesanne osutus liiga keeruliseks, kuna see nĂ”udis suure hulga koodi portimist ja oli kaheldav, kas saavutatud tulemus oleks kulutatud vaeva vÀÀriline.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster