title: Inaccurate DispatchTime.now() in Swift 3.0
body: <p>I'm using DispatchTime.now() to measure elapsed time between events. Sometimes it works correctly, but occasionally it generates values that are far below what I would expect.</p>
  
  <p>My current usage:</p>
  
  <pre><code>var t = DispatchTime.now()
  var pt = DispatchTime.now()
  
  // called when an event happens
  t = DispatchTime.now()
  var elapsed = Double(t.uptimeNanoseconds - pt.uptimeNanoseconds)
  elapsed *= 32768/1000000000
  pt = t
  </code></pre>
  
  <p>Such that t and pt are current and previous times, elapsed takes the difference in nanoseconds, converts to double, and scales such that 1 second = 32768.  When this technique fails the data recorded is about 100 times smaller than what is expected. The scaling is not the issue, I've checked the rawValue of t and pt. My assumption would be that the clock that runs DispatchTime is running at a slower speed, maybe because of debugging, but in general I would think iOS would compensate for something like this.</p>