package isakoso eto Tu , ti a lo ninu pinpin . Okun ti a gbekalẹ ṣe akopọ iṣẹ igba pipẹ lori iyipada si Python 3 ati opin atilẹyin fun Python 2.7.
Yato si opin atilẹyin fun Python 2.7, iyipada pataki miiran ni ifisi ti , eyiti o jẹ ki o ṣee ṣe lati ṣe iyara awọn iṣiro ti o ni ibatan si ipinnu awọn igbẹkẹle nipasẹ 50-60%. O yanilenu, diẹ ninu awọn Difelopa daba atunkọ koodu ipinnu igbẹkẹle ni C / C ++ tabi Lọ lati ṣe iyara iṣẹ rẹ, ṣugbọn wọn ṣakoso lati yanju iṣoro ti o wa pẹlu ipa diẹ.
Profaili awọn ti wa tẹlẹ koodu fihan wipe julọ ti awọn isiro akoko ti a lo pipe use_reduce ati catpkgsplit awọn iṣẹ pẹlu kan tun ṣeto ti ariyanjiyan (Fun apẹẹrẹ, catpkgsplit iṣẹ ti a npe ni 1 to 5 million igba). Lati yara awọn nkan, fifipamọ awọn abajade awọn iṣẹ wọnyi ni lilo awọn iwe-itumọ ti lo. Aṣayan ti o dara julọ fun ibi ipamọ kaṣe ni iṣẹ lru_cache ti a ṣe sinu, ṣugbọn o wa nikan ni awọn idasilẹ Python ti o bẹrẹ pẹlu 3.2. Fun ibamu pẹlu awọn ẹya iṣaaju, a fi kun stub kan lati rọpo lru_cache, ṣugbọn ipinnu lati dawọ duro fun Python 2.7 ni Portage 3.0 jẹ ki iṣẹ naa rọrun pupọ ati jẹ ki o ṣee ṣe lati ṣe laisi Layer yii.
Lilo kaṣe naa dinku akoko ipaniyan ti iṣẹ “ farahan -uDvpU —with-bdeps = y @world” lori kọǹpútà alágbèéká ThinkPad X220 lati iṣẹju 5 iṣẹju 20 si iṣẹju 3 iṣẹju 16 (63%). Awọn idanwo lori awọn ọna ṣiṣe miiran fihan ilosoke iṣẹ ti o kere ju 48%.
Olùgbéejáde ti o pese iyipada naa tun gbiyanju lati ṣe apẹẹrẹ kan ti koodu ipinnu igbẹkẹle ni C ++ tabi Rust, ṣugbọn iṣẹ-ṣiṣe naa nira pupọ nitori pe o nilo gbigbe koodu nla kan, ati pe o ṣiyemeji pe abajade yoo tọsi ipa naa. .
orisun: opennet.ru
