CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.

Benchmark 2.0

Benchmark 2.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release May 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by WorldDownTown.



Benchmark

The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code.

Installation

Usage

Simple measure

import Benchmark

Benchmark.measure() {
    print(self) // don't have to set weak.
    for _ in 0...10000000 { }
}
// Benchmark: 0.1690970063 sec.

// Benchamrk can be set name.
Benchmark.measure("Measure1") {
    for _ in 0...10000000 { }
}
// Measure1: 0.1690970063 sec.

Multiple measure

import Benchmark

func heavyMethod() {
    let outer = Benchmark(key: "outer")

    let inner = Benchmark(key: "inner")

    // some light processes
    for _ in 0...10 { }

    inner.finish()  // inner: 0.0002210140 sec.

    // some heavy processes
    for _ in 0...10000000 { }

    outer.finish()  // outer: 0.1663100123 sec.
}

Through another Class (or Struct or file …)

import Benchmark

class Foo {
    func execute() {
        Benchmark.start()
    }
}

class Bar {
    func execute() {
        Benchmark.finish()
    }
}

Foo().execute()

Bar().execute()  // Benchmark: 0.0001509786 sec.

Using operator

import Benchmark

// same as Benchmark.measure {}
⏲{
    for _ in 0...10000000 { }
}
// Benchmark: 0.1653281017 sec.

Contributing

Contributions are more than welcome! If you have an improvement or a feature you wish to have added to Benchmark, then please don’t hesitate to send a pull request!

Author

WorldDownTown @ gmail.com

License

Benchmark is available under the MIT license. See the LICENSE file for more info.