Ang proyekto sa Gentoo nagpaila sa Portage 3.0 package management system

Napalig-on pagpagawas sa sistema sa pagdumala sa pakete Portage 3.0, gigamit sa pag-apod-apod Gentoo LinuxKini nga thread nagsumaryo sa taas nga proseso sa pagbalhin ngadto sa Python 3 ug pag-undang sa Python 2.7.

Gawas sa pagtapos sa suporta para sa Python 2.7, laing importanteng pagbag-o mao ang paglakip sa mga pag-optimize, nga nagtugot kanamo sa pagpadali sa mga kalkulasyon sa resolusyon sa dependency og 50-60%. Makapainteres, ang ubang mga developer nagsugyot sa pagsulat pag-usab sa dependency resolution code sa C/C++ o Go aron mapadali kini, apan ang kasamtangang problema nasulbad nga gamay ra ang paningkamot.

Ang pag-profile sa kasamtangang code nagpadayag nga ang kadaghanan sa oras sa pagkompyut gigugol sa pagtawag sa mga function nga use_reduce ug catpkgsplit nga adunay balik-balik nga hugpong sa mga argumento (pananglitan, ang function nga catpkgsplit gitawag tali sa 1 ug 5 milyon nga beses). Aron mapadali ang proseso, gipatuman ang pag-cache sa mga resulta niini nga mga function gamit ang mga diksyonaryo. Ang built-in nga lru_cache function mao ang labing maayo alang sa pagtipig sa cache, apan kini magamit lamang sa mga pagpagawas sa Python sugod sa 3.2. Usa ka stub alang sa lru_cache ang gidugang alang sa pagkaangay sa mga naunang bersyon, apan ang desisyon nga hunongon ang suporta alang sa Python 2.7 sa Portage 3.0 nagpasimple pag-ayo sa buluhaton ug naghimo niini nga posible nga tangtangon kini nga layer.

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

Ang developer nga nag-andam sa pagbag-o misulay usab sa pagpatuman sa prototype dependency resolution code sa C++ o Rust, apan ang buluhaton napamatud-an nga komplikado kaayo, tungod kay nanginahanglan kini og daghang code, ug kaduhaduhaan kung ang resulta takos ba sa paningkamot.

Source: opennet.ru

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster