POSIX ICU-Pre ICU-Nopre PCRE PCRE-Lat Glib Glib-Lat BEST
1: "loveliest" 0.83 1.34 1.32 0.72 0.53 1.37 1.38 0.53
2: "birds" 0.74 1.29 1.39 0.7 0.52 1.34 1.34 0.52
3: "of" 0.87 1.41 1.52 0.7 0.5 1.34 1.35 0.5
4: "a" 0.77 1.42 1.41 0.89 0.71 1.54 1.53 0.71
5: "feather" 0.74 1.29 1.27 0.69 0.51 1.34 1.34 0.51
6: "." 0.76 1.55 1.54 0.91 0.72 1.62 1.61 0.72
7: "," 0.71 1.34 1.34 0.87 0.68 1.51 1.51 0.68
8: "\?" 0.71 1.33 1.33 0.87 0.68 1.5 1.51 0.68
9: "will" 0.72 1.32 1.32 0.69 0.5 1.34 1.34 0.5
10: "wo" 0.72 1.33 1.34 0.68 0.51 1.34 1.34 0.51
11: "n't" 0.88 1.38 1.39 0.74 0.56 1.39 1.39 0.56
12: "he" 0.77 1.36 1.36 0.73 0.53 1.37 1.37 0.53
13: "I" 0.72 1.33 1.33 0.87 0.69 1.51 1.51 0.69
14: "said" 0.86 1.36 1.34 0.72 0.52 1.37 1.36 0.52
15: "to" 0.84 1.41 1.42 0.74 0.55 1.41 1.38 0.55
16: "him" 0.78 1.36 1.35 0.69 0.51 1.35 1.34 0.51
17: "&(lsquo|rsquo);" 0.72 1.32 1.33 0.73 0.54 1.38 1.38 0.54
18: "What" 0.72 1.35 1.31 0.69 0.52 1.35 1.33 0.52
19: "'s" 0.72 1.32 1.33 0.69 0.5 1.33 1.34 0.5
20: "up" 0.79 1.46 1.38 0.69 0.51 1.35 1.35 0.51
21: "Sam" 0.75 1.32 1.31 0.69 0.5 1.34 1.33 0.5
22: "bath" 0.74 1.39 1.38 0.69 0.51 1.39 1.38 0.51
23: "Bath" 0.72 1.32 1.33 0.69 0.5 1.34 1.33 0.5
24: "BATH" 0.72 1.31 1.32 0.68 0.5 1.33 1.34 0.5
25: "from" 0.73 1.32 1.31 0.69 0.5 1.34 1.34 0.5
26: "Sun" 0.73 1.38 1.37 0.69 0.52 1.34 1.34 0.52
27: "and" 0.91 1.4 1.41 0.73 0.55 1.37 1.38 0.55
28: "fiancee" 0.81 1.28 1.27 0.71 0.51 1.35 1.35 0.51
29: "mere" 0.76 1.33 1.3 0.73 0.53 1.37 1.35 0.53
30: "deja" 0.81 1.35 1.35 0.73 0.54 1.39 1.39 0.54
31: "vu" 0.74 1.34 1.33 0.69 0.5 1.33 1.33 0.5
32: "Fiancee" 0.72 1.24 1.25 0.69 0.5 1.34 1.36 0.5
33: "s.ng" 0.88 1.39 1.35 0.71 0.52 1.35 1.35 0.52
34: "sing.*" 0.86 1.37 1.37 0.7 0.52 1.35 1.35 0.52
35: "sing.+" 0.85 1.34 1.33 0.71 0.51 1.36 1.34 0.51
36: "imp.ss.ble" 0.89 1.27 1.27 0.78 0.59 1.41 1.42 0.59
37: "super.*" 0.85 1.38 1.38 0.72 0.53 1.39 1.37 0.53
38: "super.+listic.+ous" 0.85 1.31 1.25 0.73 0.54 1.38 1.37 0.54
39: "neighb(our|or)" 0.87 1.33 1.31 0.75 0.57 1.39 1.39 0.57
40: "neighb(ou|o)r" 0.88 1.29 1.3 0.75 0.56 1.4 1.4 0.56
41: "neighbo(u)?r" 0.87 1.32 1.32 0.76 0.56 1.4 1.39 0.56
42: "neighbo(ur|r)" 0.88 1.4 1.42 0.75 0.57 1.4 1.39 0.57
43: "show(s|ed|n|ing)?" 0.86 1.36 1.4 0.72 0.53 1.36 1.36 0.53
44: "art(e|i)fact" 0.91 1.34 1.33 0.79 0.6 1.43 1.43 0.6
45: "art(e|i)fact..+" 0.91 1.29 1.3 0.79 0.6 1.43 1.43 0.6
46: "...." 0.88 1.82 1.82 1.22 1.01 1.98 1.98 0.88
47: ".*lier" 1.39 14.39 14.31 1.56 1.29 2.42 2.38 1.29
48: ".*liest" 1.38 12.49 12.49 1.46 1.22 2.81 2.6 1.22
49: "more" 0.78 1.33 1.32 0.73 0.53 1.38 1.37 0.53
50: ".*ly" 1.4 15.67 15.62 0.91 0.7 1.61 1.6 0.7
51: "most" 0.77 1.31 1.32 0.71 0.52 1.35 1.35 0.52
52: "...+lier" 5.08 9 9 4.53 4.08 5.71 5.52 4.08
53: "...+liest" 5.08 7.61 7.62 4.62 4.47 5.78 5.43 4.47
54: ".*(lier|liest)" 1.35 32.65 33.54 2.43 2.06 3.34 3.13 1.35
55: ".*li(er|est)" 1.36 15.85 15.86 1.84 1.53 2.74 2.74 1.36
56: ".*lie(r|st)" 1.36 15.42 15.41 1.82 1.52 2.73 2.66 1.36
57: "(.*lier|.*liest)" 5.06 30.37 30.33 5.56 5.13 7.01 6.91 5.06
58: "m(ore|ost)" 0.77 1.38 1.39 0.75 0.55 1.39 1.39 0.55
59: "love(ly|lier|liest)" 0.86 1.38 1.49 0.75 0.56 1.38 1.39 0.56
60: "(lovely|lovelier|loveliest)" 0.83 1.52 1.59 1.76 1.42 2.27 2.27 0.83
61: "un.*ly" 0.87 1.62 1.56 0.8 0.58 1.59 1.57 0.58
62: ".*(rr.+rr|ss.+ss|tt.+tt).*y" 1.91 46.89 45.14 1.81 1.47 2.41 2.21 1.47
63: "[A-Za-z]-grade" 3.1 1.76 1.8 2.17 1.91 2.9 2.86 1.76
64: "[A-Z][a-z]+" 1 1.7 1.74 2.86 2.63 3.53 3.31 1
65: "fianc[A-Za-z][A-Za-z]" 0.75 1.36 1.25 0.69 0.5 1.34 1.33 0.5
66: "[0-9]-[0-9]+-[0-9]+-[0-9]" 0.92 1.33 1.33 1.09 0.89 1.74 1.71 0.89
67: "[0-9]+:[0-9]+" 0.93 1.55 1.55 0.68 0.49 1.33 1.33 0.49
68: ".*[A-Z][a-z]+[A-Z][a-z]+.*" 1.64 15.32 15.41 3.73 3.25 4.85 4.67 1.64
69: "[A-Z][A-Za-z0-9'-]+-[A-Za-z0-9'-]+" 1.12 1.54 1.55 1.12 0.89 1.75 1.72 0.89
70: "[A-Z][A-Za-z]+-[A-Za-z]+" 1.12 1.6 1.62 1.07 0.85 1.71 1.68 0.85
71: "anti[A-Za-z]+" 0.9 1.35 1.35 0.77 0.57 1.41 1.41 0.57
72: "[A-Z]+-[A-Z]+" 1.05 1.63 1.6 1.12 0.91 1.77 1.74 0.91
73: "[0-9]+-fold" 0.95 1.39 1.39 1.23 1.02 1.88 1.85 0.95
74: "anti[A-Za-z0-9'-]+" 0.91 1.35 1.36 0.76 0.58 1.41 1.41 0.58
75: "black.*white" 0.74 1.25 1.27 0.71 0.52 1.35 1.35 0.52
76: "[A-Z][a-z]+-[a-z]+-[A-Z][a-z]+" 1.08 1.38 1.4 1.17 0.94 1.81 1.77 0.94
77: "can" 0.78 1.35 1.34 0.72 0.53 1.36 1.36 0.53
78: "beer" 0.75 1.32 1.31 0.71 0.53 1.34 1.34 0.53
79: ".+ice" 5.07 14.01 14.04 6.43 5.78 7.76 7.48 5.07
80: "she" 0.86 1.38 1.37 0.75 0.57 1.41 1.42 0.57
81: "(proved|proven)" 0.76 1.35 1.36 1.29 1.1 1.92 1.91 0.76
82: "proved" 0.76 1.35 1.34 0.7 0.51 1.34 1.35 0.51
83: "proven" 0.75 1.29 1.31 0.71 0.52 1.35 1.35 0.52
84: "(can|might)" 0.85 1.57 1.59 6.17 5.65 6.82 6.48 0.85
85: "might" 0.77 1.3 1.3 0.71 0.52 1.35 1.35 0.52
86: "into" 0.9 1.36 1.36 0.74 0.55 1.38 1.38 0.55
87: "out" 0.86 1.37 1.38 0.74 0.55 1.39 1.38 0.55
88: "or" 0.85 1.41 1.41 0.74 0.56 1.4 1.39 0.56
89: "black" 0.74 1.28 1.29 0.69 0.5 1.33 1.33 0.5
90: "white" 0.73 1.28 1.3 0.69 0.5 1.34 1.35 0.5
91: "but" 0.74 1.32 1.33 0.7 0.51 1.34 1.34 0.51
92: "[a-z]+" 0.79 1.79 1.79 1.68 1.35 2.34 2.19 0.79
93: "it" 0.87 1.45 1.43 0.76 0.56 1.39 1.4 0.56
94: "kick" 0.73 1.28 1.31 0.69 0.5 1.33 1.33 0.5
95: "bucket" 0.74 1.28 1.34 0.69 0.51 1.34 1.34 0.51
96: "When" 0.71 1.31 1.29 0.68 0.5 1.33 1.33 0.5
97: "question" 0.7 1.26 1.26 0.69 0.49 1.33 1.33 0.49
98: "time" 0.85 1.36 1.36 0.76 0.58 1.41 1.41 0.58
99: "money" 0.77 1.29 1.3 0.69 0.5 1.34 1.33 0.5
100: "fiancée" 0.74 1.27 1.28 0.71 0.52 1.34 1.35 0.52
101: "déjà" 0.79 1.34 1.32 0.69 0.5 1.33 1.34 0.5
102: "école" 0.71 1.3 1.29 0.68 0.5 1.33 1.33 0.5
103: "ecole" 0.96 1.35 1.36 0.79 0.6 1.44 1.43 0.6
104: "£" 0.71 1.44 1.44 0.69 0.5 1.33 1.33 0.5
105: "α-particles" 0.72 1.24 1.22 0.69 0.5 1.34 1.34 0.5
106: "♥" 0.71 1.27 1.28 0.7 0.5 1.34 1.34 0.5
107: "δT" 0.72 1.27 1.28 0.68 0.49 1.33 1.33 0.49
108: ".*helli.*" 1.29 12.82 13 1.67 1.38 2.58 2.53 1.29
109: "glitterati" 0.79 1.3 1.29 0.73 0.51 1.35 1.35 0.51
110: ".*able" 1.5 14.03 14.03 1.81 1.49 2.71 2.64 1.49
111: ".+able" 5.09 12.42 12.55 6.4 5.75 7.74 7.45 5.09
112: "...+able" 5.09 9.28 9.03 6.04 5.51 7.4 7.36 5.09
113: ".*oo.+oo.*" 1.41 14.4 13.5 1.52 1.35 2.4 2.34 1.35
114: "...+(able|ability)" 5.05 17.53 16.98 10.2 9.53 11.57 11.43 5.05
115: "lights" 0.83 1.31 1.32 0.73 0.54 1.37 1.37 0.54
116: "super.+" 0.86 1.35 1.41 0.73 0.53 1.37 1.36 0.53
117: "talk" 0.85 1.38 1.36 0.7 0.5 1.34 1.34 0.5
118: "the" 0.85 1.39 1.38 0.78 0.59 1.41 1.4 0.59
119: "town" 0.85 1.35 1.35 0.75 0.55 1.39 1.39 0.55
120: "day" 0.8 1.41 1.41 0.69 0.51 1.34 1.34 0.51
121: "night" 0.88 1.32 1.31 0.74 0.56 1.38 1.38 0.56
122: "(re|in|de)flect(s|ed|ing)?" 1.16 1.58 1.61 2.54 2.24 3.19 3.08 1.16
123: "he is happy" 0.78 1.25 1.35 0.71 0.5 1.34 1.34 0.5
124: "f.?ee" 0.74 1.36 1.33 0.72 0.53 1.37 1.37 0.53
125: "work.*" 0.73 1.33 1.32 0.69 0.5 1.35 1.33 0.5
126: "work.+" 0.73 1.33 1.32 0.68 0.5 1.34 1.34 0.5
127: "work.{1,2}" 0.72 1.29 1.31 0.69 0.49 1.34 1.33 0.49
128: "work.{4,}" 0.73 1.31 1.32 0.68 0.5 1.34 1.33 0.5
129: "o.{0,2}n" 0.86 1.57 1.57 0.84 0.65 1.5 1.49 0.65
130: "d.j." 0.8 1.34 1.34 0.69 0.5 1.33 1.34 0.5
131: ".e.a" 3.42 3.38 3.37 1.61 1.36 2.32 2.27 1.36
132: "works?" 0.72 1.45 1.45 0.69 0.5 1.33 1.33 0.5
133: "colou?r" 0.79 1.31 1.3 0.72 0.53 1.36 1.36 0.53
134: "a{2,}rgh" 0.9 1.44 1.43 0.72 0.53 1.36 1.37 0.53
135: "(un)?easy" 1.03 1.63 1.61 1.18 0.98 1.83 1.81 0.98
136: "(anti-)*pop" 0.96 1.73 1.72 1.15 0.96 1.8 1.78 0.96
137: "(anti-)+pop" 0.91 1.33 1.35 0.72 0.55 1.38 1.37 0.55
138: "(ha){2,4}" 0.77 1.48 1.46 0.76 0.57 1.4 1.4 0.57
139: "(ha){3,}a*" 0.77 1.44 1.42 0.75 0.57 1.4 1.41 0.57
140: "ask(s|ed|ing)?" 0.9 1.45 1.45 0.72 0.53 1.37 1.37 0.53
141: ".{3,}(ness(es)?|it(y|ies)|(tion|ment)s?)" 4.8 46.91 46.81 35.65 33.87 42.79 41.8 4.8
142: "(work(s|ed|ing)|work)" 0.73 1.39 1.43 0.73 0.55 1.38 1.38 0.55
143: "s(i|a|u)ng" 0.86 1.52 1.51 0.74 0.55 1.39 1.39 0.55
144: "s[iau]ng" 0.95 1.37 1.35 0.71 0.52 1.35 1.35 0.52
145: ".*(a|e|i|o|u){4,}.*" 2.34 105.22 105.69 14.17 13.41 15.24 14.92 2.34
146: ".*[aeiou]{4,}.*" 2.36 25.94 26.44 3.65 3.15 4.85 5.2 2.36
147: "\$100m" 0.82 1.36 1.29 0.7 0.5 1.33 1.33 0.5
148: "([aeiou][b-df-hj-np-tv-z]{2}){4,}" 1.7 2.41 2.31 6.28 5.51 6.58 6.31 1.7
149: "([aeiou][a-z]{2}){4,}" 1.77 2.56 2.5 6.28 5.88 6.93 6.94 1.77
150: "(.[^aeiou]{2}){4,}" 4.52 6.62 6.58 7.19 6.64 8.49 7.75 4.52
151: "([^t]*(t[^t]*){3}|[^r]*(r[^r]*){3})" 4.86 60.34 65.34 48.16 46.48 48.84 47.12 4.86
152: "love.*" 0.83 1.36 1.35 0.75 0.56 1.4 1.38 0.56
153: ".+ing" 4.78 13.2 13.12 1.72 1.44 2.51 2.43 1.44
154: "be.*en" 0.75 1.33 1.35 0.69 0.52 1.35 1.35 0.52
155: "be.*" 0.74 1.35 1.36 0.71 0.53 1.36 1.36 0.53
156: ".*en" 1.48 15.54 15.27 1.57 1.28 2.41 2.35 1.28
157: ".+iz(e|es|ed|ing)" 5.03 15.01 14.91 0.88 0.68 1.55 1.54 0.68
158: ".+izations?" 5.06 7.97 8.06 5.53 4.89 6.71 6.45 4.89
159: "very" 0.73 1.3 1.3 0.72 0.81 2.15 2.11 0.72
160: "Thatcher" 1.14 2.01 1.92 0.68 0.5 1.33 1.34 0.5
161: "To" 0.72 1.33 1.31 0.69 0.5 1.33 1.33 0.5
162: "data" 0.8 1.33 1.32 0.72 0.53 1.41 1.76 0.53
163: "not" 1.41 2.24 2.23 1.14 0.92 2.19 2.14 0.92
164: ".*gap:telephone.*" 2.01 5.12 5.09 2.82 2.1 3.96 4.29 2.01
165: "!" 1.14 2.14 2.13 1.41 1.09 2.37 2.37 1.09









Program complete after running 166 benchmarks.
















Total time for POSIX: 208.49






Total time for ICU-with-premapping: 807.45






Total time for ICU-without-premapping0: 810.51






Total time for PCRE: 315.31






Total time for PCRE-Latin1: 273.42






Total time for Glib: 440.63






Total time for Glib-Latin1: 433.3