Chrome hata ayıklayıcısının profilindeki “(program)” nedir?


Yanıtlar:


95

(program)vb JavaScript yerli kod, kaynak yükleme, atlamak başlamak zorundadır, çünkü Krom kendisi diğer tüm kod çağıran ağacın köküdür ... oradadır yerde :)

Ağaç görünümü örneklerini Chrome geliştirici aracı belgelerinde görebilirsiniz .


43
ah - eğer bu yüksek bir yüzde ise, bu konuda yapabileceğim bir şey var mı?
hvgotcodes

2
@hvgotcodes - Aşağıdaki tüm bölümlerin yüzdesi olabilir. Şimdi öz yüzde yüksekse, yapabileceğiniz pek bir şey yok .... genel olarak işaretlemeniz çok ağır değilse.
Nick Craver

1
Lütfen, "(program)" bölümündeki koda nasıl erişeceğinizi biliyor musunuz? Şu anda üzerinde çalıştığım projedeki JavaScript'in bir kısmı orada bitiyor ve hata ayıklayıcıda oraya ulaşmanın tek yolu "debugger" yerleştirmektir. kodu içine, hangi oldukça rahat değil.
Jaroslav Záruba

6
Bunun aslında yanlış olduğunu düşünüyorum ve @ user1009908'in cevabı doğru. Kök değil, yerel kodu. Ağaç görünümü örneğinin kök olarak gösterilmemesi, tarafından desteklenir.
studgeek

3
Programın ()% 'si yüksek olduğunda, bazen css animasyonları, programa () yansıtılacak olan yüksek CPU kullanımına yol açar. Ne yazık ki profil oluşturucu kaynağı saptamaya yardımcı olamaz.
ılǝ

31

(Program) ağacın kökü değil, yerel kod olduğuna inanıyorum.

Bu konuya bakın:

https://bugs.webkit.org/show_bug.cgi?id=88446

Yani, sistem çağrıları gibi main () gibi.

Görünüşe göre boşta kalma süresi içeriyor. Ayrıca, (programın) bazı profillerini chrome: // profiler / adresinden edinebilirsiniz.


7
Kabul edildi - ancak sadece bir güncelleme: artık boşta kalma süresi içermiyor. Artık ayrı olarak (boşta) olarak bildiriliyor
Gio

15

@ Nick'in dediği gibi, bir yerden başlamak zorunda.

CPU Profiler kısmı gprof ile aynı kavramlara dayanan diğer birçok profiler gibi görünüyor .

Örneğin, bazı kodlarda düzenleyebileceğiniz büyük bir sayı dizisinin kabarcığı gibi bir şey olmadığı sürece , benlik neredeyse işe yaramaz bir sayıdır. Hiç alışılmadık bir şekilde.

Toplam callees içermelidir, bu yüzden daha yararlıdır. Bununla birlikte, numuneler bloke edilen süre boyunca ve çalışma süresi boyunca alınmadıkça, tamamen cpu-bağlı programlar dışında hala oldukça işe yaramaz.

Bu istatistikleri kod satırından ziyade işleve göre verir. Bu, ( Toplam yüzdeye güvenebiliyorsanız ), bir işlevin bu kadar pahalıya mal olduğu anlamına gelir; yani, bir şekilde onu stubbing ile sıfır zaman alabilirseniz, bu yüzde ne kadar tasarruf edeceğinizdir.

Dolayısıyla, pahalı bir işleve odaklanmak istiyorsanız, optimize edilebilecek şeyler için onu avlamanız gerekir. Bunu yapmak için, zamanın fonksiyondaki kod satırları arasında nasıl alt bölümlere ayrıldığını bilmeniz gerekir. Bir kod satırında maliyetiniz olsaydı, sizi doğrudan bu satırlara götürür.

Çizgi düzeyinde raporlama yapan bir duvar saati yığını örnekleyicisi gibi Zoom gibi daha iyi bir profil oluşturup edemeyeceğinizi bilmiyorum . İşte böyle yapıyorum .


@hvgotcodes: Emin değilim. Onları kullanmıyorum, çünkü sadece bir hata ayıklayıcıda yığın görüntüleri alıyorum. Ama Linux'tasın, değil mi? Zoom'un deneme sürümünü alabilir misiniz? Oldukça iyi.
Mike Dunlavey

@hvgotcodes: Öyleyse, sunabileceğim tek yardım güvenebileceğim yöntem.
Mike Dunlavey
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.