11 poin oleh xguru 2024-10-24 | 2 komentar | Bagikan ke WhatsApp
  • Profiler CPU, GPU, dan memori berkinerja tinggi untuk Python yang melakukan berbagai hal yang tidak dilakukan atau tidak bisa dilakukan oleh profiler Python lain
  • Berjalan jauh lebih cepat sekaligus memberikan informasi yang jauh lebih detail, serta merupakan profiler pertama yang mengintegrasikan saran optimasi berbasis AI
  • Menyediakan CLI dan GUI berbasis web
  • Cepat dan akurat
    • Cepat: menggunakan sampling alih-alih bergantung pada instrumentasi atau fitur tracing Python. Overhead biasanya tidak melebihi 10~20% dan sering kali lebih rendah
    • Akurat: hasil pengujian akurasi menunjukkan bahwa Scalene adalah salah satu profiler paling akurat dan mampu mengukur waktu yang dihabiskan secara tepat
    • Melakukan profiling pada tingkat baris dan per fungsi untuk menunjukkan fungsi dan baris kode tertentu yang bertanggung jawab atas waktu eksekusi program
  • Profiling CPU
    • Memisahkan pengukuran waktu yang dihabiskan di kode Python dan kode native (termasuk library), sehingga pengembang dapat fokus pada kode yang benar-benar bisa dioptimalkan
    • Menyorot hotspot yang mengambil porsi besar dari waktu CPU atau alokasi memori dengan warna merah
    • Memisahkan waktu sistem secara terpisah sehingga bottleneck I/O dapat ditemukan dengan mudah
  • Profiling GPU
    • Melaporkan waktu GPU hanya pada sistem berbasis NVIDIA
  • Profiling memori
    • Melakukan profiling penggunaan memori dan, melalui allocator memori khusus, mengidentifikasi baris kode tertentu yang menyebabkan pertambahan memori
    • Menampilkan secara terpisah rasio konsumsi memori antara kode Python dan kode native
    • Menghasilkan profil memori per baris
    • Mengidentifikasi baris yang berpotensi menyebabkan kebocoran memori
    • Melalui profiling volume penyalinan, dapat dengan mudah menemukan penyalinan tak disengaja yang terjadi saat melintasi batas Python/library (misalnya ketika array numpy tidak sengaja dikonversi menjadi array Python)
  • Fitur lainnya
    • Dengan opsi --reduced-profile, dapat membuat profil ringkas yang hanya melaporkan baris yang mengonsumsi lebih dari 1% CPU atau melakukan setidaknya 100 kali alokasi
    • Mendukung dekorator @profile sehingga hanya fungsi tertentu yang dapat diprofilkan
    • Dapat menjeda dan melanjutkan profiling untuk program yang berjalan di latar belakang (dijalankan melalui &)

2 komentar

 
lethee 2024-10-29

Sepertinya lebih ringan dan berguna dibandingkan Nsight, jadi saya akan mencobanya lalu meninggalkan ulasan! Terima kasih atas perkenalannya.

 
xguru 2024-10-30

Kalau Anda meninggalkan komentar, saya akan berterima kasih. Kadang saat mengunggah berita seperti ini, saya penasaran berapa banyak orang yang benar-benar membacanya. Haha