1
- // This test checks the performance of removeAll on a non-uniquely referenced array.
1
+ // This test checks the performance of removeAll
2
+ // on a non-uniquely referenced array.
3
+
2
4
import TestsUtils
3
5
4
6
public let benchmarks = [
5
7
BenchmarkInfo (
6
8
name: " ArrayRemoveAll_Class " ,
7
9
runFunction: run_ArrayRemoveAll_Class,
8
10
tags: [ . validation, . api, . Array] ,
9
- setUpFunction: { blackHole ( inputArray_Class) } ,
10
- tearDownFunction: { inputArray_Class = nil }
11
+ setUpFunction: { blackHole ( inputArray_Class) }
11
12
) ,
12
13
BenchmarkInfo (
13
14
name: " ArrayRemoveAll_Int " ,
14
15
runFunction: run_ArrayRemoveAll_Int,
15
16
tags: [ . validation, . api, . Array] ,
16
- setUpFunction: { blackHole ( inputArray_Int) } ,
17
- tearDownFunction: { inputArray_Int = nil }
17
+ setUpFunction: { blackHole ( inputArray_Int) }
18
18
)
19
19
]
20
20
@@ -26,26 +26,8 @@ class Slow {
26
26
}
27
27
}
28
28
29
- let size_Int = 1_000_000
30
- let size_Class = 100_000
31
-
32
- var inputArray_Int : [ Int ] ! = {
33
- var a : [ Int ] = [ ]
34
- a. reserveCapacity ( size_Int)
35
- for i in 0 ..< size_Int {
36
- a. append ( i)
37
- }
38
- return a
39
- } ( )
40
-
41
- var inputArray_Class : [ Slow ] ! = {
42
- var a : [ Slow ] = [ ]
43
- a. reserveCapacity ( size_Class)
44
- for i in 0 ..< size_Class {
45
- a. append ( Slow ( num: i) )
46
- }
47
- return a
48
- } ( )
29
+ let inputArray_Int : [ Int ] = Array ( 0 ..< 1_000_000 )
30
+ let inputArray_Class : [ Slow ] = ( 0 ..< 100_000 ) . map ( Slow . init ( num: ) )
49
31
50
32
@inline ( never)
51
33
func removeAll< T> ( _ arr: [ T ] ) -> [ T ] {
0 commit comments