Bagikan melalui


Memahami metode pengumpulan performa profiler

Pelajari tentang metode pengumpulan data yang digunakan alat dalam Visual Studio Performance Profiler.

Pengambilan sampel

Pengambilan sampel mengumpulkan data statistik tentang pekerjaan yang dilakukan oleh aplikasi selama pembuatan profil dan ini adalah tempat awal yang baik untuk menemukan area untuk mempercepat aplikasi Anda. Pada interval yang ditentukan, metode Pengambilan Sampel mengumpulkan informasi tentang fungsi yang dijalankan dalam aplikasi Anda. Pengumpulan data dilakukan dengan mengumpulkan informasi tentang aplikasi secara berkala atau frekuensi pengambilan sampel seperti setiap milidetik. Data yang dikumpulkan dianalisis untuk membuat model di mana waktu yang dihabiskan dalam aplikasi. Jika Anda memerlukan pengukuran waktu panggilan yang akurat atau mencari masalah performa dalam aplikasi untuk pertama kalinya, maka Anda mungkin ingin menggunakan pengambilan sampel.

Pengambilan sampel memiliki lebih sedikit akurasi dalam jumlah panggilan, tetapi berbiaya rendah untuk profiler dan memiliki sedikit efek pada eksekusi aplikasi yang difilterkan. Alat dalam Profiler Performa yang menggunakan metode pengambilan sampel mencakup alat Penggunaan CPU.

Setelah Anda menyelesaikan pengumpulan data, alat Penggunaan CPU menganalisis data yang diambil dan menampilkan laporan.

Menelusuri

Pelacakan memberikan informasi yang lebih baik tentang seberapa sering metode dijalankan. Jika Anda memerlukan ukuran nomor panggilan yang akurat, gunakan pelacakan. Pelacakan dapat berdampak lebih besar pada performa kode Anda selama pengumpulan, tetapi pengambilan sampel hanya memiliki overhead kecil. Selain itu, pelacakan bisa lebih lambat untuk dianalisis karena membutuhkan waktu lebih lama untuk melihat data setelah pengumpulan.

Instrumentasi

Pembuatan profil instrumentasi mengumpulkan informasi terperinci tentang pekerjaan yang dilakukan oleh aplikasi selama proses pembuatan profil. Pengumpulan data dilakukan oleh alat yang memasukkan kode ke dalam file biner yang menangkap informasi waktu atau dengan menggunakan kait panggilan balik untuk mengumpulkan dan memancarkan informasi waktu dan jumlah panggilan yang tepat saat aplikasi berjalan. Metode instrumentasi memiliki overhead tinggi jika dibandingkan dengan pendekatan berbasis pengambilan sampel. Alat dalam Profiler Performa yang menggunakan instrumentasi mencakup alat Instrumentasi dan alat Alokasi Objek .NET.

Pengambilan sampel versus instrumentasi

Nilai pengambilan sampel adalah bahwa ia memiliki lebih sedikit overhead dan karena alasan ini lebih mungkin mewakili aplikasi yang berjalan dalam produksi secara statistik. Nilai pembuatan profil instrumentasi adalah Anda bisa mendapatkan jumlah panggilan yang tepat tentang berapa kali fungsi Anda dipanggil. Ini memberi Anda informasi yang jauh lebih rinci daripada pengambilan sampel normal, yang dapat mendistorsi waktu yang diperlukan dalam beberapa skenario. Misalnya, fungsi yang tidak banyak, tetapi sering dipanggil, akan muncul lebih dari yang mereka lakukan dalam skenario dunia nyata.

Dengan instrumentasi, setiap panggilan fungsi yang dipilih dalam aplikasi Anda diannotasi dan diinstrumentasi sehingga ketika dipanggil, panggilan ditambahkan ke jejak bersama dengan informasi tentang pemanggil. Dengan pengambilan sampel, eksekusi tumpukan panggilan saat ini dijajaki dari CPU pada interval dan kemudian setiap bingkai ditambahkan ke pelacakan.