Profile post callbacks.

This commit is contained in:
ccd0 2014-11-16 16:33:42 -08:00
parent d61f5350ed
commit 7688865664
2 changed files with 10 additions and 0 deletions

View File

@ -221,6 +221,12 @@ Main =
while fn()
continue
unless nodes[i]
{runTime} = klass.callbacks
totalTime = 0
for name in klass.callbacks.keys
c.log name, runTime[name]
totalTime += runTime[name]
c.log 'total', totalTime
cb() if cb
return
setTimeout softTask, 0

View File

@ -1,6 +1,7 @@
class Callbacks
constructor: (@type) ->
@keys = []
@runTime = {}
push: ({name, cb}) ->
@keys.push name unless @[name]
@ -9,7 +10,10 @@ class Callbacks
execute: (node) ->
for name in @keys
try
@runTime[name] or= 0
t1 = Date.now()
@[name].call node
@runTime[name] += Date.now() - t1
catch err
errors = [] unless errors
errors.push