Perbedaan antara 'diri' dan 'total' di Profil CPU Chrome JS

229

Apa perbedaan antara kolom 'mandiri' dan 'total' dalam profil CPU Chrome kode JS?

masukkan deskripsi gambar di sini

CoolUserName
sumber
13
Waktu sendiri hampir tidak pernah berguna dalam perangkat lunak yang serius, karena hampir semua waktu dihabiskan untuk memanggil sistem / library / DB / IO, dll., Sehingga penghitung program menghabiskan waktu yang sangat sedikit, sebagai persentase, dalam kode Anda, kecuali jika Anda kebetulan menulis semacam loop ketat. Ini mungkin memberi tahu Anda banyak digunakan dalam rutinitas sistem, tetapi itu tidak baik bagi Anda. Anda perlu tahu bagian mana dari kode Anda yang menyebabkan banyak waktu dihabiskan.
Mike Dunlavey
Jika suatu fungsi memblokir dengan memanggil objek bawaan (seperti kirim XMLHttpRequest non-async), waktu otomatis mungkin sangat berguna. Dalam kasus-kasus seperti ini, fungsi-fungsi ini, walaupun menjadi penghambat, mungkin tidak muncul di bagian atas pengukuran waktu total.
Konstantin

Jawaban:

303

self adalah berapa banyak waktu yang dihabiskan untuk melakukan pekerjaan secara langsung dalam fungsi itu.

total adalah berapa banyak waktu yang dihabiskan dalam fungsi itu, dan dalam fungsi yang disebutnya.

duskwuff -inactive-
sumber
11
jadi diri hanya akan menjadi inline statement, dan tidak berfungsi memanggil? Dan total adalah semua kode yang dieksekusi di dalam panggilan?
CoolUserName
42
Kebetulan, karena orang-orang tampaknya menemukan ini jawaban yang berguna: Ini berlaku untuk profiler secara umum, bukan hanya di Chrome.
duskwuff -inactive-
2
Apa yang akan terjadi jika suatu fungsi menyebut dirinya secara rekursif? bagaimana Anda membacanya dengan benar?
David Limkys
3
Tautan dokumen ada di sini (di bagian 'Lihat detail fungsi') . Self time: Berapa lama waktu untuk menyelesaikan doa saat ini dari fungsi, termasuk hanya pernyataan dalam fungsi itu sendiri, tidak termasuk fungsi yang disebutnya. Total time: Waktu yang diperlukan untuk menyelesaikan doa saat ini dari fungsi ini dan fungsi apa pun yang disebutnya.
Iman Mahmoudinasab
Dan apa semantik persentase yang sekarang ditampilkan di sepanjang nilai waktu total dan mandiri? Maksud saya persen dari apa?
jayarjo
10

Self Time: Untuk suatu fungsi, adalah jumlah waktu untuk mengeksekusi kode dalam fungsi (inline statement). Memeriksa kinerja masing-masing fungsi dikenal sebagai analisis bottom-up.

Total Waktu: Untuk suatu fungsi, adalah waktu diri dari fungsi itu dan waktu diri dari semua fungsi yang memanggil fungsi. Memeriksa kinerja fungsi-fungsi bersama betisnya adalah analisis top-down.

NB: Hanya karena suatu fungsi memiliki waktu sendiri yang tinggi, tidak berarti bahwa fungsi itu sendiri tidak efisien. Penting juga untuk melihat berapa kali fungsi itu dipanggil.

Artikel oleh Intel

JSON C11
sumber