Popularity
2.1
Stable
Activity
0.0
Stable
86
4
5

Programming language: Swift
License: MIT License
Tags: Utility    
Latest version: v2.0

Benchmark alternatives and similar libraries

Based on the "Utility" category.
Alternatively, view Benchmark alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Benchmark or a related project?

Add another 'Utility' Library

README

Benchmark

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

License Language Carthage compatible CocoaPods compatible Awesome

Installation

Carthage

// Cartfile
github "WorldDownTown/Benchmark"

CocoaPods

// Podfile
pod 'Benchmark'

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.


*Note that all licence references and agreements mentioned in the Benchmark README section above are relevant to that project's source code only.