diff --git a/Benchmarks/Benchmarks/Formatting/BenchmarkFormatting.swift b/Benchmarks/Benchmarks/Formatting/BenchmarkFormatting.swift index cdd51b86e..f38d204d7 100644 --- a/Benchmarks/Benchmarks/Formatting/BenchmarkFormatting.swift +++ b/Benchmarks/Benchmarks/Formatting/BenchmarkFormatting.swift @@ -16,6 +16,7 @@ import Dispatch #if os(macOS) && USE_PACKAGE import FoundationEssentials +import FoundationInternationalization #else import Foundation #endif diff --git a/Benchmarks/Benchmarks/Internationalization/BenchmarkCalendar.swift b/Benchmarks/Benchmarks/Internationalization/BenchmarkCalendar.swift index d611487e4..55f072b1e 100644 --- a/Benchmarks/Benchmarks/Internationalization/BenchmarkCalendar.swift +++ b/Benchmarks/Benchmarks/Internationalization/BenchmarkCalendar.swift @@ -20,7 +20,8 @@ import FoundationInternationalization import Foundation #endif -let benchmarks = { +func calendarBenchmarks() { + Benchmark.defaultConfiguration.maxIterations = 1_000 Benchmark.defaultConfiguration.maxDuration = .seconds(3) Benchmark.defaultConfiguration.scalingFactor = .kilo @@ -229,3 +230,4 @@ let benchmarks = { } } } + diff --git a/Benchmarks/Benchmarks/Internationalization/BenchmarkLocale.swift b/Benchmarks/Benchmarks/Internationalization/BenchmarkLocale.swift index 16a6b82d4..273fdd5b5 100644 --- a/Benchmarks/Benchmarks/Internationalization/BenchmarkLocale.swift +++ b/Benchmarks/Benchmarks/Internationalization/BenchmarkLocale.swift @@ -20,7 +20,7 @@ import FoundationInternationalization import Foundation #endif -let benchmarks = { +func localeBenchmarks() { Benchmark.defaultConfiguration.maxIterations = 1_000 Benchmark.defaultConfiguration.maxDuration = .seconds(3) Benchmark.defaultConfiguration.scalingFactor = .kilo diff --git a/Benchmarks/Benchmarks/Internationalization/InternationalizationBenchmark.swift b/Benchmarks/Benchmarks/Internationalization/InternationalizationBenchmark.swift new file mode 100644 index 000000000..759e9eba7 --- /dev/null +++ b/Benchmarks/Benchmarks/Internationalization/InternationalizationBenchmark.swift @@ -0,0 +1,6 @@ +import Benchmark + +let benchmarks = { + calendarBenchmarks() + localeBenchmarks() +} diff --git a/Benchmarks/Benchmarks/String/BenchmarkString.swift b/Benchmarks/Benchmarks/String/BenchmarkString.swift index b92363a92..b46dc3969 100644 --- a/Benchmarks/Benchmarks/String/BenchmarkString.swift +++ b/Benchmarks/Benchmarks/String/BenchmarkString.swift @@ -19,7 +19,7 @@ import FoundationEssentials import Foundation #endif -#if !os(macOS) +#if !FOUNDATION_FRAMEWORK private func autoreleasepool(_ block: () -> T) -> T { block() } #endif @@ -157,7 +157,7 @@ let benchmarks = { 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." Benchmark("read-utf8") { benchmark in - let rootURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent(UUID().uuidString, isDirectory: true) + let rootURL = URL.temporaryDirectory.appendingPathComponent(UUID().uuidString, isDirectory: true) #if compiler(>=6) let fileURL = rootURL.appending(path: "benchmark.txt", directoryHint: .notDirectory) #else @@ -178,7 +178,7 @@ let benchmarks = { } Benchmark("read-utf16") { benchmark in - let rootURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent(UUID().uuidString, isDirectory: true) + let rootURL = URL.temporaryDirectory.appendingPathComponent(UUID().uuidString, isDirectory: true) #if compiler(>=6) let fileURL = rootURL.appending(path: "benchmark.txt", directoryHint: .notDirectory) #else diff --git a/Benchmarks/Package.swift b/Benchmarks/Package.swift index 1879f73c7..fa0854186 100644 --- a/Benchmarks/Package.swift +++ b/Benchmarks/Package.swift @@ -54,7 +54,7 @@ print("swift-foundation benchmarks: \(usePackage.description)") var packageDependency : [Package.Dependency] = [.package(url: "https://github.com/ordo-one/package-benchmark.git", from: "1.11.1")] var targetDependency : [Target.Dependency] = [.product(name: "Benchmark", package: "package-benchmark")] var i18nTargetDependencies : [Target.Dependency] = [] -var swiftSettings : [SwiftSetting] = [] +var swiftSettings : [SwiftSetting] = [.unsafeFlags(["-Rmodule-loading"]), .enableUpcomingFeature("MemberImportVisibility")] switch usePackage { case .useLocalPackage(let root):