       else
         "#{memo}\n#{_.multiplyString('  ', index)}#{description}"
     @description = _.reduce(stack, reducer, '')
-    @time = new Date().getTime()
+    @time = Date.now()
 
   reportSpecResults: (spec) ->
     return unless @time? and @description?
 
-    duration = new Date().getTime() - @time
+    duration = Date.now() - @time
 
-    window.timedSpecs.push
-      description: @description
-      time: duration
-      fullName: spec.getFullName()
+    if duration > 0
+      window.timedSpecs.push
+        description: @description
+        time: duration
+        fullName: spec.getFullName()
 
-    if timedSuites[@suite]
-      window.timedSuites[@suite] += duration
-    else
-      window.timedSuites[@suite] = duration
+      if timedSuites[@suite]
+        window.timedSuites[@suite] += duration
+      else
+        window.timedSuites[@suite] = duration
 
     @time = null
     @description = null

    undefined

  logLongestSpecs: (number=10, log) ->
    log ?= (line) -> console.log(line)
    log "Longest running specs:"
    for spec in _.sortBy(window.timedSpecs, (spec) -> -spec.time)[0...number]

    window.logLongestSuites = (number) => @logLongestSuites(number)

  logLongestSuites: (number=10, log) ->
    return unless window.timedSuites.length > 0

    log ?= (line) -> console.log(line)
    log "Longest running suites:"
    suites = _.map(window.timedSuites, (key, value) -> [value, key])
