Skip to content

Commit 8144728

Browse files
authored
Merge pull request #18363 from eeckstein/fix-benchmarks2
2 parents d71ebcd + 7299894 commit 8144728

11 files changed

+57
-39
lines changed

benchmark/single-source/Calculator.swift

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,18 @@ func my_atoi_impl(_ input : String) -> Int {
3838
@inline(never)
3939
public func run_Calculator(_ N: Int) {
4040
var c = 0
41-
for _ in 1...N*5000 {
41+
for _ in 1...N*800 {
42+
c += my_atoi_impl(identity("1"))
43+
c += my_atoi_impl(identity("2"))
44+
c += my_atoi_impl(identity("3"))
45+
c += my_atoi_impl(identity("4"))
46+
c += my_atoi_impl(identity("5"))
47+
c += my_atoi_impl(identity("6"))
48+
c += my_atoi_impl(identity("7"))
49+
c += my_atoi_impl(identity("8"))
50+
c += my_atoi_impl(identity("9"))
4251
c += my_atoi_impl(identity("10"))
52+
c -= 45
4353
}
4454
CheckResults(c == 0)
4555
}

benchmark/single-source/Chars.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import TestsUtils
1515

1616
public let Chars = BenchmarkInfo(
17-
name: "Chars",
17+
name: "Chars2",
1818
runFunction: run_Chars,
1919
tags: [.validation, .api, .String],
2020
setUpFunction: { blackHole(alphabetInput) })
@@ -33,12 +33,14 @@ public func run_Chars(_ N: Int) {
3333
// Permute some characters.
3434
let alphabet: [Character] = alphabetInput
3535

36-
for _ in 0..<N {
36+
for _ in 0..<50*N {
3737
for firstChar in alphabet {
38-
for middleChar in alphabet {
39-
for lastChar in alphabet {
40-
_ = ((firstChar == middleChar) != (middleChar < lastChar))
41-
}
38+
for lastChar in alphabet {
39+
blackHole(firstChar < lastChar)
40+
blackHole(firstChar == lastChar)
41+
blackHole(firstChar > lastChar)
42+
blackHole(firstChar <= lastChar)
43+
blackHole(firstChar >= lastChar)
4244
}
4345
}
4446
}

benchmark/single-source/DropLast.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public let DropLast = [
2727
BenchmarkInfo(
2828
name: "DropLastCountableRange",
2929
runFunction: run_DropLastCountableRange,
30-
tags: [.validation, .api]),
30+
tags: [.validation, .api, .unstable]),
3131
BenchmarkInfo(
3232
name: "DropLastSequence",
3333
runFunction: run_DropLastSequence,
@@ -55,7 +55,7 @@ public let DropLast = [
5555
BenchmarkInfo(
5656
name: "DropLastCountableRangeLazy",
5757
runFunction: run_DropLastCountableRangeLazy,
58-
tags: [.validation, .api]),
58+
tags: [.validation, .api, .unstable]),
5959
BenchmarkInfo(
6060
name: "DropLastSequenceLazy",
6161
runFunction: run_DropLastSequenceLazy,

benchmark/single-source/DropLast.swift.gyb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ public let DropLast = [
4747
BenchmarkInfo(
4848
name: "DropLast${Name}",
4949
runFunction: run_DropLast${Name},
50-
tags: [.validation, .api${', .Array, .unstable' if Name == 'Array' or Name == 'ArrayLazy' else ''}]),
50+
tags: [.validation, .api${
51+
', .Array, .unstable' if Name == 'Array' or Name == 'ArrayLazy' else
52+
', .unstable' if 'CountableRange' in Name else ''}]),
5153
% end
5254
]
5355

benchmark/single-source/ObjectiveCBridgingStubs.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ public let ObjectiveCBridgingStubs = [
2020
BenchmarkInfo(name: "ObjectiveCBridgeStubDataAppend", runFunction: run_ObjectiveCBridgeStubDataAppend, tags: [.validation, .bridging]),
2121
BenchmarkInfo(name: "ObjectiveCBridgeStubDateAccess", runFunction: run_ObjectiveCBridgeStubDateAccess, tags: [.validation, .bridging, .unstable]),
2222
BenchmarkInfo(name: "ObjectiveCBridgeStubDateMutation", runFunction: run_ObjectiveCBridgeStubDateMutation, tags: [.validation, .bridging]),
23-
BenchmarkInfo(name: "ObjectiveCBridgeStubFromArrayOfNSString", runFunction: run_ObjectiveCBridgeStubFromArrayOfNSString, tags: [.validation, .bridging]),
24-
BenchmarkInfo(name: "ObjectiveCBridgeStubFromNSDate", runFunction: run_ObjectiveCBridgeStubFromNSDate, tags: [.validation, .bridging]),
23+
BenchmarkInfo(name: "ObjectiveCBridgeStubFromArrayOfNSString2", runFunction: run_ObjectiveCBridgeStubFromArrayOfNSString, tags: [.validation, .bridging]),
24+
BenchmarkInfo(name: "ObjectiveCBridgeStubFromNSDate", runFunction: run_ObjectiveCBridgeStubFromNSDate, tags: [.validation, .bridging, .unstable]),
2525
BenchmarkInfo(name: "ObjectiveCBridgeStubFromNSString", runFunction: run_ObjectiveCBridgeStubFromNSString, tags: [.validation, .bridging]),
26-
BenchmarkInfo(name: "ObjectiveCBridgeStubToArrayOfNSString", runFunction: run_ObjectiveCBridgeStubToArrayOfNSString, tags: [.validation, .bridging]),
27-
BenchmarkInfo(name: "ObjectiveCBridgeStubToNSDate", runFunction: run_ObjectiveCBridgeStubToNSDate, tags: [.validation, .bridging]),
26+
BenchmarkInfo(name: "ObjectiveCBridgeStubToArrayOfNSString2", runFunction: run_ObjectiveCBridgeStubToArrayOfNSString, tags: [.validation, .bridging]),
27+
BenchmarkInfo(name: "ObjectiveCBridgeStubToNSDate2", runFunction: run_ObjectiveCBridgeStubToNSDate, tags: [.validation, .bridging]),
2828
BenchmarkInfo(name: "ObjectiveCBridgeStubToNSString", runFunction: run_ObjectiveCBridgeStubToNSString, tags: [.validation, .bridging]),
29-
BenchmarkInfo(name: "ObjectiveCBridgeStubURLAppendPath", runFunction: run_ObjectiveCBridgeStubURLAppendPath, tags: [.validation, .bridging]),
29+
BenchmarkInfo(name: "ObjectiveCBridgeStubURLAppendPath2", runFunction: run_ObjectiveCBridgeStubURLAppendPath, tags: [.validation, .bridging]),
3030
]
3131

3232
#if _runtime(_ObjC)
@@ -80,7 +80,7 @@ func testObjectiveCBridgeStubFromArrayOfNSString() {
8080
let b = BridgeTester()
8181
var arr : [String] = []
8282
var str = ""
83-
for _ in 0 ..< 10_000 {
83+
for _ in 0 ..< 1_000 {
8484
arr = b.testToArrayOfStrings()
8585
str = arr[0]
8686
}
@@ -104,7 +104,7 @@ func testObjectiveCBridgeStubToArrayOfNSString() {
104104
let b = BridgeTester()
105105
let str = "hello world"
106106
let arr = [str, str, str, str, str, str, str, str, str, str]
107-
for _ in 0 ..< 10_000 {
107+
for _ in 0 ..< 1_000 {
108108
b.test(fromArrayOf: arr)
109109
}
110110
}
@@ -150,7 +150,7 @@ public func run_ObjectiveCBridgeStubFromNSDate(N: Int) {
150150
public func testObjectiveCBridgeStubToNSDate() {
151151
let b = BridgeTester()
152152
let d = Date()
153-
for _ in 0 ..< 100_000 {
153+
for _ in 0 ..< 1_000 {
154154
b.use(d)
155155
}
156156
}
@@ -159,7 +159,7 @@ public func testObjectiveCBridgeStubToNSDate() {
159159
@inline(never)
160160
public func run_ObjectiveCBridgeStubToNSDate(N: Int) {
161161
#if _runtime(_ObjC)
162-
for _ in 0 ..< N {
162+
for _ in 0 ..< 10 * N {
163163
autoreleasepool {
164164
testObjectiveCBridgeStubToNSDate()
165165
}
@@ -214,7 +214,7 @@ public func run_ObjectiveCBridgeStubDateMutation(N: Int) {
214214
@inline(never)
215215
func testObjectiveCBridgeStubURLAppendPath() {
216216
let startUrl = URL(string: "/")!
217-
for _ in 0 ..< 10_000 {
217+
for _ in 0 ..< 100 {
218218
var url = startUrl
219219
for _ in 0 ..< 10 {
220220
url.appendPathComponent("foo")

benchmark/single-source/ObjectiveCNoBridgingStubs.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ import ObjectiveCTests
2323

2424
public let ObjectiveCNoBridgingStubs = [
2525
BenchmarkInfo(name: "ObjectiveCBridgeStubToNSStringRef", runFunction: run_ObjectiveCBridgeStubToNSStringRef, tags: [.validation, .bridging]),
26-
BenchmarkInfo(name: "ObjectiveCBridgeStubToNSDateRef", runFunction: run_ObjectiveCBridgeStubToNSDateRef, tags: [.validation, .bridging]),
26+
BenchmarkInfo(name: "ObjectiveCBridgeStubToNSDateRef", runFunction: run_ObjectiveCBridgeStubToNSDateRef, tags: [.validation, .bridging, .unstable]),
2727
BenchmarkInfo(name: "ObjectiveCBridgeStubNSDateRefAccess", runFunction: run_ObjectiveCBridgeStubNSDateRefAccess, tags: [.validation, .bridging, .unstable]),
28-
BenchmarkInfo(name: "ObjectiveCBridgeStubNSDateMutationRef", runFunction: run_ObjectiveCBridgeStubNSDateMutationRef, tags: [.validation, .bridging]),
28+
BenchmarkInfo(name: "ObjectiveCBridgeStubNSDateMutationRef", runFunction: run_ObjectiveCBridgeStubNSDateMutationRef, tags: [.validation, .bridging, .unstable]),
2929
BenchmarkInfo(name: "ObjectiveCBridgeStubNSDataAppend", runFunction: run_ObjectiveCBridgeStubNSDataAppend, tags: [.validation, .bridging]),
30-
BenchmarkInfo(name: "ObjectiveCBridgeStubFromNSStringRef", runFunction: run_ObjectiveCBridgeStubFromNSStringRef, tags: [.validation, .bridging]),
30+
BenchmarkInfo(name: "ObjectiveCBridgeStubFromNSStringRef", runFunction: run_ObjectiveCBridgeStubFromNSStringRef, tags: [.validation, .bridging, .unstable]),
3131
BenchmarkInfo(name: "ObjectiveCBridgeStubFromNSDateRef", runFunction: run_ObjectiveCBridgeStubFromNSDateRef, tags: [.validation, .bridging, .unstable]),
32-
BenchmarkInfo(name: "ObjectiveCBridgeStubURLAppendPathRef", runFunction: run_ObjectiveCBridgeStubURLAppendPathRef, tags: [.validation, .bridging]),
32+
BenchmarkInfo(name: "ObjectiveCBridgeStubURLAppendPathRef2", runFunction: run_ObjectiveCBridgeStubURLAppendPathRef, tags: [.validation, .bridging]),
3333
]
3434

3535
#if _runtime(_ObjC)
@@ -104,7 +104,7 @@ public func run_ObjectiveCBridgeStubFromNSDateRef(N: Int) {
104104
public func testObjectiveCBridgeStubToNSDateRef() {
105105
let b = BridgeTester()
106106
let d = NSDate()
107-
for _ in 0 ..< 100_000 {
107+
for _ in 0 ..< 1_000 {
108108
b.use(d)
109109
}
110110
}
@@ -113,7 +113,7 @@ public func testObjectiveCBridgeStubToNSDateRef() {
113113
@inline(never)
114114
public func run_ObjectiveCBridgeStubToNSDateRef(N: Int) {
115115
#if _runtime(_ObjC)
116-
for _ in 0 ..< N {
116+
for _ in 0 ..< 100 * N {
117117
autoreleasepool {
118118
testObjectiveCBridgeStubToNSDateRef()
119119
}
@@ -148,7 +148,7 @@ public func run_ObjectiveCBridgeStubNSDateRefAccess(N: Int) {
148148
@inline(never)
149149
func testObjectiveCBridgeStubNSDateMutationRef() {
150150
var d = NSDate()
151-
for _ in 0 ..< 100_000 {
151+
for _ in 0 ..< 100 {
152152
d = d.addingTimeInterval(1)
153153
}
154154
}
@@ -157,7 +157,7 @@ func testObjectiveCBridgeStubNSDateMutationRef() {
157157
@inline(never)
158158
public func run_ObjectiveCBridgeStubNSDateMutationRef(N: Int) {
159159
#if _runtime(_ObjC)
160-
for _ in 0 ..< N {
160+
for _ in 0 ..< 100 * N {
161161
autoreleasepool {
162162
testObjectiveCBridgeStubNSDateMutationRef()
163163
}
@@ -169,7 +169,7 @@ public func run_ObjectiveCBridgeStubNSDateMutationRef(N: Int) {
169169
@inline(never)
170170
func testObjectiveCBridgeStubURLAppendPathRef() {
171171
let startUrl = URL(string: "/")!
172-
for _ in 0 ..< 10_000 {
172+
for _ in 0 ..< 100 {
173173
var url = startUrl
174174
for _ in 0 ..< 10 {
175175
url = url.appendingPathComponent("foo")

benchmark/single-source/PrefixWhile.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public let PrefixWhile = [
2626
BenchmarkInfo(
2727
name: "PrefixWhileCountableRange",
2828
runFunction: run_PrefixWhileCountableRange,
29-
tags: [.validation, .api]),
29+
tags: [.validation, .api, .unstable]),
3030
BenchmarkInfo(
3131
name: "PrefixWhileSequence",
3232
runFunction: run_PrefixWhileSequence,
@@ -38,7 +38,7 @@ public let PrefixWhile = [
3838
BenchmarkInfo(
3939
name: "PrefixWhileAnySeqCntRange",
4040
runFunction: run_PrefixWhileAnySeqCntRange,
41-
tags: [.validation, .api]),
41+
tags: [.validation, .api, .unstable]),
4242
BenchmarkInfo(
4343
name: "PrefixWhileAnySeqCRangeIter",
4444
runFunction: run_PrefixWhileAnySeqCRangeIter,
@@ -54,7 +54,7 @@ public let PrefixWhile = [
5454
BenchmarkInfo(
5555
name: "PrefixWhileCountableRangeLazy",
5656
runFunction: run_PrefixWhileCountableRangeLazy,
57-
tags: [.validation, .api]),
57+
tags: [.validation, .api, .unstable]),
5858
BenchmarkInfo(
5959
name: "PrefixWhileSequenceLazy",
6060
runFunction: run_PrefixWhileSequenceLazy,
@@ -66,7 +66,7 @@ public let PrefixWhile = [
6666
BenchmarkInfo(
6767
name: "PrefixWhileAnySeqCntRangeLazy",
6868
runFunction: run_PrefixWhileAnySeqCntRangeLazy,
69-
tags: [.validation, .api]),
69+
tags: [.validation, .api, .unstable]),
7070
BenchmarkInfo(
7171
name: "PrefixWhileAnySeqCRangeIterLazy",
7272
runFunction: run_PrefixWhileAnySeqCRangeIterLazy,

benchmark/single-source/PrefixWhile.swift.gyb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ public let PrefixWhile = [
4646
BenchmarkInfo(
4747
name: "PrefixWhile${Name}",
4848
runFunction: run_PrefixWhile${Name},
49-
tags: [.validation, .api${', .Array' if Name == 'Array' else ''}]),
49+
tags: [.validation, .api${
50+
', .Array' if Name == 'Array' else
51+
', .unstable' if 'CountableRange' in Name or 'AnySeqCntRange' in Name else ''}]),
5052
% end
5153
]
5254

benchmark/single-source/Suffix.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public let Suffix = [
2626
BenchmarkInfo(
2727
name: "SuffixCountableRange",
2828
runFunction: run_SuffixCountableRange,
29-
tags: [.validation, .api]),
29+
tags: [.validation, .api, .unstable]),
3030
BenchmarkInfo(
3131
name: "SuffixSequence",
3232
runFunction: run_SuffixSequence,
@@ -54,7 +54,7 @@ public let Suffix = [
5454
BenchmarkInfo(
5555
name: "SuffixCountableRangeLazy",
5656
runFunction: run_SuffixCountableRangeLazy,
57-
tags: [.validation, .api]),
57+
tags: [.validation, .api, .unstable]),
5858
BenchmarkInfo(
5959
name: "SuffixSequenceLazy",
6060
runFunction: run_SuffixSequenceLazy,

benchmark/single-source/Suffix.swift.gyb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ public let Suffix = [
4646
BenchmarkInfo(
4747
name: "Suffix${Name}",
4848
runFunction: run_Suffix${Name},
49-
tags: [.validation, .api${', .Array, .unstable' if Name == 'Array' or Name == 'ArrayLazy' else ''}]),
49+
tags: [.validation, .api${
50+
', .Array, .unstable' if Name == 'Array' or Name == 'ArrayLazy' else
51+
', .unstable' if 'CountableRange' in Name else ''}]),
5052
% end
5153
]
5254

benchmark/single-source/WordCount.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ public let WordCount = [
2626
BenchmarkInfo(
2727
name: "WordSplitASCII",
2828
runFunction: run_WordSplitASCII,
29-
tags: [.validation, .api, .String, .algorithm],
29+
tags: [.validation, .api, .String, .algorithm, .unstable],
3030
setUpFunction: { buildWorkload() }
3131
),
3232
BenchmarkInfo(
3333
name: "WordSplitUTF16",
3434
runFunction: run_WordSplitUTF16,
35-
tags: [.validation, .api, .String, .algorithm],
35+
tags: [.validation, .api, .String, .algorithm, .unstable],
3636
setUpFunction: { buildWorkload() }
3737
),
3838
BenchmarkInfo(

0 commit comments

Comments
 (0)