Swift Compiler optimization level for unit tests set to -O
Apple LLVM 6.0/7.0 Optimization Level set to Fastest, Aggressive Optimizations -Ofast
Tests written in Objective-C
Shuffle 1,000,000 NSNumber objects in NSMutableArray
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.304 seconds 5% STDEV
0.376 seconds 1% STDEV
-
iPhone 6 (8.3)
Swift 1.2
0.281 seconds 3% STDEV
0.303 seconds 1% STDEV
-
iPhone 6 (8.3)
Swift 2.0
0.270 seconds 2% STDEV
0.273 seconds 2% STDEV
-
iPhone 6 (8.3)
Swift 2.1
0.313 seconds 2% STDEV
0.318 seconds 3% STDEV
-
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.259 seconds 3% STDEV
0.261 seconds 2% STDEV
-
iPhone 6 (9.2)
Shuffle 1,000,000 NSString objects in NSMutableArray
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
1.091 seconds 2% STDEV
1.290 seconds 3% STDEV
-
iPhone 6 (8.3)
Swift 1.2
1.129 seconds 3% STDEV
1.238 seconds 2% STDEV
-
iPhone 6 (8.3)
Swift 2.0
1.106 seconds 2% STDEV
1.096 seconds 1% STDEV
-
iPhone 6 (8.3)
Swift 2.1
0.307 seconds 2% STDEV
0.312 seconds 2% STDEV
-
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.258 seconds 4% STDEV
0.265 seconds 6% STDEV
-
iPhone 6 (9.2)
Shuffle 1,000,000 ObjcObject objects in NSMutableArray
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.839 seconds 4% STDEV
1.014 seconds 4% STDEV
-
iPhone 6 (8.3)
Swift 1.2
0.799 seconds 3% STDEV
0.867 seconds 1% STDEV
-
iPhone 6 (8.3)
Swift 2.0
0.791 seconds 4% STDEV
0.798 seconds 2% STDEV
-
iPhone 6 (8.3)
Swift 2.1
0.877 seconds 2% STDEV
0.862 seconds 1% STDEV
-
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.775 seconds 4% STDEV
0.780 seconds 4% STDEV
-
iPhone 6 (9.2)
Shuffle 1,000,000 SwiftObject objects in NSMutableArray
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.818 seconds 1% STDEV
1.015 seconds 1% STDEV
-
iPhone 6 (8.3)
Swift 1.2
0.854 seconds 2% STDEV
0.898 seconds 2% STDEV
-
iPhone 6 (8.3)
Swift 2.0
0.808 seconds 2% STDEV
0.817 seconds 2% STDEV
-
iPhone 6 (8.3)
Swift 2.1
0.861 seconds 3% STDEV
0.853 seconds 3% STDEV
-
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.769 seconds 4% STDEV
0.779 seconds 6% STDEV
-
iPhone 6 (9.2)
Empty loop 1,000,000 objects with NSMutableArray
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.006 seconds 2% STDEV
0.005 seconds 9% STDEV
-
iPhone 6 (8.3)
Swift 1.2
0.004 seconds 3% STDEV
0.005 seconds 10% STDEV
-
iPhone 6 (8.3)
Swift 2.0
0.004 seconds 3% STDEV
0.004 seconds 2% STDEV
-
iPhone 6 (8.3)
Swift 2.1
0.005 seconds 8% STDEV
0.005 seconds 11% STDEV
-
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.006 seconds 36% STDEV
0.005 seconds 2% STDEV
-
iPhone 6 (9.2)
Shuffle 1,000,000 Int objects with Swift implementation taking [AnyObject]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.296 seconds 1% STDEV
-
1.616 seconds 2% STDEV
iPhone 6 (8.3)
Swift 1.2
0.262 seconds 1% STDEV
-
0.523 seconds 1% STDEV
iPhone 6 (8.3)
Swift 2.0
0.271 seconds 2% STDEV
-
0.285 seconds 2% STDEV
iPhone 6 (8.3)
Swift 2.1
0.305 seconds 1% STDEV
-
0.336 seconds 5% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.256 seconds 1% STDEV
-
0.284 seconds 7% STDEV
iPhone 6 (9.2)
Shuffle 1,000,000 Int objects with Swift implementation taking [Any]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
Same as above
-
0.537 seconds 3% STDEV
iPhone 6 (8.3)
Swift 1.2
Same as above
-
0.289 seconds 2% STDEV
iPhone 6 (8.3)
Swift 2.0
Same as above
-
0.303 seconds 2% STDEV
iPhone 6 (8.3)
Swift 2.1
Same as above
-
0.378 seconds 6% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
Same as above
-
0.340 seconds 3% STDEV
iPhone 6 (9.2)
Shuffle 1,000,000 Int objects with Swift implementation taking [Int]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
Same as above
-
0.181 seconds 2% STDEV
iPhone 6 (8.3)
Swift 1.2
Same as above
-
0.189 seconds 2% STDEV
iPhone 6 (8.3)
Swift 2.0
Same as above
-
0.197 seconds 5% STDEV
iPhone 6 (8.3)
Swift 2.1
Same as above
-
0.240 seconds 2% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
Same as above
-
0.198 seconds 6% STDEV
iPhone 6 (9.2)
Shuffle 1,000,000 Int objects with Swift implementation taking [T]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
Same as above
-
32.627 seconds 1% STDEV
iPhone 6 (8.3)
Swift 1.2
Same as above
-
2.155 seconds 1% STDEV
iPhone 6 (8.3)
Swift 2.0
Same as above
-
1.478 seconds 2% STDEV
iPhone 6 (8.3)
Swift 2.1
Same as above
-
2.025 seconds 1% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
Same as above
-
2.185 seconds 2% STDEV
iPhone 6 (9.2)
Shuffle 1,000,000 String objects with Swift implementation taking [String]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
1.137 seconds 2% STDEV
-
0.829 seconds 2% STDEV
iPhone 6 (8.3)
Swift 1.2
1.112 seconds 3% STDEV
-
0.891 seconds 3% STDEV
iPhone 6 (8.3)
Swift 2.0
1.114 seconds 2% STDEV
-
0.925 seconds 1% STDEV
iPhone 6 (8.3)
Swift 2.1
1.253 seconds 3% STDEV
-
1.010 seconds 3% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
1.138 seconds 2% STDEV
-
0.878 seconds 2% STDEV
iPhone 6 (9.2)
Shuffle 1,000,000 ObjcObject objects with Swift implementation taking [ObjcObject]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.816 seconds 3% STDEV
-
2.529 seconds 1% STDEV
iPhone 6 (8.3)
Swift 1.2
0.794 seconds 2% STDEV
-
1.252 seconds 1% STDEV
iPhone 6 (8.3)
Swift 2.0
0.794 seconds 2% STDEV
-
0.820 seconds 2% STDEV
iPhone 6 (8.3)
Swift 2.1
0.827 seconds 4% STDEV
-
0.895 seconds 2% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.748 seconds 4% STDEV
-
0.810 seconds 1% STDEV
iPhone 6 (9.2)
Shuffle 1,000,000 SwiftObject objects with Swift implementation taking [SwiftObject]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.826 seconds 2% STDEV
-
2.527 seconds 1% STDEV
iPhone 6 (8.3)
Swift 1.2
0.795 seconds 2% STDEV
-
1.352 seconds 1% STDEV
iPhone 6 (8.3)
Swift 2.0
0.796 seconds 2% STDEV
-
0.830 seconds 3% STDEV
iPhone 6 (8.3)
Swift 2.1
0.835 seconds 4% STDEV
-
0.887 seconds 3% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.755 seconds 3% STDEV
-
0.809 seconds 3% STDEV
iPhone 6 (9.2)
Shuffle 1,000,000 SwiftStructObject objects with Swift implementation taking [SwiftStructObject]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
-
-
0.070 seconds 1% STDEV
iPhone 6 (8.3)
Swift 1.2
-
-
0.065 seconds 3% STDEV
iPhone 6 (8.3)
Swift 2.0
-
-
0.067 seconds 2% STDEV
iPhone 6 (8.3)
Swift 2.1
-
-
0.067 seconds 5% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
-
-
0.069 seconds 17% STDEV
iPhone 6 (9.2)
Empty loop 1,000,000 Int objects in [Int]
Version
Objective-C
Bridgeable Swift
Swift
Device (iOS Version)
Swift 1.1
0.010 seconds 38% STDEV
-
0.003 seconds 49% STDEV
iPhone 6 (8.3)
Swift 1.2
0.005 seconds 10% STDEV
-
0.001 seconds 20% STDEV
iPhone 6 (8.3)
Swift 2.0
0.005 seconds 23% STDEV
-
0.001 seconds 10% STDEV
iPhone 6 (8.3)
Swift 2.1
0.005 seconds 35% STDEV
-
0.001 seconds 9% STDEV
iPhone 6 (9.2)
Swift 2.2 Snapshot
0.005 seconds 24% STDEV
-
0.000 seconds 106% STDEV
iPhone 6 (9.2)