Swift Array vs ContiguousArray

Swift Array vs ContiguousArray

class Address {
  var street = ""
  var city = ""
  var state = "";
  enum AddressAttributes {
    case Street
    case City
    case State
  }
  func updateAttribute(value: String, attribute: AddressAttributes){
    switch attribute {
      case .Street:
        street = value;
      case .City:
        city = value;
      case .State:
        state = value;
    }
  }
}
func testPerformanceForClassArray() {
  let address = Address()
  var array: [Address]  = []
  self.measure {
    for _ in 0..<10000000 {
      array.append(address)
    }
  }
}
func testPerformanceForClassContiguousArray() {
  let address = Address()
  var array: ContiguousArray<Address> = []
  self.measure {
    for _ in 0..<10000000 {
      array.append(address)
    }
  }
}

ContiguousArray: 0.47s

Array: 2.45s