Python kodunun profilini nasıl oluşturabiliriz?

Project Euler ve diğer kodlama yarışmalarında yazdığımız kodlar genellikle belirli bir süreden kısa zamanda çalışmak zorunda.

İlişkili olduğu konular : how to, nasıl

Project Euler ve diğer kodlama yarışmalarında yazdığımız kodlar genellikle belirli bir süreden kısa zamanda çalışmak zorunda. Ya da bir program yazarken çözümümüzün ne kadar hızlı çalıştığını merak ederiz.

Peki bir Python programının çalışmasının ne kadar sürdüğünü öğrenmenin veya çalışma profilini oluşturmanın en iyi yolu nedir?

Python, cProfile adlı bir profil oluşturucu içerir. Yalnızca toplam çalışma süresini vermekle kalmaz, aynı zamanda her işlevi ayrı ayrı zamanlar ve her işlevin kaç kez çağrıldığını söyler, bu da iyileştirmeleri nerede yapmanız gerektiğini belirlemenizi kolaylaştırır.

Kodunuzun içinden veya yorumlayıcıdan şu şekilde çağırabilirsiniz:

import cProfile
cProfile.run('foo()')

Daha da yararlı olarak, bir komut dosyası çalıştırırken cProfile’ı çağırabilirsiniz:

python -m cProfile myscript.py

Ve şunu görüyoruz:

1007 function calls in 0.061 CPU seconds

Ordered by: standard name
ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    1    0.000    0.000    0.061    0.061 <string>:1(<module>)
 1000    0.051    0.000    0.051    0.000 euler048.py:2(<lambda>)
    1    0.005    0.005    0.061    0.061 euler048.py:2(<module>)
    1    0.000    0.000    0.061    0.061 {execfile}
    1    0.002    0.002    0.053    0.053 {map}
    1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler objects}
    1    0.000    0.000    0.000    0.000 {range}
    1    0.003    0.003    0.003    0.003 {sum}

Ayrıca PyCon 2013’teki python profili oluşturma başlıklı YouTube videosuna da göz atabilirsiniz.

Bu yazı topluluk tarafından oluşturuldu. Lisans bilgisine bakabilirsiniz. Yanlış veya eksik bilgileri düzenlemek için github üzerinden katkıda bulunabilirsiniz.

Kategoriler: Yazı, Python

Okumaya devam et!

Python ile neler yapılabilir? – 7 Neden

Python, 2003 yılından bu yana TIOBE Programlama Topluluğu Endeksi’nde sürekli olarak en popüler on programlama dili arasında yer alıyor.

Python’da bir script nasıl sonlandırılır?

Başka dillerde bir komut dosyasından erken çıkmak için die() gibi bir komut kullanabililriz – örneğin PHP’de.

Python’da dosya boyutuna nasıl bakarım?

Dosya boyutunun önemli olduğu bir uygulama yapmaya çalışıyorum.

Random modülü

Giriş Syntax  random.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.

koddla
Tema Mundana by WowThemes.net.