Skip to content

Commit 6d87788

Browse files
authored
Fix running benchmarks (Issue 1386) (#1393)
* Attempted fix * Fix URL temporary directory * Fix invalid redeclaration of 'benchmarks'
1 parent 5d54b93 commit 6d87788

File tree

6 files changed

+15
-6
lines changed

6 files changed

+15
-6
lines changed

Benchmarks/Benchmarks/Formatting/BenchmarkFormatting.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import Dispatch
1616

1717
#if os(macOS) && USE_PACKAGE
1818
import FoundationEssentials
19+
import FoundationInternationalization
1920
#else
2021
import Foundation
2122
#endif

Benchmarks/Benchmarks/Internationalization/BenchmarkCalendar.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ import FoundationInternationalization
2020
import Foundation
2121
#endif
2222

23-
let benchmarks = {
23+
func calendarBenchmarks() {
24+
2425
Benchmark.defaultConfiguration.maxIterations = 1_000
2526
Benchmark.defaultConfiguration.maxDuration = .seconds(3)
2627
Benchmark.defaultConfiguration.scalingFactor = .kilo
@@ -229,3 +230,4 @@ let benchmarks = {
229230
}
230231
}
231232
}
233+

Benchmarks/Benchmarks/Internationalization/BenchmarkLocale.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import FoundationInternationalization
2020
import Foundation
2121
#endif
2222

23-
let benchmarks = {
23+
func localeBenchmarks() {
2424
Benchmark.defaultConfiguration.maxIterations = 1_000
2525
Benchmark.defaultConfiguration.maxDuration = .seconds(3)
2626
Benchmark.defaultConfiguration.scalingFactor = .kilo
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import Benchmark
2+
3+
let benchmarks = {
4+
calendarBenchmarks()
5+
localeBenchmarks()
6+
}

Benchmarks/Benchmarks/String/BenchmarkString.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import FoundationEssentials
1919
import Foundation
2020
#endif
2121

22-
#if !os(macOS)
22+
#if !FOUNDATION_FRAMEWORK
2323
private func autoreleasepool<T>(_ block: () -> T) -> T { block() }
2424
#endif
2525

@@ -157,7 +157,7 @@ let benchmarks = {
157157
let str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
158158

159159
Benchmark("read-utf8") { benchmark in
160-
let rootURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent(UUID().uuidString, isDirectory: true)
160+
let rootURL = URL.temporaryDirectory.appendingPathComponent(UUID().uuidString, isDirectory: true)
161161
#if compiler(>=6)
162162
let fileURL = rootURL.appending(path: "benchmark.txt", directoryHint: .notDirectory)
163163
#else
@@ -178,7 +178,7 @@ let benchmarks = {
178178
}
179179

180180
Benchmark("read-utf16") { benchmark in
181-
let rootURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent(UUID().uuidString, isDirectory: true)
181+
let rootURL = URL.temporaryDirectory.appendingPathComponent(UUID().uuidString, isDirectory: true)
182182
#if compiler(>=6)
183183
let fileURL = rootURL.appending(path: "benchmark.txt", directoryHint: .notDirectory)
184184
#else

Benchmarks/Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ print("swift-foundation benchmarks: \(usePackage.description)")
5454
var packageDependency : [Package.Dependency] = [.package(url: "https://github.com/ordo-one/package-benchmark.git", from: "1.11.1")]
5555
var targetDependency : [Target.Dependency] = [.product(name: "Benchmark", package: "package-benchmark")]
5656
var i18nTargetDependencies : [Target.Dependency] = []
57-
var swiftSettings : [SwiftSetting] = []
57+
var swiftSettings : [SwiftSetting] = [.unsafeFlags(["-Rmodule-loading"]), .enableUpcomingFeature("MemberImportVisibility")]
5858

5959
switch usePackage {
6060
case .useLocalPackage(let root):

0 commit comments

Comments
 (0)