Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Memprofilkan Skrip Python Saya untuk Mencari Kesesakan Prestasi?

Bagaimanakah Saya Boleh Memprofilkan Skrip Python Saya untuk Mencari Kesesakan Prestasi?

Susan Sarandon
Susan Sarandonasal
2024-12-24 02:55:17937semak imbas

How Can I Profile My Python Script to Find Performance Bottlenecks?

Memprofilkan Skrip Python dengan cProfile

Soalan:

Mengoptimumkan kod Python boleh mencabar. Bagaimanakah anda boleh memprofilkan masa pelaksanaan skrip Python untuk mengenal pasti kesesakan?

Jawapan:

Python dilengkapi dengan pemprofil berkuasa yang dipanggil cProfile. Ia menyediakan paparan komprehensif masa pelaksanaan, termasuk:

  • Jumlah masa berjalan
  • Masa yang dibelanjakan dalam setiap fungsi
  • Kekerapan panggilan fungsi

Menggunakan cProfile:

cProfile boleh digunakan dalam beberapa cara:

  • Dari dalam kod anda:
import cProfile
cProfile.run('foo()')
  • Daripada jurubahasa:
python -m cProfile myscript.py
  • Semasa menjalankan modul:
python -m cProfile -m mymodule

Fail Kelompok Tersuai:

Untuk memudahkan proses, anda boleh mencipta fail kelompok bernama 'profile.bat' :

python -m cProfile %1

Kemudian, cuma laksanakan skrip anda dengan fail (gantikan euler048.py dengan skrip anda):

profile euler048.py

Output:

cProfile menjana output terperinci dengan maklumat seperti:

  • Jumlah panggilan fungsi
  • Masa CPU
  • Kumulatif masa
  • Nama fail dan nombor baris setiap fungsi

Sumber Tambahan:

  • [Tutorial Pemprofilan Python di PyCon 2013](https://www.youtube.com/watch?v=2mcVypDt50A)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memprofilkan Skrip Python Saya untuk Mencari Kesesakan Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn