పైథాన్ 2.7కి మద్దతు ముగింపుతో పాటు, మరొక ముఖ్యమైన మార్పు చేర్చడం
ఇప్పటికే ఉన్న కోడ్ను ప్రొఫైలింగ్ చేయడం వల్ల ఎక్కువ సమయం యూజ్_రెడ్యూస్ మరియు క్యాట్పికెజిస్ప్లిట్ ఫంక్షన్లను రిపీట్ ఆర్గ్యుమెంట్లతో కాల్ చేయడానికి వెచ్చించబడిందని తేలింది (ఉదాహరణకు, క్యాట్పికెజిస్ప్లిట్ ఫంక్షన్ను 1 నుండి 5 మిలియన్ సార్లు పిలుస్తారు). విషయాలను వేగవంతం చేయడానికి, నిఘంటువులను ఉపయోగించి ఈ ఫంక్షన్ల ఫలితాలను కాషింగ్ చేయడం ఉపయోగించబడింది. కాష్ నిల్వ కోసం ఉత్తమ ఎంపిక అంతర్నిర్మిత lru_cache ఫంక్షన్, కానీ ఇది 3.2తో ప్రారంభమయ్యే పైథాన్ విడుదలలలో మాత్రమే అందుబాటులో ఉంటుంది. మునుపటి సంస్కరణలతో అనుకూలత కోసం, lru_cache స్థానంలో ఒక స్టబ్ జోడించబడింది, అయితే పోర్టేజ్ 2.7లో పైథాన్ 3.0కి మద్దతును నిలిపివేయాలనే నిర్ణయం పనిని చాలా సులభతరం చేసింది మరియు ఈ లేయర్ లేకుండా చేయడం సాధ్యపడింది.
కాష్ని ఉపయోగించడం వలన థింక్ప్యాడ్ X220 ల్యాప్టాప్లో “emerge -uDvpU —with-bdeps=y @world” ఆపరేషన్ యొక్క అమలు సమయాన్ని 5 నిమిషాల 20 సెకన్ల నుండి 3 నిమిషాల 16 సెకన్లకు (63%) తగ్గించింది. ఇతర సిస్టమ్లపై పరీక్షలు కనీసం 48% పనితీరు పెరుగుదలను చూపించాయి.
మార్పును సిద్ధం చేసిన డెవలపర్ కూడా C++ లేదా రస్ట్లో డిపెండెన్సీ రిజల్యూషన్ కోడ్ యొక్క నమూనాను అమలు చేయడానికి ప్రయత్నించారు, అయితే పని చాలా కష్టంగా ఉంది, ఎందుకంటే దీనికి పెద్ద మొత్తంలో కోడ్ను పోర్ట్ చేయాల్సి ఉంటుంది మరియు ఫలితం శ్రమకు తగినదిగా ఉంటుందా అనే సందేహం ఉంది. .
మూలం: opennet.ru