Aikin Gentoo ya gabatar da tsarin sarrafa fakitin Portage 3.0

An daidaita sakin tsarin sarrafa kunshin Zazzagewa 3.0, ana amfani dashi a cikin rarrabawa Gentoo Linux. Zaren da aka gabatar ya taƙaita aikin na dogon lokaci akan sauyawa zuwa Python 3 da ƙarshen tallafi ga Python 2.7.

Bayan ƙarshen goyon baya ga Python 2.7, wani muhimmin canji shine haɗawa da ingantawa, wanda ya sa ya yiwu a hanzarta lissafin da ke da alaka da ƙayyade abin dogara da 50-60%. Abin sha'awa shine, wasu masu haɓakawa sun ba da shawarar sake rubuta lambar ƙudurin dogaro a cikin C/C++ ko Go don haɓaka aikin sa, amma sun sami nasarar magance matsalar da ke akwai da ɗan ƙoƙari.

Fahimtar lambar da ke akwai ya nuna cewa yawancin lokacin lissafin an kashe shi yana kiran use_reduce da ayyukan catpkgsplit tare da saiti na muhawara (misali, ana kiran aikin catpkgsplit sau miliyan 1 zuwa 5). Don hanzarta abubuwa, an yi amfani da caching na sakamakon waɗannan ayyuka ta amfani da ƙamus. Mafi kyawun zaɓi don ajiyar cache shine aikin lru_cache da aka gina a ciki, amma yana samuwa ne kawai a cikin fitowar Python wanda ya fara da 3.2. Don dacewa da sigogin farko, an ƙara stub don maye gurbin lru_cache, amma yanke shawarar dakatar da tallafi ga Python 2.7 a cikin Portage 3.0 ya sauƙaƙa aikin sosai kuma ya ba da damar yin ba tare da wannan Layer ba.

Yin amfani da cache ya rage lokacin aiwatar da aikin "fito -uDvpU -with-bdeps=y @world" akan kwamfutar tafi-da-gidanka ta ThinkPad X220 daga mintuna 5 da sakan 20 zuwa mintuna 3 da daƙiƙa 16 (63%). Gwaje-gwaje akan wasu tsarin sun nuna haɓakar aikin aƙalla 48%.

Mai haɓakawa wanda ya shirya canjin ya kuma yi ƙoƙarin aiwatar da samfur na lambar ƙudurin dogaro a cikin C ++ ko Tsatsa, amma aikin ya yi wahala sosai saboda yana buƙatar jigilar adadi mai yawa, kuma yana da shakka cewa sakamakon zai cancanci ƙoƙarin. .

source: budenet.ru

Add a comment