← Index
NYTProf Performance Profile   « line view »
For webmerge/scripts/webmerge.pl
  Run on Mon Oct 7 02:42:42 2013
Reported on Mon Oct 7 03:03:20 2013

Filename/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/CSS/Parser/Colors.pm
StatementsExecuted 28 statements in 12.3ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
101013.42ms3.42msOCBNET::CSS::Parser::Colors::::CORE:regcompOCBNET::CSS::Parser::Colors::CORE:regcomp (opcode)
11111134µs134µsOCBNET::CSS::Parser::Colors::::CORE:qrOCBNET::CSS::Parser::Colors::CORE:qr (opcode)
11180µs178µsOCBNET::CSS::Parser::Colors::::BEGIN@8OCBNET::CSS::Parser::Colors::BEGIN@8
11168µs750µsOCBNET::CSS::Parser::Colors::::BEGIN@204OCBNET::CSS::Parser::Colors::BEGIN@204
11156µs56µsOCBNET::CSS::Parser::Colors::::BEGIN@17.6OCBNET::CSS::Parser::Colors::BEGIN@17.6
11154µs85µsOCBNET::CSS::Parser::Colors::::BEGIN@9OCBNET::CSS::Parser::Colors::BEGIN@9
11125µs25µsOCBNET::CSS::Parser::Colors::::BEGIN@20OCBNET::CSS::Parser::Colors::BEGIN@20
11124µs24µsOCBNET::CSS::Parser::Colors::::BEGIN@23OCBNET::CSS::Parser::Colors::BEGIN@23
11124µs24µsOCBNET::CSS::Parser::Colors::::BEGIN@17OCBNET::CSS::Parser::Colors::BEGIN@17
11123µs23µsOCBNET::CSS::Parser::Colors::::BEGIN@14OCBNET::CSS::Parser::Colors::BEGIN@14
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1###################################################################################################
2# Copyright 2013 by Marcel Greter
3# This file is part of Webmerge (GPL3)
4####################################################################################################
5package OCBNET::CSS::Parser::Colors;
6####################################################################################################
7
82163µs2276µs
# spent 178µs (80+98) within OCBNET::CSS::Parser::Colors::BEGIN@8 which was called: # once (80µs+98µs) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 8
use strict;
# spent 178µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@8 # spent 98µs making 1 call to strict::import
92191µs2117µs
# spent 85µs (54+31) within OCBNET::CSS::Parser::Colors::BEGIN@9 which was called: # once (54µs+31µs) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 9
use warnings;
# spent 85µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@9 # spent 31µs making 1 call to warnings::import
10
11####################################################################################################
12
13# define our version string
141161µs123µs
# spent 23µs within OCBNET::CSS::Parser::Colors::BEGIN@14 which was called: # once (23µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 14
BEGIN { $OCBNET::CSS::Parser::Colors = "0.8.2"; }
# spent 23µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@14
15
16# load exporter and inherit from it
173362µs280µs
# spent 24µs within OCBNET::CSS::Parser::Colors::BEGIN@17 which was called: # once (24µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 17 # spent 56µs within OCBNET::CSS::Parser::Colors::BEGIN@17.6 which was called: # once (56µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 17
BEGIN { use Exporter qw(); our @ISA = qw(Exporter); }
# spent 56µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@17.6 # spent 24µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@17
18
19# define our functions that will be exported
201185µs125µs
# spent 25µs within OCBNET::CSS::Parser::Colors::BEGIN@20 which was called: # once (25µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 20
BEGIN { our @EXPORT = qw($re_css_color); }
# spent 25µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@20
21
22# define our functions than can be exported
2313.78ms124µs
# spent 24µs within OCBNET::CSS::Parser::Colors::BEGIN@23 which was called: # once (24µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 23
BEGIN { our @EXPORT_OK = qw(%color_base %color_ext); }
# spent 24µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@23
24
25####################################################################################################
26
27# basic color keywords as defined by w3c
28#**************************************************************************************************
29177µsour %color_base =
30(
31 'black' => ['#000000', 0, 0, 0],
32 'silver' => ['#C0C0C0', 192, 192, 192],
33 'gray' => ['#808080', 128, 128, 128],
34 'white' => ['#FFFFFF', 255, 255, 255],
35 'maroon' => ['#800000', 128, 0, 0],
36 'red' => ['#FF0000', 255, 0, 0],
37 'purple' => ['#800080', 128, 0, 128],
38 'fuchsia' => ['#FF00FF', 255, 0, 255],
39 'green' => ['#008000', 0, 128, 0],
40 'lime' => ['#00FF00', 0, 255, 0],
41 'olive' => ['#808000', 128, 128, 0],
42 'yellow' => ['#FFFF00', 255, 255, 0],
43 'navy' => ['#000080', 0, 0, 128],
44 'blue' => ['#0000FF', 0, 0, 255],
45 'teal' => ['#008080', 0, 128, 128],
46 'aqua' => ['#00FFFF', 0, 255, 255],
47);
48
49# extended color keywords as defined by w3c
50#**************************************************************************************************
511590µsour %color_ext =
52(
53 'aliceblue' => ['#f0f8ff', 240, 248, 255],
54 'antiquewhite' => ['#faebd7', 250, 235, 215],
55 'aqua' => ['#00ffff', 0, 255, 255],
56 'aquamarine' => ['#7fffd4', 127, 255, 212],
57 'azure' => ['#f0ffff', 240, 255, 255],
58 'beige' => ['#f5f5dc', 245, 245, 220],
59 'bisque' => ['#ffe4c4', 255, 228, 196],
60 'black' => ['#000000', 0, 0, 0],
61 'blanchedalmond' => ['#ffebcd', 255, 235, 205],
62 'blue' => ['#0000ff', 0, 0, 255],
63 'blueviolet' => ['#8a2be2', 138, 43, 226],
64 'brown' => ['#a52a2a', 165, 42, 42],
65 'burlywood' => ['#deb887', 222, 184, 135],
66 'cadetblue' => ['#5f9ea0', 95, 158, 160],
67 'chartreuse' => ['#7fff00', 127, 255, 0],
68 'chocolate' => ['#d2691e', 210, 105, 30],
69 'coral' => ['#ff7f50', 255, 127, 80],
70 'cornflowerblue' => ['#6495ed', 100, 149, 237],
71 'cornsilk' => ['#fff8dc', 255, 248, 220],
72 'crimson' => ['#dc143c', 220, 20, 60],
73 'cyan' => ['#00ffff', 0, 255, 255],
74 'darkblue' => ['#00008b', 0, 0, 139],
75 'darkcyan' => ['#008b8b', 0, 139, 139],
76 'darkgoldenrod' => ['#b8860b', 184, 134, 11],
77 'darkgray' => ['#a9a9a9', 169, 169, 169],
78 'darkgreen' => ['#006400', 0, 100, 0],
79 'darkgrey' => ['#a9a9a9', 169, 169, 169],
80 'darkkhaki' => ['#bdb76b', 189, 183, 107],
81 'darkmagenta' => ['#8b008b', 139, 0, 139],
82 'darkolivegreen' => ['#556b2f', 85, 107, 47],
83 'darkorange' => ['#ff8c00', 255, 140, 0],
84 'darkorchid' => ['#9932cc', 153, 50, 204],
85 'darkred' => ['#8b0000', 139, 0, 0],
86 'darksalmon' => ['#e9967a', 233, 150, 122],
87 'darkseagreen' => ['#8fbc8f', 143, 188, 143],
88 'darkslateblue' => ['#483d8b', 72, 61, 139],
89 'darkslategray' => ['#2f4f4f', 47, 79, 79],
90 'darkslategrey' => ['#2f4f4f', 47, 79, 79],
91 'darkturquoise' => ['#00ced1', 0, 206, 209],
92 'darkviolet' => ['#9400d3', 148, 0, 211],
93 'deeppink' => ['#ff1493', 255, 20, 147],
94 'deepskyblue' => ['#00bfff', 0, 191, 255],
95 'dimgray' => ['#696969', 105, 105, 105],
96 'dimgrey' => ['#696969', 105, 105, 105],
97 'dodgerblue' => ['#1e90ff', 30, 144, 255],
98 'firebrick' => ['#b22222', 178, 34, 34],
99 'floralwhite' => ['#fffaf0', 255, 250, 240],
100 'forestgreen' => ['#228b22', 34, 139, 34],
101 'fuchsia' => ['#ff00ff', 255, 0, 255],
102 'gainsboro' => ['#dcdcdc', 220, 220, 220],
103 'ghostwhite' => ['#f8f8ff', 248, 248, 255],
104 'gold' => ['#ffd700', 255, 215, 0],
105 'goldenrod' => ['#daa520', 218, 165, 32],
106 'gray' => ['#808080', 128, 128, 128],
107 'green' => ['#008000', 0, 128, 0],
108 'greenyellow' => ['#adff2f', 173, 255, 47],
109 'grey' => ['#808080', 128, 128, 128],
110 'honeydew' => ['#f0fff0', 240, 255, 240],
111 'hotpink' => ['#ff69b4', 255, 105, 180],
112 'indianred' => ['#cd5c5c', 205, 92, 92],
113 'indigo' => ['#4b0082', 75, 0, 130],
114 'ivory' => ['#fffff0', 255, 255, 240],
115 'khaki' => ['#f0e68c', 240, 230, 140],
116 'lavender' => ['#e6e6fa', 230, 230, 250],
117 'lavenderblush' => ['#fff0f5', 255, 240, 245],
118 'lawngreen' => ['#7cfc00', 124, 252, 0],
119 'lemonchiffon' => ['#fffacd', 255, 250, 205],
120 'lightblue' => ['#add8e6', 173, 216, 230],
121 'lightcoral' => ['#f08080', 240, 128, 128],
122 'lightcyan' => ['#e0ffff', 224, 255, 255],
123 'lightgoldenrodyellow' => ['#fafad2', 250, 250, 210],
124 'lightgray' => ['#d3d3d3', 211, 211, 211],
125 'lightgreen' => ['#90ee90', 144, 238, 144],
126 'lightgrey' => ['#d3d3d3', 211, 211, 211],
127 'lightpink' => ['#ffb6c1', 255, 182, 193],
128 'lightsalmon' => ['#ffa07a', 255, 160, 122],
129 'lightseagreen' => ['#20b2aa', 32, 178, 170],
130 'lightskyblue' => ['#87cefa', 135, 206, 250],
131 'lightslategray' => ['#778899', 119, 136, 153],
132 'lightslategrey' => ['#778899', 119, 136, 153],
133 'lightsteelblue' => ['#b0c4de', 176, 196, 222],
134 'lightyellow' => ['#ffffe0', 255, 255, 224],
135 'lime' => ['#00ff00', 0, 255, 0],
136 'limegreen' => ['#32cd32', 50, 205, 50],
137 'linen' => ['#faf0e6', 250, 240, 230],
138 'magenta' => ['#ff00ff', 255, 0, 255],
139 'maroon' => ['#800000', 128, 0, 0],
140 'mediumaquamarine' => ['#66cdaa', 102, 205, 170],
141 'mediumblue' => ['#0000cd', 0, 0, 205],
142 'mediumorchid' => ['#ba55d3', 186, 85, 211],
143 'mediumpurple' => ['#9370db', 147, 112, 219],
144 'mediumseagreen' => ['#3cb371', 60, 179, 113],
145 'mediumslateblue' => ['#7b68ee', 123, 104, 238],
146 'mediumspringgreen' => ['#00fa9a', 0, 250, 154],
147 'mediumturquoise' => ['#48d1cc', 72, 209, 204],
148 'mediumvioletred' => ['#c71585', 199, 21, 133],
149 'midnightblue' => ['#191970', 25, 25 ,112],
150 'mintcream' => ['#f5fffa', 245, 255, 250],
151 'mistyrose' => ['#ffe4e1', 255, 228, 225],
152 'moccasin' => ['#ffe4b5', 255, 228, 181],
153 'navajowhite' => ['#ffdead', 255, 222, 173],
154 'navy' => ['#000080', 0, 0, 128],
155 'oldlace' => ['#fdf5e6', 253, 245, 230],
156 'olive' => ['#808000', 128, 128, 0],
157 'olivedrab' => ['#6b8e23', 107, 142, 35],
158 'orange' => ['#ffa500', 255, 165, 0],
159 'orangered' => ['#ff4500', 255, 69, 0],
160 'orchid' => ['#da70d6', 218, 112, 214],
161 'palegoldenrod' => ['#eee8aa', 238, 232, 170],
162 'palegreen' => ['#98fb98', 152, 251, 152],
163 'paleturquoise' => ['#afeeee', 175, 238, 238],
164 'palevioletred' => ['#db7093', 219, 112, 147],
165 'papayawhip' => ['#ffefd5', 255, 239, 213],
166 'peachpuff' => ['#ffdab9', 255, 218, 185],
167 'peru' => ['#cd853f', 205, 133, 63],
168 'pink' => ['#ffc0cb', 255, 192, 203],
169 'plum' => ['#dda0dd', 221, 160, 221],
170 'powderblue' => ['#b0e0e6', 176, 224, 230],
171 'purple' => ['#800080', 128, 0, 128],
172 'red' => ['#ff0000', 255, 0, 0],
173 'rosybrown' => ['#bc8f8f', 188, 143, 143],
174 'royalblue' => ['#4169e1', 65, 105, 225],
175 'saddlebrown' => ['#8b4513', 139, 69, 19],
176 'salmon' => ['#fa8072', 250, 128, 114],
177 'sandybrown' => ['#f4a460', 244, 164, 96],
178 'seagreen' => ['#2e8b57', 46, 139, 87],
179 'seashell' => ['#fff5ee', 255, 245, 238],
180 'sienna' => ['#a0522d', 160, 82, 45],
181 'silver' => ['#c0c0c0', 192, 192, 192],
182 'skyblue' => ['#87ceeb', 135, 206, 235],
183 'slateblue' => ['#6a5acd', 106, 90, 205],
184 'slategray' => ['#708090', 112, 128, 144],
185 'slategrey' => ['#708090', 112, 128, 144],
186 'snow' => ['#fffafa', 255, 250, 250],
187 'springgreen' => ['#00ff7f', 0, 255, 127],
188 'steelblue' => ['#4682b4', 70, 130, 180],
189 'tan' => ['#d2b48c', 210, 180, 140],
190 'teal' => ['#008080', 0, 128, 128],
191 'thistle' => ['#d8bfd8', 216, 191, 216],
192 'tomato' => ['#ff6347', 255, 99, 71],
193 'turquoise' => ['#40e0d0', 64, 224, 208],
194 'violet' => ['#ee82ee', 238, 130, 238],
195 'wheat' => ['#f5deb3', 245, 222, 179],
196 'white' => ['#ffffff', 255, 255, 255],
197 'whitesmoke' => ['#f5f5f5', 245, 245, 245],
198 'yellow' => ['#ffff00', 255, 255, 0],
199 'yellowgreen' => ['#9acd32', 154, 205, 50 ]
200);
201
202####################################################################################################
203
20421.84ms21.43ms
# spent 750µs (68+682) within OCBNET::CSS::Parser::Colors::BEGIN@204 which was called: # once (68µs+682µs) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 204
use OCBNET::CSS::Parser::Base;
# spent 750µs making 1 call to OCBNET::CSS::Parser::Colors::BEGIN@204 # spent 682µs making 1 call to Exporter::import
205
206####################################################################################################
207
208# regular expression to find colors
209#**************************************************************************************************
210168µs122µsour $re_css_color_hex = qr/
# spent 22µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
211 \#[0-9A-F]{3,6}
212/xsi;
213
214####################################################################################################
215
216# match a color tripplet
217#**************************************************************************************************
2181305µs2255µsour $re_color_tripple = qr/
# spent 245µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 9µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
219 \s*(?:$re_byte|$re_percent)\s*,
220 \s*(?:$re_byte|$re_percent)\s*,
221 \s*(?:$re_byte|$re_percent)\s*
222/xsi;
223
224# match the alpha channel value
225#**************************************************************************************************
2261558µs282µsour $re_color_alpha = qr/
# spent 63µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 19µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
227 \s*(?:$re_number|$re_percent)\s*
228/xsi;
229
230####################################################################################################
231
232# match for rgb color
233#**************************************************************************************************
2341249µs2211µsour $re_css_color_rgb = qr/
# spent 202µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 9µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
235 rgb\(
236 $re_color_tripple
237 \)
238/xsi;
239
240# match for rgba color
241#**************************************************************************************************
2421248µs2212µsour $re_css_color_rgba = qr/
# spent 203µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 9µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
243 rgba\(
244 $re_color_tripple,
245 $re_color_alpha
246 \)
247/xsi;
248
249# match for hsl color
250#**************************************************************************************************
2511249µs2204µsour $re_css_color_hsl = qr/
# spent 195µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 9µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
252 hsl\(
253 $re_color_tripple
254 \)
255/xsi;
256
257# match for hsla color
258#**************************************************************************************************
2591349µs2292µsour $re_css_color_hsla = qr/
# spent 282µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 11µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
260 hsla\(
261 $re_color_tripple,
262 $re_color_alpha
263 \)
264/xsi;
265
266####################################################################################################
267
268# create joined part for regular expressions
269#**************************************************************************************************
2701151µsmy $color_ext = join('|', keys %color_ext);
271120µsmy $color_base = join('|', keys %color_base);
272
273#**************************************************************************************************
2741124µs276µsour $re_css_color_color_base = qr/
# spent 66µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 10µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
275 \s*$color_base\s*
276/xsi;
277
278#**************************************************************************************************
2791506µs2466µsour $re_css_color_color_ext = qr/
# spent 446µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 20µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
280 \s*$color_ext\s*
281/xsi;
282
283#**************************************************************************************************
2841533µs2496µsour $re_css_color_color = qr/
# spent 488µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 9µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
285 $re_css_color_color_base |
286 $re_css_color_color_ext
287/xsi;
288
289####################################################################################################
290
291# main regular expression for colors
292#**************************************************************************************************
29311.28ms21.24msour $re_css_color = qr/(?:
# spent 1.23ms making 1 call to OCBNET::CSS::Parser::Colors::CORE:regcomp # spent 10µs making 1 call to OCBNET::CSS::Parser::Colors::CORE:qr
294 transparent |
295 currentColor |
296 $re_css_color_hex |
297 $re_css_color_rgb |
298 $re_css_color_rgba |
299 $re_css_color_hsl |
300 $re_css_color_hsla |
301 $re_css_color_color
302)/xsi;
303
304####################################################################################################
305####################################################################################################
3061338µs1;
 
# spent 134µs within OCBNET::CSS::Parser::Colors::CORE:qr which was called 11 times, avg 12µs/call: # once (22µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 210 # once (20µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 279 # once (19µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 226 # once (11µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 259 # once (10µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 274 # once (10µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 293 # once (9µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 218 # once (9µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 251 # once (9µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 234 # once (9µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 284 # once (9µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 242
sub OCBNET::CSS::Parser::Colors::CORE:qr; # opcode
# spent 3.42ms within OCBNET::CSS::Parser::Colors::CORE:regcomp which was called 10 times, avg 342µs/call: # once (1.23ms+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 293 # once (488µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 284 # once (446µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 279 # once (282µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 259 # once (245µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 218 # once (203µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 242 # once (202µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 234 # once (195µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 251 # once (66µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 274 # once (63µs+0s) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 226
sub OCBNET::CSS::Parser::Colors::CORE:regcomp; # opcode