Skip to content

Commit 143f253

Browse files
[test] Reduce range overlaps benchmark work per N
1 parent 06a2e6d commit 143f253

File tree

1 file changed

+16
-27
lines changed

1 file changed

+16
-27
lines changed

benchmark/single-source/RangeOverlaps.swift

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,30 @@ public let RangeOverlaps = [
1616
BenchmarkInfo(
1717
name: "RangeOverlapsRange",
1818
runFunction: run_RangeOverlapsRange,
19-
tags: [.validation, .api]),
19+
tags: [.validation, .api],
20+
setUpFunction: buildRanges),
2021
BenchmarkInfo(
2122
name: "RangeOverlapsClosedRange",
2223
runFunction: run_RangeOverlapsClosedRange,
23-
tags: [.validation, .api]),
24+
tags: [.validation, .api],
25+
setUpFunction: buildRanges),
2426
BenchmarkInfo(
2527
name: "ClosedRangeOverlapsClosedRange",
2628
runFunction: run_ClosedRangeOverlapsClosedRange,
27-
tags: [.validation, .api]),
29+
tags: [.validation, .api],
30+
setUpFunction: buildRanges)
2831
]
2932

30-
@inline(never) func foo() { }
33+
private func buildRanges() {
34+
blackHole(ranges)
35+
blackHole(closedRanges)
36+
}
37+
38+
private let ranges: [Range<Int>] = (-8...8).flatMap { a in (0...16).map { l in a..<(a+l) } }
39+
private let closedRanges: [ClosedRange<Int>] = (-8...8).flatMap { a in (0...16).map { l in a...(a+l) } }
3140

3241
@inline(never)
3342
public func run_RangeOverlapsRange(_ N: Int) {
34-
var ranges: [Range<Int>] = []
35-
for a in -20 ... 20 {
36-
for b in 0 ... 40 {
37-
ranges.append(a ..< (a+b))
38-
}
39-
}
4043
var check: UInt64 = 0
4144
for _ in 0..<N {
4245
for lhs in ranges {
@@ -45,19 +48,11 @@ public func run_RangeOverlapsRange(_ N: Int) {
4548
}
4649
}
4750
}
48-
CheckResults(check == 1771200 * UInt64(N))
51+
CheckResults(check == 47872 * UInt64(N))
4952
}
5053

5154
@inline(never)
5255
public func run_RangeOverlapsClosedRange(_ N: Int) {
53-
var ranges: [Range<Int>] = []
54-
var closedRanges: [ClosedRange<Int>] = []
55-
for a in -20 ... 20 {
56-
for b in 0 ... 40 {
57-
ranges.append(a ..< (a+b))
58-
closedRanges.append(a ... (a+b))
59-
}
60-
}
6156
var check: UInt64 = 0
6257
for _ in 0..<N {
6358
for lhs in ranges {
@@ -66,17 +61,11 @@ public func run_RangeOverlapsClosedRange(_ N: Int) {
6661
}
6762
}
6863
}
69-
CheckResults(check == 1826960 * UInt64(N))
64+
CheckResults(check == 51680 * UInt64(N))
7065
}
7166

7267
@inline(never)
7368
public func run_ClosedRangeOverlapsClosedRange(_ N: Int) {
74-
var closedRanges: [ClosedRange<Int>] = []
75-
for a in -20 ... 20 {
76-
for b in 0 ... 40 {
77-
closedRanges.append(a ... (a+b))
78-
}
79-
}
8069
var check: UInt64 = 0
8170
for _ in 0..<N {
8271
for lhs in closedRanges {
@@ -85,5 +74,5 @@ public func run_ClosedRangeOverlapsClosedRange(_ N: Int) {
8574
}
8675
}
8776
}
88-
CheckResults(check == 1884401 * UInt64(N))
77+
CheckResults(check == 55777 * UInt64(N))
8978
}

0 commit comments

Comments
 (0)