1. Learn
  2. /
  3. कोर्स
  4. /
  5. Efficient Python Code लिखना

Connected

अभ्यास

%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 की लाइन पर कितना प्रतिशत समय खर्च होता है?

निर्देश

50 XP

संभावित उत्तर