-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPerformanceTestResults.html
145 lines (145 loc) · 51.4 KB
/
PerformanceTestResults.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<html><body><table>
<tr>
<th style="width:22em">Method</th>
<th style="width:20em">Regex</th>
<th style="width:7em">JUR [ns]</th>
<th style="width:6em">LFR [ns]</th>
<th style="width:5em">LFR/JUR</th>
<th style="width:600em">Sequence</th>
</tr>
<tr><td>test.PerformanceTests.test10(PerformanceTests.java:121)</td><td>.{2,4}(Tom|Sawyer|Huckleberry|Finn)</td><td>2523643000</td><td>702173100</td><td>27,8238%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=2, max=4) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test10(PerformanceTests.java:121)</td><td>.{2,4}(Tom|Sawyer|Huckleberry|Finn)</td><td>2162163000</td><td>641645900</td><td>29,6761%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=2, max=4) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test10(PerformanceTests.java:121)</td><td>.{2,4}(Tom|Sawyer|Huckleberry|Finn)</td><td>2175202900</td><td>622299200</td><td>28,6088%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=2, max=4) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test10(PerformanceTests.java:121)</td><td>.{2,4}(Tom|Sawyer|Huckleberry|Finn)</td><td>2154410700</td><td>591376400</td><td>27,4496%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=2, max=4) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test10(PerformanceTests.java:121)</td><td>.{2,4}(Tom|Sawyer|Huckleberry|Finn)</td><td>2042068300</td><td>581394600</td><td>28,4709%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=2, max=4) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test10(PerformanceTests.java:121)</td><td>.{2,4}(Tom|Sawyer|Huckleberry|Finn)</td><td>2043702100</td><td>583349000</td><td>28,5437%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=2, max=4) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test10(PerformanceTests.java:121)</td><td>.{2,4}(Tom|Sawyer|Huckleberry|Finn)</td><td>1999705400</td><td>585529100</td><td>29,2808%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=2, max=4) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test11(PerformanceTests.java:122)</td><td>Tom.{10,25}river|river.{10,25}Tom</td><td>351460100</td><td>53232100</td><td>15,1460%</td><td><nowrap>alternatives(naive("Tom") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("river") . endOfAlternative, naive("river") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("Tom") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test11(PerformanceTests.java:122)</td><td>Tom.{10,25}river|river.{10,25}Tom</td><td>315286400</td><td>34298900</td><td>10,8786%</td><td><nowrap>alternatives(naive("Tom") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("river") . endOfAlternative, naive("river") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("Tom") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test11(PerformanceTests.java:122)</td><td>Tom.{10,25}river|river.{10,25}Tom</td><td>308551000</td><td>36030700</td><td>11,6774%</td><td><nowrap>alternatives(naive("Tom") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("river") . endOfAlternative, naive("river") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("Tom") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test11(PerformanceTests.java:122)</td><td>Tom.{10,25}river|river.{10,25}Tom</td><td>283106300</td><td>33393600</td><td>11,7954%</td><td><nowrap>alternatives(naive("Tom") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("river") . endOfAlternative, naive("river") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("Tom") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test11(PerformanceTests.java:122)</td><td>Tom.{10,25}river|river.{10,25}Tom</td><td>354138200</td><td>33717300</td><td>9,52094%</td><td><nowrap>alternatives(naive("Tom") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("river") . endOfAlternative, naive("river") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("Tom") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test11(PerformanceTests.java:122)</td><td>Tom.{10,25}river|river.{10,25}Tom</td><td>346006500</td><td>34139600</td><td>9,86675%</td><td><nowrap>alternatives(naive("Tom") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("river") . endOfAlternative, naive("river") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("Tom") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test11(PerformanceTests.java:122)</td><td>Tom.{10,25}river|river.{10,25}Tom</td><td>313858600</td><td>38567900</td><td>12,2883%</td><td><nowrap>alternatives(naive("Tom") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("river") . endOfAlternative, naive("river") . greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=10, max=25) . naive("Tom") . endOfAlternative)</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test12(PerformanceTests.java:123)</td><td>[a-zA-Z]+ing</td><td>1180458800</td><td>838853000</td><td>71,0616%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . naive("ing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test12(PerformanceTests.java:123)</td><td>[a-zA-Z]+ing</td><td>1262765300</td><td>584613400</td><td>46,2963%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . naive("ing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test12(PerformanceTests.java:123)</td><td>[a-zA-Z]+ing</td><td>1251185400</td><td>576523000</td><td>46,0781%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . naive("ing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test12(PerformanceTests.java:123)</td><td>[a-zA-Z]+ing</td><td>1279907000</td><td>627047200</td><td>48,9916%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . naive("ing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test12(PerformanceTests.java:123)</td><td>[a-zA-Z]+ing</td><td>1271964700</td><td>631462200</td><td>49,6446%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . naive("ing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test12(PerformanceTests.java:123)</td><td>[a-zA-Z]+ing</td><td>1270958800</td><td>587609100</td><td>46,2335%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . naive("ing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test12(PerformanceTests.java:123)</td><td>[a-zA-Z]+ing</td><td>1315527100</td><td>606208900</td><td>46,0811%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . naive("ing")</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test13(PerformanceTests.java:124)</td><td>\s[a-zA-Z]{0,12}ing\s</td><td>794839700</td><td>525569800</td><td>66,1227%</td><td><nowrap>posixSpace . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=0, max=12) . naive("ing") . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test13(PerformanceTests.java:124)</td><td>\s[a-zA-Z]{0,12}ing\s</td><td>579857400</td><td>451136700</td><td>77,8013%</td><td><nowrap>posixSpace . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=0, max=12) . naive("ing") . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test13(PerformanceTests.java:124)</td><td>\s[a-zA-Z]{0,12}ing\s</td><td>510746600</td><td>391248100</td><td>76,6032%</td><td><nowrap>posixSpace . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=0, max=12) . naive("ing") . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test13(PerformanceTests.java:124)</td><td>\s[a-zA-Z]{0,12}ing\s</td><td>522135400</td><td>342881900</td><td>65,6692%</td><td><nowrap>posixSpace . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=0, max=12) . naive("ing") . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test13(PerformanceTests.java:124)</td><td>\s[a-zA-Z]{0,12}ing\s</td><td>503933400</td><td>352274500</td><td>69,9050%</td><td><nowrap>posixSpace . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=0, max=12) . naive("ing") . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test13(PerformanceTests.java:124)</td><td>\s[a-zA-Z]{0,12}ing\s</td><td>521533100</td><td>334353700</td><td>64,1098%</td><td><nowrap>posixSpace . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=0, max=12) . naive("ing") . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test13(PerformanceTests.java:124)</td><td>\s[a-zA-Z]{0,12}ing\s</td><td>522087100</td><td>344111300</td><td>65,9107%</td><td><nowrap>posixSpace . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=0, max=12) . naive("ing") . posixSpace</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test14(PerformanceTests.java:125)</td><td>([A-Za-z]awyer|[A-Za-z]inn)\s</td><td>718853500</td><td>91787500</td><td>12,7686%</td><td><nowrap>capturingGroupStart(1) . alternatives(bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("awyer") . endOfAlternative, bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("inn") . endOfAlternative) . capturingGroupEnd(1) . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test14(PerformanceTests.java:125)</td><td>([A-Za-z]awyer|[A-Za-z]inn)\s</td><td>754509500</td><td>48005700</td><td>6,36250%</td><td><nowrap>capturingGroupStart(1) . alternatives(bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("awyer") . endOfAlternative, bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("inn") . endOfAlternative) . capturingGroupEnd(1) . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test14(PerformanceTests.java:125)</td><td>([A-Za-z]awyer|[A-Za-z]inn)\s</td><td>1065784000</td><td>60253000</td><td>5,65340%</td><td><nowrap>capturingGroupStart(1) . alternatives(bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("awyer") . endOfAlternative, bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("inn") . endOfAlternative) . capturingGroupEnd(1) . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test14(PerformanceTests.java:125)</td><td>([A-Za-z]awyer|[A-Za-z]inn)\s</td><td>847520800</td><td>42379000</td><td>5,00035%</td><td><nowrap>capturingGroupStart(1) . alternatives(bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("awyer") . endOfAlternative, bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("inn") . endOfAlternative) . capturingGroupEnd(1) . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test14(PerformanceTests.java:125)</td><td>([A-Za-z]awyer|[A-Za-z]inn)\s</td><td>751301300</td><td>42781100</td><td>5,69427%</td><td><nowrap>capturingGroupStart(1) . alternatives(bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("awyer") . endOfAlternative, bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("inn") . endOfAlternative) . capturingGroupEnd(1) . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test14(PerformanceTests.java:125)</td><td>([A-Za-z]awyer|[A-Za-z]inn)\s</td><td>723423300</td><td>42180000</td><td>5,83061%</td><td><nowrap>capturingGroupStart(1) . alternatives(bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("awyer") . endOfAlternative, bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("inn") . endOfAlternative) . capturingGroupEnd(1) . posixSpace</nowrap></td></tr>
<tr><td>test.PerformanceTests.test14(PerformanceTests.java:125)</td><td>([A-Za-z]awyer|[A-Za-z]inn)\s</td><td>859664500</td><td>46180000</td><td>5,37186%</td><td><nowrap>capturingGroupStart(1) . alternatives(bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("awyer") . endOfAlternative, bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') . naive("inn") . endOfAlternative) . capturingGroupEnd(1) . posixSpace</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test15(PerformanceTests.java:126)</td><td>["'][^"']{0,30}[?!\.]["']</td><td>212691100</td><td>122821900</td><td>57,7466%</td><td><nowrap>oneOfTwoChars('"', ''') . greedyQuantifierOnCharacterClass(operand=negate(oneOfTwoChars('"', ''')), min=0, max=30) . [!.?]|["']</nowrap></td></tr>
<tr><td>test.PerformanceTests.test15(PerformanceTests.java:126)</td><td>["'][^"']{0,30}[?!\.]["']</td><td>181494700</td><td>98990700</td><td>54,5419%</td><td><nowrap>oneOfTwoChars('"', ''') . greedyQuantifierOnCharacterClass(operand=negate(oneOfTwoChars('"', ''')), min=0, max=30) . [!.?]|["']</nowrap></td></tr>
<tr><td>test.PerformanceTests.test15(PerformanceTests.java:126)</td><td>["'][^"']{0,30}[?!\.]["']</td><td>234676100</td><td>86131200</td><td>36,7022%</td><td><nowrap>oneOfTwoChars('"', ''') . greedyQuantifierOnCharacterClass(operand=negate(oneOfTwoChars('"', ''')), min=0, max=30) . [!.?]|["']</nowrap></td></tr>
<tr><td>test.PerformanceTests.test15(PerformanceTests.java:126)</td><td>["'][^"']{0,30}[?!\.]["']</td><td>181991100</td><td>85864200</td><td>47,1804%</td><td><nowrap>oneOfTwoChars('"', ''') . greedyQuantifierOnCharacterClass(operand=negate(oneOfTwoChars('"', ''')), min=0, max=30) . [!.?]|["']</nowrap></td></tr>
<tr><td>test.PerformanceTests.test15(PerformanceTests.java:126)</td><td>["'][^"']{0,30}[?!\.]["']</td><td>175537900</td><td>86922700</td><td>49,5179%</td><td><nowrap>oneOfTwoChars('"', ''') . greedyQuantifierOnCharacterClass(operand=negate(oneOfTwoChars('"', ''')), min=0, max=30) . [!.?]|["']</nowrap></td></tr>
<tr><td>test.PerformanceTests.test15(PerformanceTests.java:126)</td><td>["'][^"']{0,30}[?!\.]["']</td><td>193091100</td><td>89145500</td><td>46,1676%</td><td><nowrap>oneOfTwoChars('"', ''') . greedyQuantifierOnCharacterClass(operand=negate(oneOfTwoChars('"', ''')), min=0, max=30) . [!.?]|["']</nowrap></td></tr>
<tr><td>test.PerformanceTests.test15(PerformanceTests.java:126)</td><td>["'][^"']{0,30}[?!\.]["']</td><td>189026300</td><td>99279400</td><td>52,5215%</td><td><nowrap>oneOfTwoChars('"', ''') . greedyQuantifierOnCharacterClass(operand=negate(oneOfTwoChars('"', ''')), min=0, max=30) . [!.?]|["']</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test8a(PerformanceTests.java:118)</td><td>(Tom|Sawyer|Huckleberry|Finn)</td><td>670693700</td><td>87135700</td><td>12,9919%</td><td><nowrap>capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8a(PerformanceTests.java:118)</td><td>(Tom|Sawyer|Huckleberry|Finn)</td><td>643698600</td><td>78813800</td><td>12,2439%</td><td><nowrap>capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8a(PerformanceTests.java:118)</td><td>(Tom|Sawyer|Huckleberry|Finn)</td><td>677514900</td><td>80627900</td><td>11,9005%</td><td><nowrap>capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8a(PerformanceTests.java:118)</td><td>(Tom|Sawyer|Huckleberry|Finn)</td><td>877848100</td><td>82791600</td><td>9,43120%</td><td><nowrap>capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8a(PerformanceTests.java:118)</td><td>(Tom|Sawyer|Huckleberry|Finn)</td><td>811372300</td><td>90613000</td><td>11,1679%</td><td><nowrap>capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8a(PerformanceTests.java:118)</td><td>(Tom|Sawyer|Huckleberry|Finn)</td><td>773107500</td><td>80706100</td><td>10,4392%</td><td><nowrap>capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8a(PerformanceTests.java:118)</td><td>(Tom|Sawyer|Huckleberry|Finn)</td><td>891011800</td><td>76987600</td><td>8,64047%</td><td><nowrap>capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test9a(PerformanceTests.java:120)</td><td>[\00-\0377]?(Tom|Sawyer|Huckleberry|Finn)</td><td>1654682700</td><td>341866900</td><td>20,6606%</td><td><nowrap>greedyQuantifier(operand=charRange('\0' - 'ÿ'), min=0, max=1) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9a(PerformanceTests.java:120)</td><td>[\00-\0377]?(Tom|Sawyer|Huckleberry|Finn)</td><td>1691988000</td><td>338980800</td><td>20,0345%</td><td><nowrap>greedyQuantifier(operand=charRange('\0' - 'ÿ'), min=0, max=1) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9a(PerformanceTests.java:120)</td><td>[\00-\0377]?(Tom|Sawyer|Huckleberry|Finn)</td><td>1534341200</td><td>307680800</td><td>20,0530%</td><td><nowrap>greedyQuantifier(operand=charRange('\0' - 'ÿ'), min=0, max=1) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9a(PerformanceTests.java:120)</td><td>[\00-\0377]?(Tom|Sawyer|Huckleberry|Finn)</td><td>1530917400</td><td>319126600</td><td>20,8454%</td><td><nowrap>greedyQuantifier(operand=charRange('\0' - 'ÿ'), min=0, max=1) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9a(PerformanceTests.java:120)</td><td>[\00-\0377]?(Tom|Sawyer|Huckleberry|Finn)</td><td>1604531100</td><td>311276800</td><td>19,3999%</td><td><nowrap>greedyQuantifier(operand=charRange('\0' - 'ÿ'), min=0, max=1) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9a(PerformanceTests.java:120)</td><td>[\00-\0377]?(Tom|Sawyer|Huckleberry|Finn)</td><td>1466700600</td><td>276438100</td><td>18,8476%</td><td><nowrap>greedyQuantifier(operand=charRange('\0' - 'ÿ'), min=0, max=1) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9a(PerformanceTests.java:120)</td><td>[\00-\0377]?(Tom|Sawyer|Huckleberry|Finn)</td><td>1381699900</td><td>305719100</td><td>22,1263%</td><td><nowrap>greedyQuantifier(operand=charRange('\0' - 'ÿ'), min=0, max=1) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test1(PerformanceTests.java:110)</td><td>Twain</td><td>34615800</td><td>10680700</td><td>30,8550%</td><td><nowrap>naive("Twain")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test1(PerformanceTests.java:110)</td><td>Twain</td><td>29322900</td><td>10901500</td><td>37,1774%</td><td><nowrap>naive("Twain")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test1(PerformanceTests.java:110)</td><td>Twain</td><td>24153100</td><td>10723200</td><td>44,3968%</td><td><nowrap>naive("Twain")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test1(PerformanceTests.java:110)</td><td>Twain</td><td>24201100</td><td>9371400</td><td>38,7230%</td><td><nowrap>naive("Twain")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test1(PerformanceTests.java:110)</td><td>Twain</td><td>24791900</td><td>9040500</td><td>36,4655%</td><td><nowrap>naive("Twain")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test1(PerformanceTests.java:110)</td><td>Twain</td><td>24229100</td><td>9241800</td><td>38,1434%</td><td><nowrap>naive("Twain")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test1(PerformanceTests.java:110)</td><td>Twain</td><td>24683600</td><td>8863600</td><td>35,9089%</td><td><nowrap>naive("Twain")</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test2(PerformanceTests.java:111)</td><td>(?i)Twain</td><td>158663300</td><td>23772900</td><td>14,9832%</td><td><nowrap>[Tt]|[Ww]|[Aa]|[Ii]|[Nn]</nowrap></td></tr>
<tr><td>test.PerformanceTests.test2(PerformanceTests.java:111)</td><td>(?i)Twain</td><td>154802100</td><td>22274800</td><td>14,3892%</td><td><nowrap>[Tt]|[Ww]|[Aa]|[Ii]|[Nn]</nowrap></td></tr>
<tr><td>test.PerformanceTests.test2(PerformanceTests.java:111)</td><td>(?i)Twain</td><td>161544300</td><td>23294800</td><td>14,4201%</td><td><nowrap>[Tt]|[Ww]|[Aa]|[Ii]|[Nn]</nowrap></td></tr>
<tr><td>test.PerformanceTests.test2(PerformanceTests.java:111)</td><td>(?i)Twain</td><td>155152800</td><td>23189400</td><td>14,9462%</td><td><nowrap>[Tt]|[Ww]|[Aa]|[Ii]|[Nn]</nowrap></td></tr>
<tr><td>test.PerformanceTests.test2(PerformanceTests.java:111)</td><td>(?i)Twain</td><td>154079600</td><td>23661300</td><td>15,3565%</td><td><nowrap>[Tt]|[Ww]|[Aa]|[Ii]|[Nn]</nowrap></td></tr>
<tr><td>test.PerformanceTests.test2(PerformanceTests.java:111)</td><td>(?i)Twain</td><td>165988800</td><td>25389300</td><td>15,2958%</td><td><nowrap>[Tt]|[Ww]|[Aa]|[Ii]|[Nn]</nowrap></td></tr>
<tr><td>test.PerformanceTests.test2(PerformanceTests.java:111)</td><td>(?i)Twain</td><td>159273900</td><td>22948600</td><td>14,4083%</td><td><nowrap>[Tt]|[Ww]|[Aa]|[Ii]|[Nn]</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test3(PerformanceTests.java:112)</td><td>[a-z]shing</td><td>279217400</td><td>190121700</td><td>68,0909%</td><td><nowrap>charRange('a' - 'z') . naive("shing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test3(PerformanceTests.java:112)</td><td>[a-z]shing</td><td>271080000</td><td>178015500</td><td>65,6690%</td><td><nowrap>charRange('a' - 'z') . naive("shing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test3(PerformanceTests.java:112)</td><td>[a-z]shing</td><td>270057700</td><td>187929500</td><td>69,5886%</td><td><nowrap>charRange('a' - 'z') . naive("shing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test3(PerformanceTests.java:112)</td><td>[a-z]shing</td><td>294089300</td><td>180471600</td><td>61,3663%</td><td><nowrap>charRange('a' - 'z') . naive("shing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test3(PerformanceTests.java:112)</td><td>[a-z]shing</td><td>254092200</td><td>182340500</td><td>71,7615%</td><td><nowrap>charRange('a' - 'z') . naive("shing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test3(PerformanceTests.java:112)</td><td>[a-z]shing</td><td>314989500</td><td>178722300</td><td>56,7391%</td><td><nowrap>charRange('a' - 'z') . naive("shing")</nowrap></td></tr>
<tr><td>test.PerformanceTests.test3(PerformanceTests.java:112)</td><td>[a-z]shing</td><td>305068900</td><td>192336400</td><td>63,0469%</td><td><nowrap>charRange('a' - 'z') . naive("shing")</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test4(PerformanceTests.java:113)</td><td>Huck[a-zA-Z]+|Saw[a-zA-Z]+</td><td>288243000</td><td>36295500</td><td>12,5920%</td><td><nowrap>alternatives(naive("Huck") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative, naive("Saw") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test4(PerformanceTests.java:113)</td><td>Huck[a-zA-Z]+|Saw[a-zA-Z]+</td><td>338539300</td><td>32322400</td><td>9,54761%</td><td><nowrap>alternatives(naive("Huck") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative, naive("Saw") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test4(PerformanceTests.java:113)</td><td>Huck[a-zA-Z]+|Saw[a-zA-Z]+</td><td>275472700</td><td>33879000</td><td>12,2985%</td><td><nowrap>alternatives(naive("Huck") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative, naive("Saw") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test4(PerformanceTests.java:113)</td><td>Huck[a-zA-Z]+|Saw[a-zA-Z]+</td><td>295885900</td><td>32186300</td><td>10,8779%</td><td><nowrap>alternatives(naive("Huck") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative, naive("Saw") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test4(PerformanceTests.java:113)</td><td>Huck[a-zA-Z]+|Saw[a-zA-Z]+</td><td>322250800</td><td>31709500</td><td>9,84001%</td><td><nowrap>alternatives(naive("Huck") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative, naive("Saw") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test4(PerformanceTests.java:113)</td><td>Huck[a-zA-Z]+|Saw[a-zA-Z]+</td><td>333507900</td><td>33205400</td><td>9,95641%</td><td><nowrap>alternatives(naive("Huck") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative, naive("Saw") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test4(PerformanceTests.java:113)</td><td>Huck[a-zA-Z]+|Saw[a-zA-Z]+</td><td>319378200</td><td>35898800</td><td>11,2402%</td><td><nowrap>alternatives(naive("Huck") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative, naive("Saw") . greedyQuantifierOnCharacterClass(operand=bitSet('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'), min=1, max=infinite) . endOfAlternative)</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test5(PerformanceTests.java:114)</td><td>\b\w+nn\b</td><td>777007000</td><td>735081700</td><td>94,6043%</td><td><nowrap>wordBoundary . greedyQuantifierOnCharacterClass(operand=posixWord, min=1, max=infinite) . naive("nn") . wordBoundary</nowrap></td></tr>
<tr><td>test.PerformanceTests.test5(PerformanceTests.java:114)</td><td>\b\w+nn\b</td><td>813377100</td><td>657521800</td><td>80,8385%</td><td><nowrap>wordBoundary . greedyQuantifierOnCharacterClass(operand=posixWord, min=1, max=infinite) . naive("nn") . wordBoundary</nowrap></td></tr>
<tr><td>test.PerformanceTests.test5(PerformanceTests.java:114)</td><td>\b\w+nn\b</td><td>791939000</td><td>653662100</td><td>82,5395%</td><td><nowrap>wordBoundary . greedyQuantifierOnCharacterClass(operand=posixWord, min=1, max=infinite) . naive("nn") . wordBoundary</nowrap></td></tr>
<tr><td>test.PerformanceTests.test5(PerformanceTests.java:114)</td><td>\b\w+nn\b</td><td>813182200</td><td>694555000</td><td>85,4120%</td><td><nowrap>wordBoundary . greedyQuantifierOnCharacterClass(operand=posixWord, min=1, max=infinite) . naive("nn") . wordBoundary</nowrap></td></tr>
<tr><td>test.PerformanceTests.test5(PerformanceTests.java:114)</td><td>\b\w+nn\b</td><td>809016000</td><td>662570800</td><td>81,8984%</td><td><nowrap>wordBoundary . greedyQuantifierOnCharacterClass(operand=posixWord, min=1, max=infinite) . naive("nn") . wordBoundary</nowrap></td></tr>
<tr><td>test.PerformanceTests.test5(PerformanceTests.java:114)</td><td>\b\w+nn\b</td><td>850487700</td><td>651872200</td><td>76,6469%</td><td><nowrap>wordBoundary . greedyQuantifierOnCharacterClass(operand=posixWord, min=1, max=infinite) . naive("nn") . wordBoundary</nowrap></td></tr>
<tr><td>test.PerformanceTests.test5(PerformanceTests.java:114)</td><td>\b\w+nn\b</td><td>763312100</td><td>664412500</td><td>87,0434%</td><td><nowrap>wordBoundary . greedyQuantifierOnCharacterClass(operand=posixWord, min=1, max=infinite) . naive("nn") . wordBoundary</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test6(PerformanceTests.java:115)</td><td>[a-q][^u-z]{13}x</td><td>1292902500</td><td>1007094600</td><td>77,8941%</td><td><nowrap>charRange('a' - 'q') . greedyQuantifierOnCharacterClass(operand=negate(charRange('u' - 'z')), min=13, max=13) . 'x'</nowrap></td></tr>
<tr><td>test.PerformanceTests.test6(PerformanceTests.java:115)</td><td>[a-q][^u-z]{13}x</td><td>1294994500</td><td>942157200</td><td>72,7538%</td><td><nowrap>charRange('a' - 'q') . greedyQuantifierOnCharacterClass(operand=negate(charRange('u' - 'z')), min=13, max=13) . 'x'</nowrap></td></tr>
<tr><td>test.PerformanceTests.test6(PerformanceTests.java:115)</td><td>[a-q][^u-z]{13}x</td><td>1254476100</td><td>844638000</td><td>67,3299%</td><td><nowrap>charRange('a' - 'q') . greedyQuantifierOnCharacterClass(operand=negate(charRange('u' - 'z')), min=13, max=13) . 'x'</nowrap></td></tr>
<tr><td>test.PerformanceTests.test6(PerformanceTests.java:115)</td><td>[a-q][^u-z]{13}x</td><td>1204858900</td><td>938398000</td><td>77,8845%</td><td><nowrap>charRange('a' - 'q') . greedyQuantifierOnCharacterClass(operand=negate(charRange('u' - 'z')), min=13, max=13) . 'x'</nowrap></td></tr>
<tr><td>test.PerformanceTests.test6(PerformanceTests.java:115)</td><td>[a-q][^u-z]{13}x</td><td>1100311300</td><td>825757300</td><td>75,0476%</td><td><nowrap>charRange('a' - 'q') . greedyQuantifierOnCharacterClass(operand=negate(charRange('u' - 'z')), min=13, max=13) . 'x'</nowrap></td></tr>
<tr><td>test.PerformanceTests.test6(PerformanceTests.java:115)</td><td>[a-q][^u-z]{13}x</td><td>1088242700</td><td>867407000</td><td>79,7071%</td><td><nowrap>charRange('a' - 'q') . greedyQuantifierOnCharacterClass(operand=negate(charRange('u' - 'z')), min=13, max=13) . 'x'</nowrap></td></tr>
<tr><td>test.PerformanceTests.test6(PerformanceTests.java:115)</td><td>[a-q][^u-z]{13}x</td><td>1047119800</td><td>792834300</td><td>75,7157%</td><td><nowrap>charRange('a' - 'q') . greedyQuantifierOnCharacterClass(operand=negate(charRange('u' - 'z')), min=13, max=13) . 'x'</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test7(PerformanceTests.java:116)</td><td>Tom|Sawyer|Huckleberry|Finn</td><td>449496900</td><td>66233800</td><td>14,7351%</td><td><nowrap>alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test7(PerformanceTests.java:116)</td><td>Tom|Sawyer|Huckleberry|Finn</td><td>458974200</td><td>68502600</td><td>14,9252%</td><td><nowrap>alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test7(PerformanceTests.java:116)</td><td>Tom|Sawyer|Huckleberry|Finn</td><td>451622500</td><td>69129800</td><td>15,3070%</td><td><nowrap>alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test7(PerformanceTests.java:116)</td><td>Tom|Sawyer|Huckleberry|Finn</td><td>476838000</td><td>86468200</td><td>18,1337%</td><td><nowrap>alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test7(PerformanceTests.java:116)</td><td>Tom|Sawyer|Huckleberry|Finn</td><td>784578700</td><td>94919700</td><td>12,0982%</td><td><nowrap>alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test7(PerformanceTests.java:116)</td><td>Tom|Sawyer|Huckleberry|Finn</td><td>879220300</td><td>101659600</td><td>11,5625%</td><td><nowrap>alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test7(PerformanceTests.java:116)</td><td>Tom|Sawyer|Huckleberry|Finn</td><td>658729900</td><td>82240200</td><td>12,4847%</td><td><nowrap>alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative)</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test8(PerformanceTests.java:117)</td><td>(?i)Tom|Sawyer|Huckleberry|Finn</td><td>781383800</td><td>120280800</td><td>15,3933%</td><td><nowrap>alternatives([Tt]|[Oo]|[Mm] . endOfAlternative, [Ss]|[Aa]|[Ww]|[Yy]|[Ee]|[Rr] . endOfAlternative, [Hh]|[Uu]|[Cc]|[Kk]|[Ll]|[Ee]|[Bb]|[Ee]|[Rr]|[Rr]|[Yy] . endOfAlternative, [Ff]|[Ii]|[Nn]|[Nn] . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8(PerformanceTests.java:117)</td><td>(?i)Tom|Sawyer|Huckleberry|Finn</td><td>721027200</td><td>121975400</td><td>16,9169%</td><td><nowrap>alternatives([Tt]|[Oo]|[Mm] . endOfAlternative, [Ss]|[Aa]|[Ww]|[Yy]|[Ee]|[Rr] . endOfAlternative, [Hh]|[Uu]|[Cc]|[Kk]|[Ll]|[Ee]|[Bb]|[Ee]|[Rr]|[Rr]|[Yy] . endOfAlternative, [Ff]|[Ii]|[Nn]|[Nn] . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8(PerformanceTests.java:117)</td><td>(?i)Tom|Sawyer|Huckleberry|Finn</td><td>984205000</td><td>139324200</td><td>14,1560%</td><td><nowrap>alternatives([Tt]|[Oo]|[Mm] . endOfAlternative, [Ss]|[Aa]|[Ww]|[Yy]|[Ee]|[Rr] . endOfAlternative, [Hh]|[Uu]|[Cc]|[Kk]|[Ll]|[Ee]|[Bb]|[Ee]|[Rr]|[Rr]|[Yy] . endOfAlternative, [Ff]|[Ii]|[Nn]|[Nn] . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8(PerformanceTests.java:117)</td><td>(?i)Tom|Sawyer|Huckleberry|Finn</td><td>757555800</td><td>119647200</td><td>15,7938%</td><td><nowrap>alternatives([Tt]|[Oo]|[Mm] . endOfAlternative, [Ss]|[Aa]|[Ww]|[Yy]|[Ee]|[Rr] . endOfAlternative, [Hh]|[Uu]|[Cc]|[Kk]|[Ll]|[Ee]|[Bb]|[Ee]|[Rr]|[Rr]|[Yy] . endOfAlternative, [Ff]|[Ii]|[Nn]|[Nn] . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8(PerformanceTests.java:117)</td><td>(?i)Tom|Sawyer|Huckleberry|Finn</td><td>684092600</td><td>110259900</td><td>16,1177%</td><td><nowrap>alternatives([Tt]|[Oo]|[Mm] . endOfAlternative, [Ss]|[Aa]|[Ww]|[Yy]|[Ee]|[Rr] . endOfAlternative, [Hh]|[Uu]|[Cc]|[Kk]|[Ll]|[Ee]|[Bb]|[Ee]|[Rr]|[Rr]|[Yy] . endOfAlternative, [Ff]|[Ii]|[Nn]|[Nn] . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8(PerformanceTests.java:117)</td><td>(?i)Tom|Sawyer|Huckleberry|Finn</td><td>835017700</td><td>120833000</td><td>14,4707%</td><td><nowrap>alternatives([Tt]|[Oo]|[Mm] . endOfAlternative, [Ss]|[Aa]|[Ww]|[Yy]|[Ee]|[Rr] . endOfAlternative, [Hh]|[Uu]|[Cc]|[Kk]|[Ll]|[Ee]|[Bb]|[Ee]|[Rr]|[Rr]|[Yy] . endOfAlternative, [Ff]|[Ii]|[Nn]|[Nn] . endOfAlternative)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test8(PerformanceTests.java:117)</td><td>(?i)Tom|Sawyer|Huckleberry|Finn</td><td>648160900</td><td>117454400</td><td>18,1212%</td><td><nowrap>alternatives([Tt]|[Oo]|[Mm] . endOfAlternative, [Ss]|[Aa]|[Ww]|[Yy]|[Ee]|[Rr] . endOfAlternative, [Hh]|[Uu]|[Cc]|[Kk]|[Ll]|[Ee]|[Bb]|[Ee]|[Rr]|[Rr]|[Yy] . endOfAlternative, [Ff]|[Ii]|[Nn]|[Nn] . endOfAlternative)</nowrap></td></tr>
<tr><td></td></tr>
<tr><td>test.PerformanceTests.test9(PerformanceTests.java:119)</td><td>.{0,2}(Tom|Sawyer|Huckleberry|Finn)</td><td>2273199500</td><td>706569200</td><td>31,0826%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=0, max=2) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9(PerformanceTests.java:119)</td><td>.{0,2}(Tom|Sawyer|Huckleberry|Finn)</td><td>2345049100</td><td>696310400</td><td>29,6928%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=0, max=2) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9(PerformanceTests.java:119)</td><td>.{0,2}(Tom|Sawyer|Huckleberry|Finn)</td><td>2303686500</td><td>710312000</td><td>30,8337%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=0, max=2) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9(PerformanceTests.java:119)</td><td>.{0,2}(Tom|Sawyer|Huckleberry|Finn)</td><td>2218092200</td><td>630469900</td><td>28,4240%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=0, max=2) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9(PerformanceTests.java:119)</td><td>.{0,2}(Tom|Sawyer|Huckleberry|Finn)</td><td>2052214300</td><td>643171700</td><td>31,3404%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=0, max=2) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9(PerformanceTests.java:119)</td><td>.{0,2}(Tom|Sawyer|Huckleberry|Finn)</td><td>2219658100</td><td>649848800</td><td>29,2770%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=0, max=2) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td>test.PerformanceTests.test9(PerformanceTests.java:119)</td><td>.{0,2}(Tom|Sawyer|Huckleberry|Finn)</td><td>2023953800</td><td>691125600</td><td>34,1473%</td><td><nowrap>greedyQuantifierOnCharacterClass(operand=anyCharButLineBreak, min=0, max=2) . capturingGroupStart(1) . alternatives(naive("Tom") . endOfAlternative, naive("Sawyer") . endOfAlternative, naive("Huckleberry") . endOfAlternative, naive("Finn") . endOfAlternative) . capturingGroupEnd(1)</nowrap></td></tr>
<tr><td></td></tr>