Есть ли способ для профилирования не только как часто делается звонок, но и как он был инициирован? - PullRequest
1 голос
/ 22 декабря 2011

При профилировании моего JavaScript с помощью FireBug такие функции, как jQuery.clone(), занимают почти 50% потребляемого времени:

Function  | call|  %  |  own  |  time  |  avg |  min  |  max  |     file 
_____________________________________________________________________________
clone     | 400 | 42% | 840ms | 1332ms | 3s   | 0.1ms | 13.ms | jquery.min.js 
clone     | 138 | 13% | 267ms | 1038ms | 7ms  | 5ms   | 16.ms | jquery.min.js 
template  | 338 | 6%  | 125ms | 185ms  | 0.5ms| 0.2ms | 1.6ms | underscore.js 
fadeImage | 398 | 3%  | 79ms  | 146ms  | 0.8ms| 0.1ms | 2.7ms | ondemand.js 

Я не называю clone() собой и не могу понять, почемуэто называется так часто.У меня есть приложение backbone.js с множеством подпредставлений - это может быть причиной, но это только предположение.

Есть ли способ профилировать не только частоту звонков, но икак это сработало?

1 Ответ

0 голосов
/ 22 декабря 2011

Если вы используете firebug для отладки, можно использовать console.trace (), который выводит трассировку стека. Таким образом, вы можете увидеть, какая функция вызвала эту функцию.

...