MulaiMulai sekarang secara gratis

Menggunakan %lprun: temukan bottleneck

Memprofil fungsi memungkinkan Anda menelusuri lebih dalam kode sumber fungsi dan berpotensi menemukan bottleneck. Ketika Anda melihat baris-baris kode tertentu menghabiskan sebagian besar waktu eksekusi fungsi, itu menandakan bahwa Anda mungkin perlu menggunakan teknik lain yang lebih efisien.

Mari telusuri lebih dalam fungsi 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

Muat paket line_profiler ke dalam sesi IPython Anda. Lalu, gunakan %lprun untuk memprofil fungsi convert_units() pada data pahlawan super Anda. Ingat untuk menggunakan sintaks khusus saat bekerja dengan %lprun (Anda harus memberikan flag -f yang menentukan fungsi yang ingin Anda profil).

Fungsi convert_units(), list heroes, array hts, dan array wts telah dimuat ke dalam sesi Anda. Setelah selesai menulis kode, jawab pertanyaan berikut:

Berapakah persentase waktu yang dihabiskan pada baris kode pemahaman list new_hts relatif terhadap total waktu yang dihabiskan dalam fungsi convert_units()?

Latihan ini adalah bagian dari kursus

Menulis Kode Python yang Efisien

Lihat Kursus

Latihan interaktif praktis

Ubah teori menjadi tindakan dengan salah satu latihan interaktif kami.

Mulai berolahraga