@@ -17,43 +17,53 @@ public let benchmarks = [
1717 BenchmarkInfo (
1818 name: " UTF16Decode " ,
1919 runFunction: run_UTF16Decode,
20- tags: [ . validation, . api, . String] ) ,
20+ tags: [ . validation, . api, . String] ,
21+ setUpFunction: setUp) ,
2122 BenchmarkInfo (
2223 name: " UTF16Decode.initFromCustom.cont " ,
2324 runFunction: run_UTF16Decode_InitFromCustom_contiguous,
24- tags: [ . validation, . api, . String] ) ,
25+ tags: [ . validation, . api, . String] ,
26+ setUpFunction: setUp) ,
2527 BenchmarkInfo (
2628 name: " UTF16Decode.initFromCustom.cont.ascii " ,
2729 runFunction: run_UTF16Decode_InitFromCustom_contiguous_ascii,
28- tags: [ . validation, . api, . String, . skip] ) ,
30+ tags: [ . validation, . api, . String, . skip] ,
31+ setUpFunction: setUp) ,
2932 BenchmarkInfo (
3033 name: " UTF16Decode.initFromCustom.noncont " ,
3134 runFunction: run_UTF16Decode_InitFromCustom_noncontiguous,
32- tags: [ . validation, . api, . String] ) ,
35+ tags: [ . validation, . api, . String] ,
36+ setUpFunction: setUp) ,
3337 BenchmarkInfo (
3438 name: " UTF16Decode.initFromCustom.noncont.ascii " ,
3539 runFunction: run_UTF16Decode_InitFromCustom_noncontiguous_ascii,
36- tags: [ . validation, . api, . String, . skip] ) ,
40+ tags: [ . validation, . api, . String, . skip] ,
41+ setUpFunction: setUp) ,
3742 BenchmarkInfo (
3843 name: " UTF16Decode.initFromData " ,
3944 runFunction: run_UTF16Decode_InitFromData,
40- tags: [ . validation, . api, . String] ) ,
45+ tags: [ . validation, . api, . String] ,
46+ setUpFunction: setUp) ,
4147 BenchmarkInfo (
4248 name: " UTF16Decode.initDecoding " ,
4349 runFunction: run_UTF16Decode_InitDecoding,
44- tags: [ . validation, . api, . String] ) ,
50+ tags: [ . validation, . api, . String] ,
51+ setUpFunction: setUp) ,
4552 BenchmarkInfo (
4653 name: " UTF16Decode.initFromData.ascii " ,
4754 runFunction: run_UTF16Decode_InitFromData_ascii,
48- tags: [ . validation, . api, . String, . skip] ) ,
55+ tags: [ . validation, . api, . String, . skip] ,
56+ setUpFunction: setUp) ,
4957 BenchmarkInfo (
5058 name: " UTF16Decode.initDecoding.ascii " ,
5159 runFunction: run_UTF16Decode_InitDecoding_ascii,
52- tags: [ . validation, . api, . String, . skip] ) ,
60+ tags: [ . validation, . api, . String, . skip] ,
61+ setUpFunction: setUp) ,
5362 BenchmarkInfo (
5463 name: " UTF16Decode.initFromData.asciiAsAscii " ,
5564 runFunction: run_UTF16Decode_InitFromData_ascii_as_ascii,
56- tags: [ . validation, . api, . String, . skip] ) ,
65+ tags: [ . validation, . api, . String, . skip] ,
66+ setUpFunction: setUp) ,
5767]
5868
5969typealias CodeUnit = UInt16
@@ -76,6 +86,17 @@ let allStrings: [[CodeUnit]] = [ascii, russian, japanese, emoji].map { Array($0.
7686let allStringsCodeUnits : [ CodeUnit ] = Array ( allStrings. joined ( ) )
7787let allStringsData : Data = allStringsCodeUnits. withUnsafeBytes { Data ( $0) }
7888
89+ func setUp( ) {
90+ blackHole ( asciiCodeUnits)
91+ blackHole ( asciiData)
92+ blackHole ( allStrings)
93+ blackHole ( allStringsCodeUnits)
94+ blackHole ( allStringsData)
95+ blackHole ( allStringsCustomContiguous)
96+ blackHole ( asciiCustomContiguous)
97+ blackHole ( allStringsCustomNoncontiguous)
98+ blackHole ( asciiCustomNoncontiguous)
99+ }
79100
80101@inline ( never)
81102public func run_UTF16Decode( _ N: Int ) {
0 commit comments