Que signifie «(programme)» dans la colonne des fonctions du débogueur Chrome?
javascript
google-chrome-devtools
hvgotcodes
la source
la source
Je crois que (programme) est du code natif, pas la racine de l'arbre.
Voir ce fil:
https://bugs.webkit.org/show_bug.cgi?id=88446
Donc, plus comme des appels système que comme main ().
Apparemment, cela inclut les temps morts. De plus, certains profils de (programme) sont disponibles à partir de chrome: // profiler /
la source
Comme le dit @Nick, cela doit commencer quelque part.
Il semble que la partie CPU Profiler ressemble à tant d'autres profileurs basés sur les mêmes concepts que gprof .
Par exemple, self est presque un nombre inutile à moins qu'il n'y ait quelque chose comme une sorte de bulle d'un grand tableau de nombres dans un code que vous pouvez modifier. Hautement improbable.
Le total devrait inclure les appels, donc c'est plus utile. Cependant, à moins que des échantillons ne soient prélevés pendant le temps bloqué ainsi que pendant le temps d'exécution, il est encore assez inutile sauf pour les programmes totalement liés au processeur.
Il vous donne ces statistiques par fonction, plutôt que par ligne de code. Cela signifie (si vous pouviez vous fier au pourcentage total ) qu'une fonction coûte autant, en ce sens que si vous pouviez en quelque sorte la faire prendre zéro temps, par exemple en la stubbing, ce pourcentage est le temps que vous gagneriez.
Donc, si vous voulez vous concentrer sur une fonction coûteuse, vous devez y chercher ce qui pourrait être optimisé. Pour ce faire, vous devez savoir comment le temps est divisé entre les lignes de code de la fonction. Si vous aviez le coût par ligne de code, cela vous mènerait directement à ces lignes.
Je ne sais pas si vous pourrez obtenir un meilleur profileur, comme un échantillonneur de pile d'horloge murale rapportant au niveau de la ligne, tel que Zoom . Voici comment je fais .
la source