Skip to content

Commit 7db46b3

Browse files
committed
[benchmark] Inlined loop miltipliers
Also added 2 forgotten legacy factors.
1 parent 1df944c commit 7db46b3

File tree

1 file changed

+51
-48
lines changed

1 file changed

+51
-48
lines changed

benchmark/single-source/DataBenchmarks.swift

Lines changed: 51 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,25 @@ import Foundation
1515

1616
let d: [BenchmarkCategory] = [.validation, .api, .Data]
1717

18-
/// Workload scaling: Inner loop multipliers
19-
let M = 10_000 /// default
20-
let I = 100_000 /// Data initialization
21-
let S = 200 /// String conversions
22-
2318
public let DataBenchmarks = [
2419
BenchmarkInfo(name: "DataCreateEmpty",
25-
runFunction: { for _ in 0..<$0*I/10 { blackHole(Data()) } },
20+
runFunction: { for _ in 0..<$0*10_000 { blackHole(Data()) } },
2621
tags: d, legacyFactor: 10),
2722
BenchmarkInfo(name: "DataCreateSmall",
28-
runFunction: { for _ in 0..<$0*I/1000 { blackHole(sampleData(.small)) } },
23+
runFunction: { for _ in 0..<$0*100 { blackHole(sampleData(.small)) } },
2924
tags: d, legacyFactor: 1000),
3025
BenchmarkInfo(name: "DataCreateMedium",
31-
runFunction: { for _ in 0..<$0*M/100 { blackHole(sampleData(.medium)) } },
26+
runFunction: { for _ in 0..<$0*100 { blackHole(sampleData(.medium)) } },
3227
tags: d, legacyFactor: 100),
3328

3429
BenchmarkInfo(name: "DataCreateEmptyArray",
35-
runFunction: { for _ in 0..<$0*I/50 { blackHole(Data([])) } }, tags: d,
30+
runFunction: { for _ in 0..<$0*2_000 { blackHole(Data([])) } }, tags: d,
3631
legacyFactor: 50),
3732
BenchmarkInfo(name: "DataCreateSmallArray",
38-
runFunction: { for _ in 0..<$0*I/50 { blackHole(Data(
33+
runFunction: { for _ in 0..<$0*2_000 { blackHole(Data(
3934
[0, 1, 2, 3, 4, 5, 6])) } }, tags: d, legacyFactor: 50),
4035
BenchmarkInfo(name: "DataCreateMediumArray",
41-
runFunction: { for _ in 0..<$0*M/20 { blackHole(Data([
36+
runFunction: { for _ in 0..<$0*500 { blackHole(Data([
4237
0, 1, 2, 3, 4, 5, 6,
4338
0, 1, 2, 3, 4, 5, 6,
4439
0, 1, 2, 3, 4, 5, 6,
@@ -47,117 +42,125 @@ public let DataBenchmarks = [
4742

4843
BenchmarkInfo(name: "DataSubscriptSmall",
4944
runFunction: { let data = small
50-
for _ in 0..<$0*M { blackHole(data[1]) } }, tags: d),
45+
for _ in 0..<$0*10_000 { blackHole(data[1]) } }, tags: d),
5146
BenchmarkInfo(name: "DataSubscriptMedium",
5247
runFunction: { let data = medium
53-
for _ in 0..<$0*M { blackHole(data[521]) } }, tags: d),
48+
for _ in 0..<$0*10_000 { blackHole(data[521]) } }, tags: d),
5449

5550
BenchmarkInfo(name: "DataCountSmall",
56-
runFunction: { count($0*M, data: small) }, tags: d),
51+
runFunction: { count($0*10_000, data: small) }, tags: d),
5752
BenchmarkInfo(name: "DataCountMedium",
58-
runFunction: { count($0*M, data: medium) }, tags: d),
53+
runFunction: { count($0*10_000, data: medium) }, tags: d),
5954

6055
BenchmarkInfo(name: "DataSetCountSmall",
61-
runFunction: { setCount($0*M, data: small, extra: 3) }, tags: d),
56+
runFunction: { setCount($0*10_000, data: small, extra: 3) }, tags: d),
6257
BenchmarkInfo(name: "DataSetCountMedium",
63-
runFunction: { setCount($0*M/10, data: medium, extra: 100) }, tags: d,
58+
runFunction: { setCount($0*1_000, data: medium, extra: 100) }, tags: d,
6459
legacyFactor: 10),
6560

6661
BenchmarkInfo(name: "DataAccessBytesSmall",
67-
runFunction: { withUnsafeBytes($0*M, data: small) }, tags: d),
62+
runFunction: { withUnsafeBytes($0*10_000, data: small) }, tags: d),
6863
BenchmarkInfo(name: "DataAccessBytesMedium",
69-
runFunction: { withUnsafeBytes($0*M, data: medium) }, tags: d),
64+
runFunction: { withUnsafeBytes($0*10_000, data: medium) }, tags: d),
7065

7166
BenchmarkInfo(name: "DataMutateBytesSmall",
72-
runFunction: { withUnsafeMutableBytes($0*M/20, data: small) }, tags: d,
67+
runFunction: { withUnsafeMutableBytes($0*500, data: small) }, tags: d,
7368
legacyFactor: 20),
7469
BenchmarkInfo(name: "DataMutateBytesMedium",
75-
runFunction: { withUnsafeMutableBytes($0*M/20, data: medium) }, tags: d,
70+
runFunction: { withUnsafeMutableBytes($0*500, data: medium) }, tags: d,
7671
legacyFactor: 20),
7772

7873
BenchmarkInfo(name: "DataCopyBytesSmall",
79-
runFunction: { copyBytes($0*M, data: small) }, tags: d),
74+
runFunction: { copyBytes($0*10_000, data: small) }, tags: d),
8075
BenchmarkInfo(name: "DataCopyBytesMedium",
81-
runFunction: { copyBytes($0*M/2, data: medium) }, tags: d,
76+
runFunction: { copyBytes($0*5_000, data: medium) }, tags: d,
8277
legacyFactor: 2),
8378

8479
BenchmarkInfo(name: "DataAppendBytesSmall",
85-
runFunction: { append($0*M, bytes: 3, to: small) }, tags: d),
80+
runFunction: { append($0*10_000, bytes: 3, to: small) }, tags: d),
8681
BenchmarkInfo(name: "DataAppendBytesMedium",
87-
runFunction: { append($0*M/20, bytes: 809, to: medium) }, tags: d,
82+
runFunction: { append($0*500, bytes: 809, to: medium) }, tags: d,
8883
legacyFactor: 20),
8984

9085
BenchmarkInfo(name: "DataAppendArray",
91-
runFunction: { append($0*M/100, arraySize: 809, to: medium) }, tags: d,
86+
runFunction: { append($0*100, arraySize: 809, to: medium) }, tags: d,
9287
legacyFactor: 100),
9388

9489
BenchmarkInfo(name: "DataReset",
95-
runFunction: { resetBytes($0*M/100, in: 431..<809, data: medium) },
90+
runFunction: { resetBytes($0*100, in: 431..<809, data: medium) },
9691
tags: d, legacyFactor: 100),
9792

9893
BenchmarkInfo(name: "DataReplaceSmall", runFunction: {
99-
replace($0*M/100, data: medium, subrange:431..<809, with: small) },
94+
replace($0*100, data: medium, subrange:431..<809, with: small) },
10095
tags: d, legacyFactor: 100),
10196
BenchmarkInfo(name: "DataReplaceMedium", runFunction: {
102-
replace($0*M/100, data: medium, subrange:431..<809, with: medium) },
97+
replace($0*100, data: medium, subrange:431..<809, with: medium) },
10398
tags: d, legacyFactor: 100),
10499
BenchmarkInfo(name: "DataReplaceLarge", runFunction: {
105-
replace($0*M/100, data: medium, subrange:431..<809, with: large) },
100+
replace($0*100, data: medium, subrange:431..<809, with: large) },
106101
tags: d, legacyFactor: 100),
107102

108103
BenchmarkInfo(name: "DataReplaceSmallBuffer", runFunction: {
109-
replaceBuffer($0*M/100, data: medium, subrange:431..<809, with: small) },
104+
replaceBuffer($0*100, data: medium, subrange:431..<809, with: small) },
110105
tags: d, legacyFactor: 100),
111106
BenchmarkInfo(name: "DataReplaceMediumBuffer", runFunction: {
112-
replaceBuffer($0*M/100, data: medium, subrange:431..<809, with: medium) },
107+
replaceBuffer($0*100, data: medium, subrange:431..<809, with: medium) },
113108
tags: d, legacyFactor: 100),
114109
BenchmarkInfo(name: "DataReplaceLargeBuffer", runFunction: {
115110
replaceBuffer($0*10, data: medium, subrange:431..<809, with: large) },
116111
tags: d),
117112

118113
BenchmarkInfo(name: "DataAppendSequence",
119-
runFunction: { append($0*M/100, sequenceLength: 809, to: medium) },
114+
runFunction: { append($0*100, sequenceLength: 809, to: medium) },
120115
tags: d, legacyFactor: 100),
121116

122117
BenchmarkInfo(name: "DataAppendDataSmallToSmall",
123-
runFunction: { append($0*M/20, data: small, to: small) }, tags: d,
118+
runFunction: { append($0*500, data: small, to: small) }, tags: d,
124119
legacyFactor: 20),
125120
BenchmarkInfo(name: "DataAppendDataSmallToMedium",
126-
runFunction: { append($0*M/20, data: small, to: medium) }, tags: d,
121+
runFunction: { append($0*500, data: small, to: medium) }, tags: d,
127122
legacyFactor: 20),
128123
BenchmarkInfo(name: "DataAppendDataSmallToLarge",
129-
runFunction: { append($0*M/200, data: small, to: large) }, tags: d,
124+
runFunction: { append($0*50, data: small, to: large) }, tags: d,
130125
legacyFactor: 200),
131126
BenchmarkInfo(name: "DataAppendDataMediumToSmall",
132-
runFunction: { append($0*M/20, data: medium, to: small) }, tags: d,
127+
runFunction: { append($0*500, data: medium, to: small) }, tags: d,
133128
legacyFactor: 20),
134129
BenchmarkInfo(name: "DataAppendDataMediumToMedium",
135-
runFunction: { append($0*M/20, data: medium, to: medium) }, tags: d,
130+
runFunction: { append($0*500, data: medium, to: medium) }, tags: d,
136131
legacyFactor: 20),
137132
BenchmarkInfo(name: "DataAppendDataMediumToLarge",
138-
runFunction: { append($0*50, data: medium, to: large) }, tags: d),
133+
runFunction: { append($0*50, data: medium, to: large) }, tags: d,
134+
legacyFactor: 200),
139135
BenchmarkInfo(name: "DataAppendDataLargeToSmall",
140-
runFunction: { append($0*M/200, data: large, to: small) }, tags: d,
136+
runFunction: { append($0*50, data: large, to: small) }, tags: d,
141137
legacyFactor: 200),
142138
BenchmarkInfo(name: "DataAppendDataLargeToMedium",
143-
runFunction: { append($0*M/200, data: large, to: medium) }, tags: d,
139+
runFunction: { append($0*50, data: large, to: medium) }, tags: d,
144140
legacyFactor: 200),
145141
BenchmarkInfo(name: "DataAppendDataLargeToLarge",
146-
runFunction: { append($0*50, data: large, to: large) }, tags: d),
142+
runFunction: { append($0*50, data: large, to: large) }, tags: d,
143+
legacyFactor: 200),
147144

148145
BenchmarkInfo(name: "DataToStringEmpty",
149-
runFunction: { string($0*S, from: emptyData) }, tags: d, legacyFactor: 50),
146+
runFunction: { string($0*200, from: emptyData) }, tags: d,
147+
legacyFactor: 50),
150148
BenchmarkInfo(name: "DataToStringSmall",
151-
runFunction: { string($0*S, from: smallData) }, tags: d, legacyFactor: 50),
149+
runFunction: { string($0*200, from: smallData) }, tags: d,
150+
legacyFactor: 50),
152151
BenchmarkInfo(name: "DataToStringMedium",
153-
runFunction: { string($0*S, from: mediumData) }, tags: d, legacyFactor: 50),
152+
runFunction: { string($0*200, from: mediumData) }, tags: d,
153+
legacyFactor: 50),
154154

155155
BenchmarkInfo(name: "StringToDataEmpty",
156-
runFunction: { data($0*S, from: emptyString) }, tags: d, legacyFactor: 50),
156+
runFunction: { data($0*200, from: emptyString) }, tags: d,
157+
legacyFactor: 50),
157158
BenchmarkInfo(name: "StringToDataSmall",
158-
runFunction: { data($0*S, from: smallString) }, tags: d, legacyFactor: 50),
159+
runFunction: { data($0*200, from: smallString) }, tags: d,
160+
legacyFactor: 50),
159161
BenchmarkInfo(name: "StringToDataMedium",
160-
runFunction: { data($0*S, from: mediumString) }, tags: d, legacyFactor: 50),
162+
runFunction: { data($0*200, from: mediumString) }, tags: d,
163+
legacyFactor: 50),
161164
]
162165

163166
let emptyString = ""

0 commit comments

Comments
 (0)