Skip to content

Instantly share code, notes, and snippets.

@inamiy
Created January 21, 2015 01:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save inamiy/a88ed2db611503512d73 to your computer and use it in GitHub Desktop.
Save inamiy/a88ed2db611503512d73 to your computer and use it in GitHub Desktop.
SwiftTask & ReactKit benchmark test. https://github.com/ReactKit/SwiftTask/pull/22
for i in 0..<5 {
let startTime: CFAbsoluteTime = CFAbsoluteTimeGetCurrent();
for _ in 0..<100 {
let task = Task<Float, String, NSError> { p, f, r, c in }
//let signal = Signal<Int>.never()
}
let elapsedTime: CFAbsoluteTime = CFAbsoluteTimeGetCurrent() - startTime;
println("[\(i)]: \(loop) loops = \(elapsedTime), 1 loop = \(elapsedTime/Double(loop))")
}
(all tested on iPhone5s, with optimization level = -O)
// SwiftTask 2.5.1
[0]: 100 loops = 1.63266599178314, 1 loop = 0.0163266599178314
[1]: 100 loops = 1.58188897371292, 1 loop = 0.0158188897371292
[2]: 100 loops = 1.57783699035645, 1 loop = 0.0157783699035645
[3]: 100 loops = 1.58536404371262, 1 loop = 0.0158536404371262
[4]: 100 loops = 1.58243000507355, 1 loop = 0.0158243000507355
// SwiftTask 2.6.0pre
[0]: 100 loops = 0.0150429606437683, 1 loop = 0.000150429606437683
[1]: 100 loops = 0.00679397583007812, 1 loop = 6.79397583007812e-05
[2]: 100 loops = 0.00657498836517334, 1 loop = 6.57498836517334e-05
[3]: 100 loops = 0.00679999589920044, 1 loop = 6.79999589920044e-05
[4]: 100 loops = 0.00672101974487305, 1 loop = 6.72101974487305e-05
(SwiftTask: 240x faster)
// ReactKit 0.5.0
[0]: 100 loops = 1.75876998901367, 1 loop = 0.0175876998901367
[1]: 100 loops = 1.73212802410126, 1 loop = 0.0173212802410126
[2]: 100 loops = 1.73549199104309, 1 loop = 0.0173549199104309
[3]: 100 loops = 1.7194259762764, 1 loop = 0.017194259762764
[4]: 100 loops = 1.73625200986862, 1 loop = 0.0173625200986862
// ReactKit 0.6.0pre
[0]: 100 loops = 0.0204319953918457, 1 loop = 0.000204319953918457
[1]: 100 loops = 0.0127019882202148, 1 loop = 0.000127019882202148
[2]: 100 loops = 0.0127049684524536, 1 loop = 0.000127049684524536
[3]: 100 loops = 0.0122619867324829, 1 loop = 0.000122619867324829
[4]: 100 loops = 0.0129290223121643, 1 loop = 0.000129290223121643
(ReactKit: 144x faster)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment