11 puan yazan xguru 2024-10-24 | 2 yorum | WhatsApp'ta paylaş
  • Diğer Python profilleyicilerinin yapmadığı veya yapamadığı çeşitli işleri gerçekleştiren, Python için yüksek performanslı CPU, GPU ve bellek profilleyicisi
  • Çok daha hızlı çalışırken aynı anda çok daha ayrıntılı bilgi sunar; ayrıca yapay zeka tabanlı optimizasyon önerilerini entegre eden ilk profilleyicidir
  • CLI ve web tabanlı GUI sunar
  • Hızlı ve doğru
    • Hızlı: Enstrümantasyona veya Python'un izleme özelliklerine dayanmak yerine örnekleme kullanır. Ek yük genellikle %10~20'yi aşmaz ve çoğu zaman bunun da altındadır
    • Doğru: Yapılan doğruluk testleri, Scalene'in en doğru profilleyicilerden biri olduğunu ve geçen süreyi doğru biçimde ölçtüğünü göstermiştir
    • Satır düzeyinde ve fonksiyon bazında profilleme yaparak, programda çalışma süresinden sorumlu fonksiyonları ve belirli kod satırlarını gösterir
  • CPU profilleme
    • Geliştiricilerin gerçekten optimize edebileceği koda odaklanabilmesi için Python kodu ile yerel kodda (kütüphaneler dahil) harcanan zamanı ayrı ayrı ölçer
    • CPU zamanı veya bellek tahsisinin önemli bir bölümünü oluşturan hotspot noktalarını kırmızıyla vurgular
    • Sistem zamanını ayrıca ayırarak I/O darboğazlarını kolayca bulmayı sağlar
  • GPU profilleme
    • Yalnızca NVIDIA tabanlı sistemlerde GPU süresini raporlar
  • Bellek profilleme
    • Bellek kullanımı profillemesi yapar ve özel bir bellek ayırıcısı aracılığıyla bellek artışına neden olan belirli kod satırlarını tespit eder
    • Python kodu ile yerel kodun bellek tüketim oranını ayrı ayrı gösterir
    • Satır bazında bellek profili oluşturur
    • Bellek sızıntısı oluşturma ihtimali olan satırları tespit eder
    • Kopyalama hacmi profillemesiyle, Python/kütüphane sınırları arasında geçerken oluşan istenmeyen kopyaları (örneğin numpy dizisinin yanlışlıkla Python dizisine dönüştürülmesi gibi) kolayca bulabilirsiniz
  • Diğer özellikler
    • --reduced-profile seçeneğiyle CPU'nun %1'inden fazlasını tüketen veya en az 100 kez tahsis yapan satırları raporlayan azaltılmış profil oluşturulabilir
    • @profile dekoratörünü destekleyerek yalnızca belirli fonksiyonların profillenmesini sağlar
    • Arka planda çalışan programların (& ile çalıştırılan) profillemesini duraklatıp yeniden başlatabilir

2 yorum

 
lethee 2024-10-29

Nsight'a kıyasla daha hafif ve kullanışlı görünüyor; kullanıp bir inceleme bırakacağım! Tanıtım için teşekkürler.

 
xguru 2024-10-30

Yazarsanız memnun olurum. Bazen böyle haberler paylaşırken kaç kişinin baktığını merak ettiğim oluyor. haha