The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code.
// Cartfile github "WorldDownTown/Benchmark" // Podfile pod 'Benchmark' 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.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. }import Benchmark class Foo { func execute() { Benchmark.start() } } class Bar { func execute() { Benchmark.finish() } } Foo().execute() Bar().execute() // Benchmark: 0.0001509786 sec.import Benchmark // same as Benchmark.measure {} ⏲{ for _ in 0...10000000 { } } // Benchmark: 0.1653281017 sec.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!
WorldDownTown @ gmail.com
Benchmark is available under the MIT license. See the LICENSE file for more info.