 
 class SwiftMeter {
 
-    func startTimer() -> Timer {
-        return Timer()
+    func startTimer() -> StopWatch {
+        return StopWatch()
     }
 
 }

    func executionTimeInterval( block: @autoclosure () -> ()) -> CFTimeInterval
}

fileprivate var timebase_info: mach_timebase_info = mach_timebase_info(numer: 0, denom: 0)
fileprivate var numer: UInt64?
fileprivate var denom: UInt64?

extension SwiftMeterable {

    init() {

        mach_timebase_info(&timebase_info)
        numer = UInt64(timebase_info.numer)
        denom = UInt64(timebase_info.denom)

        self.init()
    }

import Foundation
import QuartzCore

fileprivate var timebase_info: mach_timebase_info = mach_timebase_info(numer: 0, denom: 0)
fileprivate var numer: UInt64?
fileprivate var denom: UInt64?

struct StopWatch {

    let startDate: NSDate

    init(with start: NSDate) {

        mach_timebase_info(&timebase_info)
        numer = UInt64(timebase_info.numer)
        denom = UInt64(timebase_info.denom)

        startDate = start
    }

