- 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
Sepertinya lebih ringan dan berguna dibandingkan Nsight, jadi saya akan mencobanya lalu meninggalkan ulasan! Terima kasih atas perkenalannya.
Kalau Anda meninggalkan komentar, saya akan berterima kasih. Kadang saat mengunggah berita seperti ini, saya penasaran berapa banyak orang yang benar-benar membacanya. Haha