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
Latihan interaktif praktis
Ubah teori menjadi tindakan dengan salah satu latihan interaktif kami.
Mulai berolahraga