Benim python programımda çok fazla modül kullandım ve aranan işlevlerin ve çağrı zincirlerinin dahil edilmesine çalışıyorum. Bu istatistikleri bana sağlayacak bir araç/modül python var mı.Python'da arama grafiği profil oluşturucuları
cevap
: olarak
Bu kadar kolay. Uygulamamın bir kerede çok sayıda iş parçacığı bulunduğundan ve 12000 bağlantıyla sonuçlandığımdan ve benim için derleyemediğimden bu benim amacım için çalışmadı. Ama bunu tek bir iş parçacığı üzerinde çalıştırdığımda çalıştı.
pydoc -k profil
size sisteminizde ne bir listesini verecektir. Profil ve cProfile kullandım. Bu kullandım
if __name__ == '__main__':
if PROFILING:
import cProfile
cProfile.run("main()")
else:
main()
Ben daha önce bunu deneyin di .. ve hata alıyorum, bu yüzden benim için daha kolay hale getirecek bir araç/modül arıyordum neden – Rahul
Size hata tam metni nedir? –
Geri İzleme (en son çağrı son): Dosya "test.py", satır 12,
Altı yıl sonra bazı people recommend çağrı zincirlerini görselleştirilmesi için KCacheGrind kullanmak, aynı soru var. Linux kullanıcıları için geçerli bir seçenek olsa da, Mac OSX'e ve muhtemelen Windows'a da yüklemek son derece zordur.
Son olarak, bunun yerine gprof2dot kullanıyorum. Sadece birkaç komutlar ile size ifade çağrısı grafik sahip olacaktır:
python -m cProfile -o output.pstats path/to/your/script arg1 arg2
gprof2dot.py -f pstats output.pstats | dot -Tpng -o output.png
Kolay aracı, hızlı sonuçlar: bunu kontrol: https://github.com/jrfonseca/gprof2dot
Düzenleme:
Şimdi öğrendim alabilirsiniz KCachegrind Aynı zamanda demleme yoluyla: brew install qcachekrind
- 1. Nümerik dizi veya pandalarla pythonda rutini sadeleştirme
- 2. Kopya Oluşturucuları nasıl doğru şekilde kullanırsınız?
- 3. profil Java
- 4. Facebook grafiği api arama sonuçları yere göre değişir?
- 5. Tüm uygulamanın çağrı grafiği
- 6. MATLAB - .wav dosyasının zaman-frekans grafiği grafiği
- 7. Kural bağımlılığı grafiği Prolog
- 8. JSF 2.0: Özel oluşturucularla temel oluşturucuları nasıl geçersiz kılarsınız?
- 9. Akış oluşturucu kullanan içerik oluşturucuları nasıl eşzamansız hale getirilir?
- 10. neden Profil sahibi
- 11. Haskell profil oluşturma - clock_gettime
- 12. Profil alanları kontrol ediliyor
- 13. Profil Şablonu Haskell
- 14. Profil sonuçlarında dosyaları filtreleme
- 15. Profil Generate vs PG
- 16. ConfigurationChangeWatcher.Poller() Başvurumu profil
- 17. MediaWiki profil çıktısı yorumu
- 18. Ne rel = profil nedir?
- 19. iOS'ta Huni Grafiği Oluşturuluyor mu?
- 20. AWS CLI kullanarak Örnek Profil Kimlik Bilgileri
- 21. SSRS2008 için Gelişmiş Gantt Grafiği
- 22. Canlı Django sunucusunda profil oluşturma?
- 23. EF veya Ado.net profil oluşturma
- 24. Sürekli Entegrasyonda Java Profil Oluşturma
- 25. Firefox Profil userContent.css Javascript karşılığı?
- 26. VS2010 Performans profil oluşturma Sorun:
- 27. Profil yavaş PHP sayfaları üretimde
- 28. ipython - Bir profil oluştururken ettiğimde
- 29. Nasıl Bir Profil İçinde Stream.publish
- 30. ChromeDriver "varsayılan profil dizini oluşturulamıyor"
Gerçekten soruyorsunuz "Python kodumdaki darboğazları nasıl bulabilirim ki, dalya "? Bazı seviyelerde –
evet. Sadece belirli bir olay için işlev çağrı zinciri oldukça uzunsa, eğer yapabilirsem etkin bir alternatif yöntemle ikame etmeyi tercih ederim. – Rahul