JS'nin Chrome CPU Profilinde 'self' ve 'total' arasındaki fark


229

JS kodunun Chrome CPU profilindeki 'kendi' ve 'toplam' sütunları arasındaki fark nedir?

resim açıklamasını buraya girin


13
Kendi kendine zaman neredeyse hiçbir zaman ciddi yazılımlarda yararlı değildir, çünkü neredeyse tüm zamanlar sistem / kütüphane / DB / IO, vb. bir tür sıkı döngü yazıyor. Sistem rutinlerinde çok şey kullanıldığını söyleyebilir, ancak bu size iyi gelmez. Kodunuzun hangi bölümünün çok fazla zaman harcanmasına neden olduğunu bilmeniz gerekir .
Mike Dunlavey

Bir işlev yerleşik nesneyi (zaman uyumsuz olmayan XMLHttpRequest gönderme gibi) çağırarak engelleniyorsa, otomatik zaman çok yararlı olabilir. Bu gibi durumlarda bu işlevler, darboğazlar olmakla birlikte, toplam zaman ölçümlerinin üstünde gösterilmeyebilir.
Konstantin

Yanıtlar:


303

self doğrudan bu işlevde iş yapmak için ne kadar zaman harcandığıdır.

total o işlevde ve onun adlandırdığı işlevlerde ne kadar zaman harcandığıdır.


11
yani benlik sadece satır içi ifadeler olur, fonksiyon çağrıları değil mi? Ve toplam çağrı içinde kod yürütülüyor mu?
CoolUserName

42
Bu arada, insanlar bunu yararlı bir cevap buluyor gibi görünüyor: Bu, yalnızca Chrome'da değil, genel olarak profilciler için de geçerlidir.
duskwuff -inactive-

2
Bir işlev kendini tekrar tekrar çağırırsa ne olur? o zaman nasıl doğru okursun?
David Limkys

3
Dokümanlar bağlantısı burada ('İşlev ayrıntılarını görüntüle' bölümünde) . Self time: Fonksiyonun mevcut çağrılmasını tamamlama, ne de fonksiyonun kendi ifadeleri de dahil olmak üzere, çağrıldığı herhangi bir fonksiyonu içermez. Total time: Bu işlevin ve çağırdığı tüm işlevlerin geçerli çağrılmasını tamamlamak için geçen süre.
Iman Mahmoudinasab

Ve şimdi öz ve toplam zaman değerleri boyunca gösterilen yüzdenin semantiği nedir? Demek istediğim, içinde neyin yüzdesi?
jayarjo

10

Kendi Kendine Zaman: Bir işlev için, işlev içinde kod yürütmek için gereken süredir (satır içi ifadeler). Bireysel fonksiyonların performansının kontrol edilmesi aşağıdan yukarıya analiz olarak bilinir.

Toplam Süre: Bir işlev için, o işlevin kendi zamanı ve çağrılan tüm işlevlerin kendi zamanıdır. Callees ile birlikte fonksiyonların performansını kontrol etmek yukarıdan aşağıya analizdir.

Not: Bir fonksiyonun kendiliğinden yüksek bir zamana sahip olması, fonksiyonun kendisinin verimsiz olduğu anlamına gelmez. Bu işlevin kaç kez çağrıldığına bakmak da önemlidir.

Intel'in makalesi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.