@@ -21,15 +21,30 @@ import Foundation
21
21
import ObjectiveCTests
22
22
#endif
23
23
24
+ let t : [ BenchmarkCategory ] = [ . validation, . bridging]
25
+
24
26
public let ObjectiveCNoBridgingStubs = [
25
- BenchmarkInfo ( name: " ObjectiveCBridgeStubToNSStringRef " , runFunction: run_ObjectiveCBridgeStubToNSStringRef, tags: [ . validation, . bridging] ) ,
26
- BenchmarkInfo ( name: " ObjectiveCBridgeStubToNSDateRef " , runFunction: run_ObjectiveCBridgeStubToNSDateRef, tags: [ . validation, . bridging, . unstable] ) ,
27
- BenchmarkInfo ( name: " ObjectiveCBridgeStubNSDateRefAccess " , runFunction: run_ObjectiveCBridgeStubNSDateRefAccess, tags: [ . validation, . bridging, . unstable] ) ,
28
- BenchmarkInfo ( name: " ObjectiveCBridgeStubNSDateMutationRef " , runFunction: run_ObjectiveCBridgeStubNSDateMutationRef, tags: [ . validation, . bridging, . unstable] ) ,
29
- BenchmarkInfo ( name: " ObjectiveCBridgeStubNSDataAppend " , runFunction: run_ObjectiveCBridgeStubNSDataAppend, tags: [ . validation, . bridging] ) ,
30
- BenchmarkInfo ( name: " ObjectiveCBridgeStubFromNSStringRef " , runFunction: run_ObjectiveCBridgeStubFromNSStringRef, tags: [ . validation, . bridging, . unstable] ) ,
31
- BenchmarkInfo ( name: " ObjectiveCBridgeStubFromNSDateRef " , runFunction: run_ObjectiveCBridgeStubFromNSDateRef, tags: [ . validation, . bridging, . unstable] ) ,
32
- BenchmarkInfo ( name: " ObjectiveCBridgeStubURLAppendPathRef2 " , runFunction: run_ObjectiveCBridgeStubURLAppendPathRef, tags: [ . validation, . bridging] ) ,
27
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubToNSStringRef " ,
28
+ runFunction: run_ObjectiveCBridgeStubToNSStringRef, tags: t) ,
29
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubToNSDateRef " ,
30
+ runFunction: run_ObjectiveCBridgeStubToNSDateRef, tags: t,
31
+ legacyFactor: 20 ) ,
32
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubNSDateRefAccess " ,
33
+ runFunction: run_ObjectiveCBridgeStubNSDateRefAccess, tags: t) ,
34
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubNSDateMutationRef " ,
35
+ runFunction: run_ObjectiveCBridgeStubNSDateMutationRef, tags: t,
36
+ legacyFactor: 4 ) ,
37
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubNSDataAppend " ,
38
+ runFunction: run_ObjectiveCBridgeStubNSDataAppend, tags: t,
39
+ legacyFactor: 10 ) ,
40
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubFromNSStringRef " ,
41
+ runFunction: run_ObjectiveCBridgeStubFromNSStringRef, tags: t) ,
42
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubFromNSDateRef " ,
43
+ runFunction: run_ObjectiveCBridgeStubFromNSDateRef, tags: t,
44
+ legacyFactor: 10 ) ,
45
+ BenchmarkInfo ( name: " ObjectiveCBridgeStubURLAppendPathRef2 " ,
46
+ runFunction: run_ObjectiveCBridgeStubURLAppendPathRef, tags: t,
47
+ legacyFactor: 10 ) ,
33
48
]
34
49
35
50
#if _runtime(_ObjC)
@@ -80,7 +95,7 @@ public func run_ObjectiveCBridgeStubToNSStringRef(N: Int) {
80
95
@inline ( never)
81
96
func testObjectiveCBridgeStubFromNSDateRef( ) {
82
97
let b = BridgeTester ( )
83
- for _ in 0 ..< 100_000 {
98
+ for _ in 0 ..< 10_000 {
84
99
let bridgedBegin = b. beginDate ( )
85
100
let bridgedEnd = b. endDate ( )
86
101
let _ = bridgedEnd. timeIntervalSince ( bridgedBegin)
@@ -113,7 +128,7 @@ public func testObjectiveCBridgeStubToNSDateRef() {
113
128
@inline ( never)
114
129
public func run_ObjectiveCBridgeStubToNSDateRef( N: Int ) {
115
130
#if _runtime(_ObjC)
116
- for _ in 0 ..< 100 * N {
131
+ for _ in 0 ..< 5 * N {
117
132
autoreleasepool {
118
133
testObjectiveCBridgeStubToNSDateRef ( )
119
134
}
@@ -148,7 +163,7 @@ public func run_ObjectiveCBridgeStubNSDateRefAccess(N: Int) {
148
163
@inline ( never)
149
164
func testObjectiveCBridgeStubNSDateMutationRef( ) {
150
165
var d = NSDate ( )
151
- for _ in 0 ..< 100 {
166
+ for _ in 0 ..< 25 {
152
167
d = d. addingTimeInterval ( 1 )
153
168
}
154
169
}
@@ -169,7 +184,7 @@ public func run_ObjectiveCBridgeStubNSDateMutationRef(N: Int) {
169
184
@inline ( never)
170
185
func testObjectiveCBridgeStubURLAppendPathRef( ) {
171
186
let startUrl = URL ( string: " / " ) !
172
- for _ in 0 ..< 100 {
187
+ for _ in 0 ..< 10 {
173
188
var url = startUrl
174
189
for _ in 0 ..< 10 {
175
190
url = url. appendingPathComponent ( " foo " )
@@ -194,7 +209,7 @@ public func run_ObjectiveCBridgeStubURLAppendPathRef(N: Int) {
194
209
func testObjectiveCBridgeStubNSDataAppend( ) {
195
210
let proto = NSMutableData ( )
196
211
var value : UInt8 = 1
197
- for _ in 0 ..< 1_000 {
212
+ for _ in 0 ..< 100 {
198
213
let d = proto. mutableCopy ( ) as! NSMutableData
199
214
for _ in 0 ..< 100 {
200
215
d. append ( & value, length: 1 )
0 commit comments