BaşlayınÜcretsiz Başlayın

%lprun kullanma: darboğazları yakala

Bir fonksiyonu profillemek, fonksiyonun kaynak koduna daha derinlemesine bakmanı ve olası darboğazları yakalamanı sağlar. Belirli kod satırlarının fonksiyonun çalışma süresinin büyük kısmını aldığını görürsen, farklı ve daha verimli bir teknik kullanmayı düşünebilirsin.

Hadi convert_units() fonksiyonuna daha yakından bakalım.

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

line_profiler paketini IPython oturumuna yükle. Ardından, %lprun kullanarak convert_units() fonksiyonunu süper kahraman verilerin üzerinde profile. %lprun ile çalışırken özel söz dizimini kullanmayı unutma (profile etmek istediğin fonksiyonu belirtmek için -f bayrağını vermen gerekecek).

convert_units() fonksiyonu, heroes listesi, hts dizisi ve wts dizisi oturumuna yüklendi. Kodlamayı bitirdikten sonra şu soruyu yanıtla:

convert_units() fonksiyonunda toplam harcanan süreye göre, new_hts liste üreteci kod satırında zamanın yüzde kaçı harcanıyor?

Bu egzersiz

Verimli Python Kodu Yazmak

kursunun bir parçasıdır
Kursu Görüntüle

Uygulamalı interaktif egzersiz

İnteraktif egzersizlerimizden biriyle teoriyi pratiğe dökün

Egzersizi başlat