%lprun का उपयोग: bottlenecks पहचानें
किसी फंक्शन का प्रोफाइल करना आपको उसके सोर्स कोड में गहराई से देखने और संभावित bottlenecks पहचानने देता है. अगर आप देखते हैं कि कुछ खास कोड लाइनों पर फंक्शन के runtime का अधिकांश समय लग रहा है, तो यह संकेत है कि आपको कोई दूसरा, अधिक efficient तरीका अपनाना चाहिए.
आइए convert_units() फंक्शन को और गहराई से समझें.
def convert_units(heroes, heights, weights):
new_hts = [ht * 0.39370 for ht in heights]
new_wts = [wt * 2.20462 for wt in weights]
hero_data = {}
for i,hero in enumerate(heroes):
hero_data[hero] = (new_hts[i], new_wts[i])
return hero_data
अपनी IPython सेशन में line_profiler पैकेज लोड कीजिए. फिर %lprun का उपयोग करके सुपरहीरो डेटा पर चल रहे convert_units() फंक्शन को प्रोफाइल कीजिए. याद रखिए, %lprun के साथ काम करने के लिए विशेष सिंटैक्स चाहिए होता है (आपको -f फ़्लैग देकर बताना होगा कि किस फंक्शन को प्रोफाइल करना है).
convert_units() फंक्शन, heroes लिस्ट, hts array, और wts array आपकी सेशन में पहले से लोड हैं. कोड लिखने के बाद, यह सवाल जवाब दीजिए:
convert_units() फंक्शन में कुल समय की तुलना में new_hts वाली list comprehension की लाइन पर कितना प्रतिशत समय खर्च होता है?
यह अभ्यास पाठ्यक्रम का हिस्सा है
Efficient Python Code लिखना
इंटरैक्टिव व्यावहारिक अभ्यास
हमारे इंटरैक्टिव अभ्यासों में से किसी एक के साथ सिद्धांत को व्यवहार में बदलें
अभ्यास शुरू करें