@@ -17,8 +17,8 @@ public let SubstringTest = [
17
17
BenchmarkInfo ( name: " EqualSubstringString " , runFunction: run_EqualSubstringString, tags: [ . validation, . api, . String] ) ,
18
18
BenchmarkInfo ( name: " EqualSubstringSubstring " , runFunction: run_EqualSubstringSubstring, tags: [ . validation, . api, . String] ) ,
19
19
BenchmarkInfo ( name: " EqualSubstringSubstringGenericEquatable " , runFunction: run_EqualSubstringSubstringGenericEquatable, tags: [ . validation, . api, . String] ) ,
20
- BenchmarkInfo ( name: " SubstringDropFirst1 " , runFunction: run_SubstringDropFirst1 , tags: [ . validation, . api, . String] ) ,
21
- BenchmarkInfo ( name: " SubstringDropLast1 " , runFunction: run_SubstringDropLast1 , 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
22
BenchmarkInfo ( name: " LessSubstringSubstring " , runFunction: run_LessSubstringSubstring, tags: [ . validation, . api, . String] ) ,
23
23
BenchmarkInfo ( name: " LessSubstringSubstringGenericComparable " , runFunction: run_LessSubstringSubstringGenericComparable, tags: [ . validation, . api, . String] ) ,
24
24
BenchmarkInfo ( name: " StringFromLongWholeSubstring " , runFunction: run_StringFromLongWholeSubstring, tags: [ . validation, . api, . String] ) ,
@@ -36,7 +36,7 @@ let longWide = "fὢasὢodὢijὢadὢolὢsjὢalὢsdὢjlὢasὢdfὢijὢ
36
36
let ( s1, ss1) = equivalentWithDistinctBuffers ( )
37
37
let ( s2, ss2) = equivalentWithDistinctBuffers ( )
38
38
39
- let quiteLong = String ( repeating: " 0 " , count: 15_000 ) [ ... ]
39
+ let quiteLong = String ( repeating: " 0 " , count: 10_000 ) [ ... ]
40
40
41
41
@inline ( never)
42
42
public func run_SubstringFromLongString( _ N: Int ) {
@@ -131,18 +131,20 @@ public func run_EqualSubstringSubstringGenericEquatable(_ N: Int) {
131
131
}
132
132
133
133
@inline ( never)
134
- public func run_SubstringDropFirst1( _ N: Int ) {
135
- let s = quiteLong
136
- for _ in 1 ... N*1000 {
137
- blackHole ( !s. dropFirst ( 1 ) . isEmpty)
134
+ public func run_SubstringRemoveFirst1( _ N: Int ) {
135
+ for _ in 1 ... N {
136
+ var s = quiteLong
137
+ s. removeFirst ( 1 )
138
+ blackHole ( s. first == " 0 " )
138
139
}
139
140
}
140
141
141
142
@inline ( never)
142
- public func run_SubstringDropLast1( _ N: Int ) {
143
- let s = quiteLong
144
- for _ in 1 ... N*1000 {
145
- blackHole ( !s. dropLast ( 1 ) . isEmpty)
143
+ public func run_SubstringRemoveLast1( _ N: Int ) {
144
+ for _ in 1 ... N {
145
+ var s = quiteLong
146
+ s. removeLast ( 1 )
147
+ blackHole ( s. first == " 0 " )
146
148
}
147
149
}
148
150
0 commit comments