Gawas sa pagtapos sa suporta alang sa Python 2.7, laing importante nga kausaban mao ang paglakip sa
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