//===--- MapReduce.swift --------------------------------------------------===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2014 - 2021 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 import Foundation let t: [BenchmarkCategory] = [.validation, .algorithm] let ts: [BenchmarkCategory] = [.validation, .algorithm, .String] public let benchmarks = [ BenchmarkInfo(name: "MapReduce", runFunction: run_MapReduce, tags: t), BenchmarkInfo(name: "MapReduceAnyCollection", runFunction: run_MapReduceAnyCollection, tags: t), BenchmarkInfo(name: "MapReduceAnyCollectionShort", runFunction: run_MapReduceAnyCollectionShort, tags: t, legacyFactor: 10), BenchmarkInfo(name: "MapReduceClass2", runFunction: run_MapReduceClass, tags: t, setUpFunction: { boxedNumbers(1000) }, tearDownFunction: releaseDecimals), BenchmarkInfo(name: "MapReduceClassShort2", runFunction: run_MapReduceClassShort, tags: t, setUpFunction: { boxedNumbers(10) }, tearDownFunction: releaseDecimals), BenchmarkInfo(name: "MapReduceNSDecimalNumber", runFunction: run_MapReduceNSDecimalNumber, tags: t, setUpFunction: { decimals(1000) }, tearDownFunction: releaseDecimals), BenchmarkInfo(name: "MapReduceNSDecimalNumberShort", runFunction: run_MapReduceNSDecimalNumberShort, tags: t, setUpFunction: { decimals(10) }, tearDownFunction: releaseDecimals), BenchmarkInfo(name: "MapReduceLazyCollection", runFunction: run_MapReduceLazyCollection, tags: t), BenchmarkInfo(name: "MapReduceLazyCollectionShort", runFunction: run_MapReduceLazyCollectionShort, tags: t), BenchmarkInfo(name: "MapReduceLazySequence", runFunction: run_MapReduceLazySequence, tags: t), BenchmarkInfo(name: "MapReduceSequence", runFunction: run_MapReduceSequence, tags: t), BenchmarkInfo(name: "MapReduceShort", runFunction: run_MapReduceShort, tags: t, legacyFactor: 10), BenchmarkInfo(name: "MapReduceShortString", runFunction: run_MapReduceShortString, tags: ts), BenchmarkInfo(name: "MapReduceString", runFunction: run_MapReduceString, tags: ts), ] #if _runtime(_ObjC) var decimals : [NSDecimalNumber]! func decimals(_ n: Int) { decimals = (0..