Profile post callbacks.
This commit is contained in:
parent
d61f5350ed
commit
7688865664
@ -221,6 +221,12 @@ Main =
|
|||||||
while fn()
|
while fn()
|
||||||
continue
|
continue
|
||||||
unless nodes[i]
|
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
|
cb() if cb
|
||||||
return
|
return
|
||||||
setTimeout softTask, 0
|
setTimeout softTask, 0
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
class Callbacks
|
class Callbacks
|
||||||
constructor: (@type) ->
|
constructor: (@type) ->
|
||||||
@keys = []
|
@keys = []
|
||||||
|
@runTime = {}
|
||||||
|
|
||||||
push: ({name, cb}) ->
|
push: ({name, cb}) ->
|
||||||
@keys.push name unless @[name]
|
@keys.push name unless @[name]
|
||||||
@ -9,7 +10,10 @@ class Callbacks
|
|||||||
execute: (node) ->
|
execute: (node) ->
|
||||||
for name in @keys
|
for name in @keys
|
||||||
try
|
try
|
||||||
|
@runTime[name] or= 0
|
||||||
|
t1 = Date.now()
|
||||||
@[name].call node
|
@[name].call node
|
||||||
|
@runTime[name] += Date.now() - t1
|
||||||
catch err
|
catch err
|
||||||
errors = [] unless errors
|
errors = [] unless errors
|
||||||
errors.push
|
errors.push
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user