Skip to content

Commit 0bcd012

Browse files
authored
Merge pull request swiftlang#39396 from eeckstein/fix-overflow
benchmarks: Fix an integer overflow problem in the MapReduce benchmarks on 32-bit targets
2 parents dac3e2b + 4447fe0 commit 0bcd012

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

benchmark/single-source/MapReduce.swift

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public func run_MapReduce(_ n: Int) {
7777
var c = 0
7878
for _ in 1...n*100 {
7979
numbers = numbers.map { $0 &+ 5 }
80-
c += numbers.reduce(0, &+)
80+
c = c &+ numbers.reduce(0, &+)
8181
}
8282
check(c != 0)
8383
}
@@ -89,7 +89,7 @@ public func run_MapReduceAnyCollection(_ n: Int) {
8989
var c = 0
9090
for _ in 1...n*100 {
9191
let mapped = numbers.map { $0 &+ 5 }
92-
c += mapped.reduce(0, &+)
92+
c = c &+ mapped.reduce(0, &+)
9393
}
9494
check(c != 0)
9595
}
@@ -101,7 +101,7 @@ public func run_MapReduceAnyCollectionShort(_ n: Int) {
101101
var c = 0
102102
for _ in 1...n*1_000 {
103103
let mapped = numbers.map { $0 &+ 5 }
104-
c += mapped.reduce(0, &+)
104+
c = c &+ mapped.reduce(0, &+)
105105
}
106106
check(c != 0)
107107
}
@@ -113,7 +113,7 @@ public func run_MapReduceShort(_ n: Int) {
113113
var c = 0
114114
for _ in 1...n*1_000 {
115115
numbers = numbers.map { $0 &+ 5 }
116-
c += numbers.reduce(0, &+)
116+
c = c &+ numbers.reduce(0, &+)
117117
}
118118
check(c != 0)
119119
}
@@ -125,7 +125,7 @@ public func run_MapReduceSequence(_ n: Int) {
125125
var c = 0
126126
for _ in 1...n*100 {
127127
let mapped = numbers.map { $0 &+ 5 }
128-
c += mapped.reduce(0, &+)
128+
c = c &+ mapped.reduce(0, &+)
129129
}
130130
check(c != 0)
131131
}
@@ -137,7 +137,7 @@ public func run_MapReduceLazySequence(_ n: Int) {
137137
var c = 0
138138
for _ in 1...n*100 {
139139
let mapped = numbers.lazy.map { $0 &+ 5 }
140-
c += mapped.reduce(0, &+)
140+
c = c &+ mapped.reduce(0, &+)
141141
}
142142
check(c != 0)
143143
}
@@ -149,7 +149,7 @@ public func run_MapReduceLazyCollection(_ n: Int) {
149149
var c = 0
150150
for _ in 1...n*100 {
151151
let mapped = numbers.lazy.map { $0 &+ 5 }
152-
c += mapped.reduce(0, &+)
152+
c = c &+ mapped.reduce(0, &+)
153153
}
154154
check(c != 0)
155155
}
@@ -161,7 +161,7 @@ public func run_MapReduceLazyCollectionShort(_ n: Int) {
161161
var c = 0
162162
for _ in 1...n*10000 {
163163
let mapped = numbers.lazy.map { $0 &+ 5 }
164-
c += mapped.reduce(0, &+)
164+
c = c &+ mapped.reduce(0, &+)
165165
}
166166
check(c != 0)
167167
}
@@ -172,7 +172,7 @@ public func run_MapReduceString(_ n: Int) {
172172

173173
var c: UInt64 = 0
174174
for _ in 1...n*100 {
175-
c += s.utf8.map { UInt64($0 &+ 5) }.reduce(0, &+)
175+
c = c &+ s.utf8.map { UInt64($0 &+ 5) }.reduce(0, &+)
176176
}
177177
check(c != 0)
178178
}
@@ -183,7 +183,7 @@ public func run_MapReduceShortString(_ n: Int) {
183183

184184
var c: UInt64 = 0
185185
for _ in 1...n*100 {
186-
c += s.utf8.map { UInt64($0 &+ 5) }.reduce(0, &+)
186+
c = c &+ s.utf8.map { UInt64($0 &+ 5) }.reduce(0, &+)
187187
}
188188
check(c != 0)
189189
}
@@ -196,7 +196,7 @@ public func run_MapReduceNSDecimalNumber(_ n: Int) {
196196
var c = 0
197197
for _ in 1...n*10 {
198198
let mapped = numbers.map { $0.intValue &+ 5 }
199-
c += mapped.reduce(0, &+)
199+
c = c &+ mapped.reduce(0, &+)
200200
}
201201
check(c != 0)
202202
#endif
@@ -210,7 +210,7 @@ public func run_MapReduceNSDecimalNumberShort(_ n: Int) {
210210
var c = 0
211211
for _ in 1...n*1_000 {
212212
let mapped = numbers.map { $0.intValue &+ 5 }
213-
c += mapped.reduce(0, &+)
213+
c = c &+ mapped.reduce(0, &+)
214214
}
215215
check(c != 0)
216216
#endif
@@ -224,7 +224,7 @@ public func run_MapReduceClass(_ n: Int) {
224224
var c = 0
225225
for _ in 1...n*10 {
226226
let mapped = numbers.map { $0.v &+ 5 }
227-
c += mapped.reduce(0, &+)
227+
c = c &+ mapped.reduce(0, &+)
228228
}
229229
check(c != 0)
230230
}
@@ -236,7 +236,7 @@ public func run_MapReduceClassShort(_ n: Int) {
236236
var c = 0
237237
for _ in 1...n*1_000 {
238238
let mapped = numbers.map { $0.v &+ 5 }
239-
c += mapped.reduce(0, &+)
239+
c = c &+ mapped.reduce(0, &+)
240240
}
241241
check(c != 0)
242242
}

0 commit comments

Comments
 (0)