Skip to content

Commit 336d63f

Browse files
authored
Merge pull request #32551 from natecook1000/nate/substring_removefirst
2 parents a3a20d9 + e49a5b7 commit 336d63f

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

benchmark/single-source/Substring.swift

+13-11
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public let SubstringTest = [
1717
BenchmarkInfo(name: "EqualSubstringString", runFunction: run_EqualSubstringString, tags: [.validation, .api, .String]),
1818
BenchmarkInfo(name: "EqualSubstringSubstring", runFunction: run_EqualSubstringSubstring, tags: [.validation, .api, .String]),
1919
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]),
2222
BenchmarkInfo(name: "LessSubstringSubstring", runFunction: run_LessSubstringSubstring, tags: [.validation, .api, .String]),
2323
BenchmarkInfo(name: "LessSubstringSubstringGenericComparable", runFunction: run_LessSubstringSubstringGenericComparable, tags: [.validation, .api, .String]),
2424
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ὢ
3636
let (s1, ss1) = equivalentWithDistinctBuffers()
3737
let (s2, ss2) = equivalentWithDistinctBuffers()
3838

39-
let quiteLong = String(repeating: "0", count: 15_000)[...]
39+
let quiteLong = String(repeating: "0", count: 10_000)[...]
4040

4141
@inline(never)
4242
public func run_SubstringFromLongString(_ N: Int) {
@@ -131,18 +131,20 @@ public func run_EqualSubstringSubstringGenericEquatable(_ N: Int) {
131131
}
132132

133133
@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")
138139
}
139140
}
140141

141142
@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")
146148
}
147149
}
148150

0 commit comments

Comments
 (0)