Created
April 30, 2015 17:26
-
-
Save mzaks/2d4f3b8353e2b0a2e8e7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func measureTuple(){ | |
| var name : String = "" | |
| let time = NSDate() | |
| for i in 1...10_000_000{ | |
| let p = TPerson("some", 25, true) | |
| name = p.name | |
| } | |
| let after = NSDate() | |
| println("\(after.timeIntervalSince1970 - time.timeIntervalSince1970) Tuple 10M") | |
| println(name) | |
| } | |
| measureTuple() | |
| func measureStruct(){ | |
| var name : String = "" | |
| let time = NSDate() | |
| for i in 1...10_000_000{ | |
| let p = SPerson(name: "some", age: 25, male: true) | |
| name = p.name | |
| } | |
| let after = NSDate() | |
| println("\(after.timeIntervalSince1970 - time.timeIntervalSince1970) Struct 10M") | |
| println(name) | |
| } | |
| measureStruct() | |
| func measureEnum(){ | |
| var name : String = "" | |
| let time = NSDate() | |
| for i in 1...10_000_000 { | |
| let p = EPerson.Male(name: "some", age: 25) | |
| name = p.name() | |
| } | |
| let after = NSDate() | |
| println("\(after.timeIntervalSince1970 - time.timeIntervalSince1970) Enum 10M") | |
| println(name) | |
| } | |
| measureEnum() | |
| func measureClas(){ | |
| var name : String = "" | |
| let time = NSDate() | |
| for i in 1...10_000_000 { | |
| let p = CPerson(name: "some", age: 25, male: true) | |
| name = p.name | |
| } | |
| let after = NSDate() | |
| println("\(after.timeIntervalSince1970 - time.timeIntervalSince1970) Class 10M") | |
| println(name) | |
| } | |
| measureClas() | |
| // Compile in Release Mode -Os | |
| // 2.09808349609375e-05 Tuple 10M | |
| // 0.097527027130127 Struct 10M | |
| // 0.111047029495239 Enum 10M | |
| // 1.09468483924866 Class 10M |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment