← 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:22 2013

Filename/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm
StatementsExecuted 62 statements in 8.98ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1111.97ms3.39msRTP::Webmerge::Merge::CSS::::BEGIN@58RTP::Webmerge::Merge::CSS::BEGIN@58
8111.92ms1.92msRTP::Webmerge::Merge::CSS::::__ANON__[:65]RTP::Webmerge::Merge::CSS::__ANON__[:65]
8111.85ms1.85msRTP::Webmerge::Merge::CSS::::__ANON__[:63]RTP::Webmerge::Merge::CSS::__ANON__[:63]
811618µs31.3sRTP::Webmerge::Merge::CSS::::__ANON__[:80]RTP::Webmerge::Merge::CSS::__ANON__[:80]
111113µs405µsRTP::Webmerge::Merge::CSS::::BEGIN@50RTP::Webmerge::Merge::CSS::BEGIN@50
11186µs344µsRTP::Webmerge::Merge::CSS::::BEGIN@8RTP::Webmerge::Merge::CSS::BEGIN@8
21163µs287µsRTP::Webmerge::Merge::CSS::::__ANON__[:62]RTP::Webmerge::Merge::CSS::__ANON__[:62]
11161µs754µsRTP::Webmerge::Merge::CSS::::BEGIN@41RTP::Webmerge::Merge::CSS::BEGIN@41
11157µs90µsRTP::Webmerge::Merge::CSS::::BEGIN@10RTP::Webmerge::Merge::CSS::BEGIN@10
11156µs622µsRTP::Webmerge::Merge::CSS::::BEGIN@42RTP::Webmerge::Merge::CSS::BEGIN@42
11154µs155µsRTP::Webmerge::Merge::CSS::::BEGIN@9RTP::Webmerge::Merge::CSS::BEGIN@9
11154µs54µsRTP::Webmerge::Merge::CSS::::BEGIN@18.19RTP::Webmerge::Merge::CSS::BEGIN@18.19
11124µs24µsRTP::Webmerge::Merge::CSS::::BEGIN@18RTP::Webmerge::Merge::CSS::BEGIN@18
11123µs23µsRTP::Webmerge::Merge::CSS::::BEGIN@24RTP::Webmerge::Merge::CSS::BEGIN@24
11122µs22µsRTP::Webmerge::Merge::CSS::::BEGIN@15RTP::Webmerge::Merge::CSS::BEGIN@15
11122µs22µsRTP::Webmerge::Merge::CSS::::BEGIN@21RTP::Webmerge::Merge::CSS::BEGIN@21
0000s0sRTP::Webmerge::Merge::CSS::::__ANON__[:64]RTP::Webmerge::Merge::CSS::__ANON__[:64]
0000s0sRTP::Webmerge::Merge::CSS::::__ANON__[:66]RTP::Webmerge::Merge::CSS::__ANON__[:66]
0000s0sRTP::Webmerge::Merge::CSS::::__ANON__[:75]RTP::Webmerge::Merge::CSS::__ANON__[:75]
0000s0sRTP::Webmerge::Merge::CSS::::getLicenseRTP::Webmerge::Merge::CSS::getLicense
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 RTP::Webmerge::Merge::CSS;
6###################################################################################################
7
82160µs2602µs
# spent 344µs (86+258) within RTP::Webmerge::Merge::CSS::BEGIN@8 which was called: # once (86µs+258µs) by RTP::Webmerge::Merge::BEGIN@69 at line 8
use Carp;
# spent 344µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@8 # spent 258µs making 1 call to Exporter::import
92158µs2255µs
# spent 155µs (54+100) within RTP::Webmerge::Merge::CSS::BEGIN@9 which was called: # once (54µs+100µs) by RTP::Webmerge::Merge::BEGIN@69 at line 9
use strict;
# spent 155µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@9 # spent 100µs making 1 call to strict::import
102200µs2123µs
# spent 90µs (57+33) within RTP::Webmerge::Merge::CSS::BEGIN@10 which was called: # once (57µs+33µs) by RTP::Webmerge::Merge::BEGIN@69 at line 10
use warnings;
# spent 90µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@10 # spent 33µs making 1 call to warnings::import
11
12###################################################################################################
13
14# define our version string
151176µs122µs
# spent 22µs within RTP::Webmerge::Merge::CSS::BEGIN@15 which was called: # once (22µs+0s) by RTP::Webmerge::Merge::BEGIN@69 at line 15
BEGIN { $RTP::Webmerge::Merge::CSS::VERSION = "0.7.0" }
# spent 22µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@15
16
17# load exporter and inherit from it
183363µs278µs
# spent 54µs within RTP::Webmerge::Merge::CSS::BEGIN@18.19 which was called: # once (54µs+0s) by RTP::Webmerge::Merge::BEGIN@69 at line 18 # spent 24µs within RTP::Webmerge::Merge::CSS::BEGIN@18 which was called: # once (24µs+0s) by RTP::Webmerge::Merge::BEGIN@69 at line 18
BEGIN { use Exporter qw(); our @ISA = qw(Exporter) }
# spent 54µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@18.19 # spent 24µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@18
19
20# define our functions to be exported
211167µs122µs
# spent 22µs within RTP::Webmerge::Merge::CSS::BEGIN@21 which was called: # once (22µs+0s) by RTP::Webmerge::Merge::BEGIN@69 at line 21
BEGIN { our @EXPORT = qw(); }
# spent 22µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@21
22
23# define our functions to be exported
241527µs123µs
# spent 23µs within RTP::Webmerge::Merge::CSS::BEGIN@24 which was called: # once (23µs+0s) by RTP::Webmerge::Merge::BEGIN@69 at line 24
BEGIN { our @EXPORT_OK = qw(); }
# spent 23µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@24
25
26###################################################################################################
27
28# parse license from code
29sub getLicense
30{
31 # map out the licenses from inputs
32 return
33 # remove everything but the very first comment (first line!)
34 ${$_->{'data'}} =~m /\A\s*(\/\*(?:\n|\r|.)+?\*\/)\s*(?:\n|\r|.)*\z/m
35 # return header with given input path and license or nothing
36 ? ( '/* license for ' . $_->{'web_path'} . ' */', $1, '' ) : ();
37}
38
39###################################################################################################
40
412199µs21.45ms
# spent 754µs (61+693) within RTP::Webmerge::Merge::CSS::BEGIN@41 which was called: # once (61µs+693µs) by RTP::Webmerge::Merge::BEGIN@69 at line 41
use RTP::Webmerge::Merge qw(%reader %writer %importer %exporter);
# spent 754µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@41 # spent 693µs making 1 call to Exporter::import
422279µs21.19ms
# spent 622µs (56+567) within RTP::Webmerge::Merge::CSS::BEGIN@42 which was called: # once (56µs+567µs) by RTP::Webmerge::Merge::BEGIN@69 at line 42
use RTP::Webmerge::Merge qw(%joiner %includer %processor);
# spent 622µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@42 # spent 567µs making 1 call to Exporter::import
43
44###################################################################################################
45
46# define joiner string
4717µs$joiner{'css'} = "\n";
48
49# load IO functions
502401µs2697µs
# spent 405µs (113+292) within RTP::Webmerge::Merge::CSS::BEGIN@50 which was called: # once (113µs+292µs) by RTP::Webmerge::Merge::BEGIN@69 at line 50
use RTP::Webmerge::IO::CSS;
# spent 405µs making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@50 # spent 292µs making 1 call to Exporter::import
51
52# assign IO functions
5316µs$reader{'css'} = \&readCSS;
5413µs$importer{'css'} = \&importCSS;
5512µs$exporter{'css'} = \&exportCSS;
5612µs$writer{'css'} = \&writeCSS;
57
5821.66ms23.90ms
# spent 3.39ms (1.97+1.42) within RTP::Webmerge::Merge::CSS::BEGIN@58 which was called: # once (1.97ms+1.42ms) by RTP::Webmerge::Merge::BEGIN@69 at line 58
use RTP::Webmerge::Include::CSS;
# spent 3.39ms making 1 call to RTP::Webmerge::Merge::CSS::BEGIN@58 # spent 512µs making 1 call to Exporter::import
59
60$includer{'css'} =
61{
62260µs2224µs
# spent 287µs (63+224) within RTP::Webmerge::Merge::CSS::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm:62] which was called 2 times, avg 143µs/call: # 2 times (63µs+224µs) by RTP::Webmerge::Merge::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge.pm:480] at line 444 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm, avg 143µs/call
'dev' => sub { includeCSS($_) },
# spent 224µs making 2 calls to RTP::Webmerge::Include::CSS::includeCSS, avg 112µs/call
6382.05ms
# spent 1.85ms within RTP::Webmerge::Merge::CSS::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm:63] which was called 8 times, avg 231µs/call: # 8 times (1.85ms+0s) by RTP::Webmerge::Merge::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge.pm:480] at line 444 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm, avg 231µs/call
'join' => sub { ${$_->{'data'}} },
64 'minify' => sub { ${$_->{'data'}} },
6582.14ms
# spent 1.92ms within RTP::Webmerge::Merge::CSS::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm:65] which was called 8 times, avg 240µs/call: # 8 times (1.92ms+0s) by RTP::Webmerge::Merge::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge.pm:480] at line 444 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm, avg 240µs/call
'compile' => sub { ${$_->{'data'}} },
66 'license' => sub { getLicense($_) }
67136µs};
68
69$processor{'css'} =
70{
71 'minify' => sub
72 {
73 require CSS::Minifier;
74 &CSS::Minifier::minify('input' => $_[0]);
75 },
76 'compile' => sub
77
# spent 31.3s (618µs+31.3) within RTP::Webmerge::Merge::CSS::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm:80] which was called 8 times, avg 3.91s/call: # 8 times (618µs+31.3s) by RTP::Webmerge::Merge::__ANON__[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/RTP/Webmerge/Merge.pm:480] at line 459 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm, avg 3.91s/call
{
78836µs require RTP::Webmerge::Compile::CSS;
798287µs831.3s &RTP::Webmerge::Compile::CSS::compileCSS;
# spent 31.3s making 8 calls to RTP::Webmerge::Compile::CSS::compileCSS, avg 3.91s/call
80 }
81116µs};
82
83###################################################################################################
84###################################################################################################
85140µs1;