Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. import Foundation
  2. import XCTest
  3.  
  4. extension Collection where Indices.Iterator.Element == Index {
  5. subscript(safe index: Index) -> Iterator.Element? {
  6. return indices.contains(index) ? self[index] : nil
  7. }
  8. }
  9.  
  10. class PerfomanceTester: XCTestCase {
  11. let measureIterations = 100_000
  12.  
  13. let array: [String] = {
  14. var array = [String]()
  15. for _ in 1...10_000 {
  16. array.append("test")
  17. }
  18. return array
  19. }()
  20.  
  21. func testNormal() {
  22. measure {
  23. for _ in 1...measureIterations {
  24. let _ = array[10]
  25. }
  26. }
  27. }
  28.  
  29. func testSafe() {
  30. measure {
  31. for _ in 1...measureIterations {
  32. let _ = array[safe: 10]
  33. }
  34. }
  35. }
  36. }
  37.  
  38. PerfomanceTester.defaultTestSuite.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement