javascript - Hva er «(program)» i Chromes feilsøkers profiler?
Hva er «(program) » i funksjonskolonnen til Chrome-debuggeren?
Svar #1
(program) er selve Chrome, roten av treet som kaller all annen kode...det er der fordi hoppet fra native kode til JavaScript, ressurslasting, osv. må starte et sted :)
Du kan se eksempler på trevisningen i dokumentasjonen for Chrome-utviklerverktøyene.
Svar #2
Jeg tror (program) er native-kode, ikke roten på treet.
Se denne tråden:
https://bugs.webkit.org/show_bug.cgi?id=88446
Så, mer som systemanrop enn som main().
Tilsynelatende inkluderer det ledig tid. Også, noe profilering av (program) er tilgjengelig fra chrome://profiler/
Svar #3
Som @Nick sier, det må starte et sted.
Det ser ut som CPU-profileringsdelen er som mange andre profileringsverktøy som er basert på de samme konseptene som gprof.
For eksempel er self nesten et ubrukelig tall med mindre det er noe som en boblesortering av en stor rekke med tall i en kode som du kan redigere. Svært usannsynlig.
Totalt bør inkludere kalte funksjoner, så det er mer nyttig. Men med mindre prøver tas både under blokkert tid og under kjøretid, er det fortsatt ganske ubrukelig bortsett fra for helt CPU-bundne programmer.
Den gir deg disse statistikkene etter funksjon, snarere enn etter kodelinje. Det betyr (hvis du kunne stole på Total prosent) at en funksjon koster så mye, i den forstand at hvis du på en eller annen måte kunne få den til å bruke null tid, for eksempel ved å stubbe den, er den prosenten hvor mye tid du ville spart.
Så hvis du vil fokusere på en kostbar funksjon, trenger du å lete inni den etter hva som kan optimeres. For å gjøre det, må du vite hvordan tiden er fordelt mellom kodelinjene i funksjonen. Hvis du hadde kostnad på linjenivå, ville det ta deg direkte til disse linjene.
Jeg vet ikke om du vil kunne få en bedre profiler, som en veggklokke-stakkprøver som rapporterer på linjenivå, som Zoom. Slik gjør jeg det.