https://github.com/WorldDownTown/Benchmark
The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code.
https://github.com/WorldDownTown/Benchmark
benchmark carthage cocoapods swift
Last synced: 5 months ago
JSON representation
The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code.
- Host: GitHub
- URL: https://github.com/WorldDownTown/Benchmark
- Owner: WorldDownTown
- License: mit
- Created: 2016-05-24T14:43:37.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-05T01:41:04.000Z (over 8 years ago)
- Last Synced: 2024-11-13T18:54:54.044Z (about 1 year ago)
- Topics: benchmark, carthage, cocoapods, swift
- Language: Swift
- Homepage:
- Size: 12.7 KB
- Stars: 86
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - Benchmark - The Benchmark module provides methods to measure and report the time used to execute Swift code. (Tools / Web View)
- awesome-ios-star - Benchmark - The Benchmark module provides methods to measure and report the time used to execute Swift code. (Tools / Web View)
- fucking-awesome-ios - Benchmark - The Benchmark module provides methods to measure and report the time used to execute Swift code. (Tools / Web View)
README
# Benchmark
The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code.
[](https://doge.mit-license.org)
[](https://developer.apple.com/swift)
[](https://github.com/Carthage/Carthage)
[](http://cocoadocs.org/docsets/Benchmark/)
[](https://github.com/matteocrippa/awesome-swift#utility)
## Installation
### Carthage
```
// Cartfile
github "WorldDownTown/Benchmark"
```
### CocoaPods
```
// Podfile
pod 'Benchmark'
```
## Usage
### Simple measure
```swift
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
```swift
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 ...)
```swift
import Benchmark
class Foo {
func execute() {
Benchmark.start()
}
}
class Bar {
func execute() {
Benchmark.finish()
}
}
Foo().execute()
Bar().execute() // Benchmark: 0.0001509786 sec.
```
### Using operator
```swift
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.