|
12 | 12 |
|
13 | 13 | import TestsUtils
|
14 | 14 |
|
15 |
| -public let benchmarks = [ |
16 |
| - BenchmarkInfo(name: "EqualStringSubstring", runFunction: run_EqualStringSubstring, tags: [.validation, .api, .String]), |
17 |
| - BenchmarkInfo(name: "EqualSubstringString", runFunction: run_EqualSubstringString, tags: [.validation, .api, .String]), |
18 |
| - BenchmarkInfo(name: "EqualSubstringSubstring", runFunction: run_EqualSubstringSubstring, tags: [.validation, .api, .String]), |
19 |
| - BenchmarkInfo(name: "EqualSubstringSubstringGenericEquatable", runFunction: run_EqualSubstringSubstringGenericEquatable, tags: [.validation, .api, .String]), |
20 |
| - BenchmarkInfo(name: "SubstringRemoveFirst1", runFunction: run_SubstringRemoveFirst1, tags: [.validation, .api, .String]), |
21 |
| - BenchmarkInfo(name: "SubstringRemoveLast1", runFunction: run_SubstringRemoveLast1, tags: [.validation, .api, .String]), |
22 |
| - BenchmarkInfo(name: "LessSubstringSubstring", runFunction: run_LessSubstringSubstring, tags: [.validation, .api, .String]), |
23 |
| - BenchmarkInfo(name: "LessSubstringSubstringGenericComparable", runFunction: run_LessSubstringSubstringGenericComparable, tags: [.validation, .api, .String]), |
24 |
| - BenchmarkInfo(name: "StringFromLongWholeSubstring", runFunction: run_StringFromLongWholeSubstring, tags: [.validation, .api, .String]), |
25 |
| - BenchmarkInfo(name: "StringFromLongWholeSubstringGeneric", runFunction: run_StringFromLongWholeSubstringGeneric, tags: [.validation, .api, .String]), |
26 |
| - BenchmarkInfo(name: "SubstringComparable", runFunction: run_SubstringComparable, tags: [.validation, .api, .String], |
27 |
| - setUpFunction: { blackHole(_comparison) }), |
28 |
| - BenchmarkInfo(name: "SubstringEqualString", runFunction: run_SubstringEqualString, tags: [.validation, .api, .String]), |
29 |
| - BenchmarkInfo(name: "SubstringEquatable", runFunction: run_SubstringEquatable, tags: [.validation, .api, .String]), |
30 |
| - BenchmarkInfo(name: "SubstringFromLongString2", runFunction: run_SubstringFromLongString, tags: [.validation, .api, .String]), |
31 |
| - BenchmarkInfo(name: "SubstringFromLongStringGeneric2", runFunction: run_SubstringFromLongStringGeneric, tags: [.validation, .api, .String]), |
32 |
| - BenchmarkInfo(name: "SubstringTrimmingASCIIWhitespace", runFunction: run_SubstringTrimmingASCIIWhitespace, tags: [.validation, .api, .String]), |
33 |
| -] |
| 15 | +public var benchmarks: [BenchmarkInfo] { |
| 16 | + var result = [ |
| 17 | + BenchmarkInfo(name: "EqualStringSubstring", runFunction: run_EqualStringSubstring, tags: [.validation, .api, .String]), |
| 18 | + BenchmarkInfo(name: "EqualSubstringString", runFunction: run_EqualSubstringString, tags: [.validation, .api, .String]), |
| 19 | + BenchmarkInfo(name: "EqualSubstringSubstring", runFunction: run_EqualSubstringSubstring, tags: [.validation, .api, .String]), |
| 20 | + BenchmarkInfo(name: "EqualSubstringSubstringGenericEquatable", runFunction: run_EqualSubstringSubstringGenericEquatable, tags: [.validation, .api, .String]), |
| 21 | + BenchmarkInfo(name: "SubstringRemoveFirst1", runFunction: run_SubstringRemoveFirst1, tags: [.validation, .api, .String]), |
| 22 | + BenchmarkInfo(name: "SubstringRemoveLast1", runFunction: run_SubstringRemoveLast1, tags: [.validation, .api, .String]), |
| 23 | + BenchmarkInfo(name: "LessSubstringSubstring", runFunction: run_LessSubstringSubstring, tags: [.validation, .api, .String]), |
| 24 | + BenchmarkInfo(name: "LessSubstringSubstringGenericComparable", runFunction: run_LessSubstringSubstringGenericComparable, tags: [.validation, .api, .String]), |
| 25 | + BenchmarkInfo(name: "StringFromLongWholeSubstring", runFunction: run_StringFromLongWholeSubstring, tags: [.validation, .api, .String]), |
| 26 | + BenchmarkInfo(name: "StringFromLongWholeSubstringGeneric", runFunction: run_StringFromLongWholeSubstringGeneric, tags: [.validation, .api, .String]), |
| 27 | + BenchmarkInfo(name: "SubstringComparable", runFunction: run_SubstringComparable, tags: [.validation, .api, .String], |
| 28 | + setUpFunction: { blackHole(_comparison) }), |
| 29 | + BenchmarkInfo(name: "SubstringEqualString", runFunction: run_SubstringEqualString, tags: [.validation, .api, .String]), |
| 30 | + BenchmarkInfo(name: "SubstringEquatable", runFunction: run_SubstringEquatable, tags: [.validation, .api, .String]), |
| 31 | + BenchmarkInfo(name: "SubstringFromLongString2", runFunction: run_SubstringFromLongString, tags: [.validation, .api, .String]), |
| 32 | + BenchmarkInfo(name: "SubstringFromLongStringGeneric2", runFunction: run_SubstringFromLongStringGeneric, tags: [.validation, .api, .String]), |
| 33 | + BenchmarkInfo(name: "SubstringTrimmingASCIIWhitespace", runFunction: run_SubstringTrimmingASCIIWhitespace, tags: [.validation, .api, .String]), |
| 34 | + ] |
| 35 | + |
| 36 | + if #available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, visionOS 9999, *) { |
| 37 | + result.append( |
| 38 | + BenchmarkInfo( |
| 39 | + name: "SubstringIdentical", |
| 40 | + runFunction: run_SubstringIdentical, |
| 41 | + tags: [.validation, .String])) |
| 42 | + } |
| 43 | + return result |
| 44 | +} |
34 | 45 |
|
35 | 46 | // A string that doesn't fit in small string storage and doesn't fit in Latin-1
|
36 | 47 | let longWide = "fὢasὢodὢijὢadὢolὢsjὢalὢsdὢjlὢasὢdfὢijὢliὢsdὢjøὢslὢdiὢalὢiὢ"
|
@@ -332,3 +343,12 @@ public func run _LessSubstringSubstringGenericStringProtocol(_ n: Int) {
|
332 | 343 | }
|
333 | 344 | }
|
334 | 345 | */
|
| 346 | + |
| 347 | +@inline(never) |
| 348 | +@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, visionOS 9999, *) |
| 349 | +public func run_SubstringIdentical(_ n: Int) { |
| 350 | + let (a, b) = (ss1, ss1) |
| 351 | + for _ in 1...n*500 { |
| 352 | + blackHole(a.isIdentical(to: b)) |
| 353 | + } |
| 354 | +} |
0 commit comments