//===--- DictionarySubscriptDefault.swift ---------------------------------===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors // Licensed under Apache License v2.0 with Runtime Library Exception // // See https://swift.org/LICENSE.txt for license information // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors // //===----------------------------------------------------------------------===// import TestsUtils public let DictionarySubscriptDefault = [ BenchmarkInfo(name: "DictionarySubscriptDefaultMutation", runFunction: run_DictionarySubscriptDefaultMutation, tags: [.validation, .api, .Dictionary]), BenchmarkInfo(name: "DictionarySubscriptDefaultMutationArray", runFunction: run_DictionarySubscriptDefaultMutationArray, tags: [.validation, .api, .Dictionary]), BenchmarkInfo(name: "DictionarySubscriptDefaultMutationOfObjects", runFunction: run_DictionarySubscriptDefaultMutationOfObjects, tags: [.validation, .api, .Dictionary]), BenchmarkInfo(name: "DictionarySubscriptDefaultMutationArrayOfObjects", runFunction: run_DictionarySubscriptDefaultMutationArrayOfObjects, tags: [.validation, .api, .Dictionary]), ] let count = 10_000 let result = count / 100 @inline(never) public func run_DictionarySubscriptDefaultMutation(_ N: Int) { for _ in 1...N { var dict = [Int: Int]() for i in 0.. Void) { mutations(&value) } } class Box : Hashable, P { var value: T init(_ v: T) { value = v } var hashValue: Int { return value.hashValue } static func ==(lhs: Box, rhs: Box) -> Bool { return lhs.value == rhs.value } } @inline(never) public func run_DictionarySubscriptDefaultMutationOfObjects(_ N: Int) { for _ in 1...N { var dict = [Box: Box]() for i in 0..: [Box]]() for i in 0..