From 954ca9aafc79ca3e1862da90a66d29ae023c8b5e Mon Sep 17 00:00:00 2001 From: Tina Liu Date: Mon, 30 Jun 2025 14:23:18 -0700 Subject: [PATCH 1/3] Attempted fix --- Benchmarks/Benchmarks/Formatting/BenchmarkFormatting.swift | 1 + Benchmarks/Benchmarks/String/BenchmarkString.swift | 2 +- Benchmarks/Package.swift | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) 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/String/BenchmarkString.swift b/Benchmarks/Benchmarks/String/BenchmarkString.swift index b92363a92..423bde870 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 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): From 6b166c19a0e7e301ed091aaa4ac5fc2ddca88b35 Mon Sep 17 00:00:00 2001 From: Tina Liu Date: Mon, 30 Jun 2025 14:34:56 -0700 Subject: [PATCH 2/3] Fix URL temporary directory --- Benchmarks/Benchmarks/String/BenchmarkString.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Benchmarks/Benchmarks/String/BenchmarkString.swift b/Benchmarks/Benchmarks/String/BenchmarkString.swift index 423bde870..b46dc3969 100644 --- a/Benchmarks/Benchmarks/String/BenchmarkString.swift +++ b/Benchmarks/Benchmarks/String/BenchmarkString.swift @@ -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 From 92d22583083c068bd9df9a4909eeaa08b948ddb8 Mon Sep 17 00:00:00 2001 From: Tina Liu Date: Mon, 30 Jun 2025 14:43:38 -0700 Subject: [PATCH 3/3] Fix invalid redeclaration of 'benchmarks' --- .../Benchmarks/Internationalization/BenchmarkCalendar.swift | 4 +++- .../Benchmarks/Internationalization/BenchmarkLocale.swift | 2 +- .../InternationalizationBenchmark.swift | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 Benchmarks/Benchmarks/Internationalization/InternationalizationBenchmark.swift 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() +}