Ang proyekto sa Gentoo nagpaila sa Portage 3.0 package management system

Gipalig-on pagpagawas sa sistema sa pagdumala sa pakete Portage 3.0, gigamit sa pag-apod-apod Gentoo Linux. Ang gipresentar nga hilo nagsumaryo sa dugay nga trabaho sa transisyon sa Python 3 ug ang pagtapos sa suporta alang sa Python 2.7.

Gawas sa pagtapos sa suporta alang sa Python 2.7, laing importante nga kausaban mao ang paglakip sa mga pag-optimize, nga nagpaposible sa pagpadali sa mga kalkulasyon nga may kalabutan sa pagtino sa mga dependency sa 50-60%. Makapainteres, gisugyot sa pipila ka mga developer nga isulat pag-usab ang dependency resolution code sa C/C++ o Go aron mapadali ang operasyon niini, apan nakahimo sila sa pagsulbad sa kasamtangan nga problema sa gamay nga paningkamot.

Ang pagprofile sa kasamtangan nga code nagpakita nga kadaghanan sa oras sa kalkulasyon gigugol sa pagtawag sa use_reduce ug catpkgsplit nga mga gimbuhaton nga adunay balik-balik nga hugpong sa mga argumento (pananglitan, ang catpkgsplit function gitawag ug 1 ngadto sa 5 ka milyon ka beses). Aron mapadali ang mga butang, gigamit ang pag-cache sa mga resulta niini nga mga function gamit ang mga diksyonaryo. Ang labing kaayo nga kapilian alang sa pagtipig sa cache mao ang built-in nga lru_cache function, apan kini magamit ra sa pagpagawas sa Python sugod sa 3.2. Alang sa pagpahiuyon sa mga naunang bersyon, usa ka stub ang gidugang aron ilisan ang lru_cache, apan ang desisyon nga ihunong ang suporta alang sa Python 2.7 sa Portage 3.0 labi nga nagpasimple sa buluhaton ug nagpaposible nga mahimo kung wala kini nga layer.

Ang paggamit sa cache nagpamenos sa oras sa pagpatuman sa "emerge -uDvpU β€”with-bdeps=y @world" nga operasyon sa ThinkPad X220 laptop gikan sa 5 minutos 20 segundos ngadto sa 3 minutos 16 segundos (63%). Ang mga pagsulay sa ubang mga sistema nagpakita sa usa ka pagtaas sa performance nga labing menos 48%.

Ang developer nga nag-andam sa pagbag-o misulay usab sa pagpatuman sa usa ka prototype sa dependency resolution code sa C++ o Rust, apan ang buluhaton lisud kaayo tungod kay kini nagkinahanglan sa pag-port sa usa ka dako nga kantidad sa code, ug kini nagduhaduha nga ang resulta mahimong takus sa paningkamot .

Source: opennet.ru

Idugang sa usa ka comment