@@ -6,25 +6,40 @@ import Foundation
66
77extension BenchmarkRunner {
88 mutating func addBacktracking( ) {
9- register ( new: basicBacktrack)
10- register ( new: basicBacktrackNS)
11- }
12- }
9+ let r = " ^ +A "
10+ let s = String ( repeating: " " , count: 1000 )
1311
12+ let basicBacktrack = Benchmark (
13+ name: " BasicBacktrack " ,
14+ regex: try ! Regex ( r) ,
15+ ty: . enumerate,
16+ target: s
17+ )
1418
15- private let r = " +A "
16- private let s = String ( repeating: " " , count: 100 )
19+ let basicBacktrackNS = NSBenchmark (
20+ name: " BasicBacktrackNS " ,
21+ regex: try ! NSRegularExpression ( pattern: r) ,
22+ ty: . all,
23+ target: s
24+ )
1725
18- private let basicBacktrack = Benchmark (
19- name: " BasicBacktrack " ,
20- regex: try ! Regex ( r) ,
21- ty: . enumerate ,
22- target: s
23- )
26+ let basicBacktrackFirstMatch = Benchmark (
27+ name: " BasicBacktrackFirstMatch " ,
28+ regex: try ! Regex ( r) ,
29+ ty: . first ,
30+ target: s
31+ )
2432
25- private let basicBacktrackNS = NSBenchmark (
26- name: " BasicBacktrackNS " ,
27- regex: try ! NSRegularExpression ( pattern: r) ,
28- ty: . all,
29- target: s
30- )
33+ let basicBacktrackNSFirstMatch = NSBenchmark (
34+ name: " BasicBacktrackNSFirstMatch " ,
35+ regex: try ! NSRegularExpression ( pattern: r) ,
36+ ty: . first,
37+ target: s
38+ )
39+
40+ register ( new: basicBacktrack)
41+ register ( new: basicBacktrackNS)
42+ register ( new: basicBacktrackFirstMatch)
43+ register ( new: basicBacktrackNSFirstMatch)
44+ }
45+ }
0 commit comments