| Filename | /usr/lib/perl5/XML/SAX/ExpatXS/Preload.pm |
| Statements | Executed 916204 statements in 5.67s |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 365598 | 1 | 1 | 3.01s | 5.29s | XML::SAX::ExpatXS::Preload::__ANON__[:167] |
| 185299 | 1 | 1 | 1.53s | 3.55s | XML::SAX::ExpatXS::Preload::__ANON__[:230] |
| 185299 | 1 | 1 | 1.47s | 10.6s | XML::SAX::ExpatXS::Preload::__ANON__[:41] |
| 5000 | 1 | 1 | 123ms | 135ms | XML::SAX::ExpatXS::Preload::get_start_element |
| 5000 | 1 | 1 | 116ms | 126ms | XML::SAX::ExpatXS::Preload::get_end_element |
| 5000 | 1 | 1 | 113ms | 124ms | XML::SAX::ExpatXS::Preload::get_characters |
| 5000 | 1 | 1 | 111ms | 122ms | XML::SAX::ExpatXS::Preload::get_comment |
| 1 | 1 | 1 | 25µs | 31µs | XML::SAX::ExpatXS::Preload::BEGIN@12 |
| 1 | 1 | 1 | 15µs | 62µs | XML::SAX::ExpatXS::Preload::BEGIN@13 |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:100] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:104] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:113] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:123] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:133] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:137] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:159] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:163] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:176] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:186] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:196] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:200] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:222] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:226] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:239] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:249] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:259] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:263] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:33] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:37] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:50] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:60] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:70] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:74] |
| 0 | 0 | 0 | 0s | 0s | XML::SAX::ExpatXS::Preload::__ANON__[:96] |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package XML::SAX::ExpatXS::Preload; | ||||
| 2 | |||||
| 3 | #-----------------------------------------------------# | ||||
| 4 | # STOP!!!!! | ||||
| 5 | # | ||||
| 6 | # This file is generated by the 'Makefile.PL' file | ||||
| 7 | # that ships with the XML::SAX::ExpatXS distribution. | ||||
| 8 | # If you need to make changes, patch that file NOT | ||||
| 9 | # this one. | ||||
| 10 | #-----------------------------------------------------# | ||||
| 11 | |||||
| 12 | 3 | 47µs | 2 | 37µs | # spent 31µs (25+6) within XML::SAX::ExpatXS::Preload::BEGIN@12 which was called:
# once (25µs+6µs) by XML::SAX::ExpatXS::BEGIN@6 at line 12 # spent 31µs making 1 call to XML::SAX::ExpatXS::Preload::BEGIN@12
# spent 6µs making 1 call to strict::import |
| 13 | 3 | 2.86ms | 2 | 109µs | # spent 62µs (15+47) within XML::SAX::ExpatXS::Preload::BEGIN@13 which was called:
# once (15µs+47µs) by XML::SAX::ExpatXS::BEGIN@6 at line 13 # spent 62µs making 1 call to XML::SAX::ExpatXS::Preload::BEGIN@13
# spent 47µs making 1 call to vars::import |
| 14 | |||||
| 15 | 1 | 2µs | $VERSION = '0.01'; | ||
| 16 | |||||
| 17 | # spent 126ms (116+10.3) within XML::SAX::ExpatXS::Preload::get_end_element which was called 5000 times, avg 25µs/call:
# 5000 times (116ms+10.3ms) by XML::SAX::ExpatXS::_parse at line 147 of XML/SAX/ExpatXS.pm, avg 25µs/call | ||||
| 18 | 30000 | 95.5ms | my $self = shift; | ||
| 19 | |||||
| 20 | my $method; | ||||
| 21 | my $callbacks; | ||||
| 22 | 5000 | 5.57ms | if (exists $self->{ParseOptions}) { | ||
| 23 | $callbacks = $self->{ParseOptions}; | ||||
| 24 | } | ||||
| 25 | else { | ||||
| 26 | $callbacks = $self; | ||||
| 27 | } | ||||
| 28 | |||||
| 29 | 10000 | 29.4ms | 5000 | 10.3ms | if (0) { # dummy to make elsif's below compile # spent 10.3ms making 5000 calls to UNIVERSAL::can, avg 2µs/call |
| 30 | } | ||||
| 31 | elsif (defined $callbacks->{'ContentHandler'} and $method = $callbacks->{'ContentHandler'}->can('end_element') ) { | ||||
| 32 | my $handler = $callbacks->{'ContentHandler'}; | ||||
| 33 | $self->{Methods}->{'end_element'} = sub { $method->($handler, @_) }; | ||||
| 34 | } | ||||
| 35 | elsif (defined $callbacks->{'DocumentHandler'} and $method = $callbacks->{'DocumentHandler'}->can('end_element') ) { | ||||
| 36 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 37 | $self->{Methods}->{'end_element'} = sub { $method->($handler, @_) }; | ||||
| 38 | } | ||||
| 39 | elsif (defined $callbacks->{'Handler'} and $method = $callbacks->{'Handler'}->can('end_element') ) { | ||||
| 40 | my $handler = $callbacks->{'Handler'}; | ||||
| 41 | 185299 | 1.28s | 185299 | 9.08s | # spent 10.6s (1.47+9.08) within XML::SAX::ExpatXS::Preload::__ANON__[/usr/lib/perl5/XML/SAX/ExpatXS/Preload.pm:41] which was called 185299 times, avg 57µs/call:
# 185299 times (1.47s+9.08s) by XML::SAX::ExpatXS::ParseString at line 163 of XML/SAX/ExpatXS.pm, avg 57µs/call # spent 9.08s making 185299 calls to MARC::File::SAX::end_element, avg 49µs/call |
| 42 | } | ||||
| 43 | elsif (defined $callbacks->{'ContentHandler'} and $callbacks->{'ContentHandler'}->can('AUTOLOAD') ) { | ||||
| 44 | my $res = eval { $callbacks->{'ContentHandler'}->end_element(@_) }; | ||||
| 45 | if ($@) { | ||||
| 46 | die $@; | ||||
| 47 | } | ||||
| 48 | else { | ||||
| 49 | my $handler = $callbacks->{'ContentHandler'}; | ||||
| 50 | $self->{Methods}->{'end_element'} = sub { $handler->end_element(@_) }; | ||||
| 51 | } | ||||
| 52 | } | ||||
| 53 | elsif (defined $callbacks->{'DocumentHandler'} and $callbacks->{'DocumentHandler'}->can('AUTOLOAD') ) { | ||||
| 54 | my $res = eval { $callbacks->{'DocumentHandler'}->end_element(@_) }; | ||||
| 55 | if ($@) { | ||||
| 56 | die $@; | ||||
| 57 | } | ||||
| 58 | else { | ||||
| 59 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 60 | $self->{Methods}->{'end_element'} = sub { $handler->end_element(@_) }; | ||||
| 61 | } | ||||
| 62 | } | ||||
| 63 | elsif (defined $callbacks->{'Handler'} and $callbacks->{'Handler'}->can('AUTOLOAD') ) { | ||||
| 64 | my $res = eval { $callbacks->{'Handler'}->end_element(@_) }; | ||||
| 65 | if ($@) { | ||||
| 66 | die $@; | ||||
| 67 | } | ||||
| 68 | else { | ||||
| 69 | my $handler = $callbacks->{'Handler'}; | ||||
| 70 | $self->{Methods}->{'end_element'} = sub { $handler->end_element(@_) }; | ||||
| 71 | } | ||||
| 72 | } | ||||
| 73 | else { | ||||
| 74 | $self->{Methods}->{'end_element'} = sub { }; | ||||
| 75 | } | ||||
| 76 | |||||
| 77 | return 1; | ||||
| 78 | } | ||||
| 79 | |||||
| 80 | # spent 122ms (111+10.2) within XML::SAX::ExpatXS::Preload::get_comment which was called 5000 times, avg 24µs/call:
# 5000 times (111ms+10.2ms) by XML::SAX::ExpatXS::_parse at line 149 of XML/SAX/ExpatXS.pm, avg 24µs/call | ||||
| 81 | 30000 | 94.3ms | my $self = shift; | ||
| 82 | |||||
| 83 | my $method; | ||||
| 84 | my $callbacks; | ||||
| 85 | 5000 | 5.50ms | if (exists $self->{ParseOptions}) { | ||
| 86 | $callbacks = $self->{ParseOptions}; | ||||
| 87 | } | ||||
| 88 | else { | ||||
| 89 | $callbacks = $self; | ||||
| 90 | } | ||||
| 91 | |||||
| 92 | 10000 | 27.8ms | 5000 | 10.2ms | if (0) { # dummy to make elsif's below compile # spent 10.2ms making 5000 calls to UNIVERSAL::can, avg 2µs/call |
| 93 | } | ||||
| 94 | elsif (defined $callbacks->{'DocumentHandler'} and $method = $callbacks->{'DocumentHandler'}->can('comment') ) { | ||||
| 95 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 96 | $self->{Methods}->{'comment'} = sub { $method->($handler, @_) }; | ||||
| 97 | } | ||||
| 98 | elsif (defined $callbacks->{'LexicalHandler'} and $method = $callbacks->{'LexicalHandler'}->can('comment') ) { | ||||
| 99 | my $handler = $callbacks->{'LexicalHandler'}; | ||||
| 100 | $self->{Methods}->{'comment'} = sub { $method->($handler, @_) }; | ||||
| 101 | } | ||||
| 102 | elsif (defined $callbacks->{'Handler'} and $method = $callbacks->{'Handler'}->can('comment') ) { | ||||
| 103 | my $handler = $callbacks->{'Handler'}; | ||||
| 104 | $self->{Methods}->{'comment'} = sub { $method->($handler, @_) }; | ||||
| 105 | } | ||||
| 106 | elsif (defined $callbacks->{'DocumentHandler'} and $callbacks->{'DocumentHandler'}->can('AUTOLOAD') ) { | ||||
| 107 | my $res = eval { $callbacks->{'DocumentHandler'}->comment(@_) }; | ||||
| 108 | if ($@) { | ||||
| 109 | die $@; | ||||
| 110 | } | ||||
| 111 | else { | ||||
| 112 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 113 | $self->{Methods}->{'comment'} = sub { $handler->comment(@_) }; | ||||
| 114 | } | ||||
| 115 | } | ||||
| 116 | elsif (defined $callbacks->{'LexicalHandler'} and $callbacks->{'LexicalHandler'}->can('AUTOLOAD') ) { | ||||
| 117 | my $res = eval { $callbacks->{'LexicalHandler'}->comment(@_) }; | ||||
| 118 | if ($@) { | ||||
| 119 | die $@; | ||||
| 120 | } | ||||
| 121 | else { | ||||
| 122 | my $handler = $callbacks->{'LexicalHandler'}; | ||||
| 123 | $self->{Methods}->{'comment'} = sub { $handler->comment(@_) }; | ||||
| 124 | } | ||||
| 125 | } | ||||
| 126 | elsif (defined $callbacks->{'Handler'} and $callbacks->{'Handler'}->can('AUTOLOAD') ) { | ||||
| 127 | my $res = eval { $callbacks->{'Handler'}->comment(@_) }; | ||||
| 128 | if ($@) { | ||||
| 129 | die $@; | ||||
| 130 | } | ||||
| 131 | else { | ||||
| 132 | my $handler = $callbacks->{'Handler'}; | ||||
| 133 | $self->{Methods}->{'comment'} = sub { $handler->comment(@_) }; | ||||
| 134 | } | ||||
| 135 | } | ||||
| 136 | else { | ||||
| 137 | $self->{Methods}->{'comment'} = sub { }; | ||||
| 138 | } | ||||
| 139 | |||||
| 140 | return 1; | ||||
| 141 | } | ||||
| 142 | |||||
| 143 | # spent 124ms (113+10.3) within XML::SAX::ExpatXS::Preload::get_characters which was called 5000 times, avg 25µs/call:
# 5000 times (113ms+10.3ms) by XML::SAX::ExpatXS::_parse at line 148 of XML/SAX/ExpatXS.pm, avg 25µs/call | ||||
| 144 | 30000 | 94.6ms | my $self = shift; | ||
| 145 | |||||
| 146 | my $method; | ||||
| 147 | my $callbacks; | ||||
| 148 | 5000 | 5.42ms | if (exists $self->{ParseOptions}) { | ||
| 149 | $callbacks = $self->{ParseOptions}; | ||||
| 150 | } | ||||
| 151 | else { | ||||
| 152 | $callbacks = $self; | ||||
| 153 | } | ||||
| 154 | |||||
| 155 | 10000 | 28.9ms | 5000 | 10.3ms | if (0) { # dummy to make elsif's below compile # spent 10.3ms making 5000 calls to UNIVERSAL::can, avg 2µs/call |
| 156 | } | ||||
| 157 | elsif (defined $callbacks->{'ContentHandler'} and $method = $callbacks->{'ContentHandler'}->can('characters') ) { | ||||
| 158 | my $handler = $callbacks->{'ContentHandler'}; | ||||
| 159 | $self->{Methods}->{'characters'} = sub { $method->($handler, @_) }; | ||||
| 160 | } | ||||
| 161 | elsif (defined $callbacks->{'DocumentHandler'} and $method = $callbacks->{'DocumentHandler'}->can('characters') ) { | ||||
| 162 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 163 | $self->{Methods}->{'characters'} = sub { $method->($handler, @_) }; | ||||
| 164 | } | ||||
| 165 | elsif (defined $callbacks->{'Handler'} and $method = $callbacks->{'Handler'}->can('characters') ) { | ||||
| 166 | my $handler = $callbacks->{'Handler'}; | ||||
| 167 | 365598 | 2.57s | 365598 | 2.28s | # spent 5.29s (3.01+2.28) within XML::SAX::ExpatXS::Preload::__ANON__[/usr/lib/perl5/XML/SAX/ExpatXS/Preload.pm:167] which was called 365598 times, avg 14µs/call:
# 365598 times (3.01s+2.28s) by XML::SAX::ExpatXS::ParseString at line 163 of XML/SAX/ExpatXS.pm, avg 14µs/call # spent 2.28s making 365598 calls to MARC::File::SAX::characters, avg 6µs/call |
| 168 | } | ||||
| 169 | elsif (defined $callbacks->{'ContentHandler'} and $callbacks->{'ContentHandler'}->can('AUTOLOAD') ) { | ||||
| 170 | my $res = eval { $callbacks->{'ContentHandler'}->characters(@_) }; | ||||
| 171 | if ($@) { | ||||
| 172 | die $@; | ||||
| 173 | } | ||||
| 174 | else { | ||||
| 175 | my $handler = $callbacks->{'ContentHandler'}; | ||||
| 176 | $self->{Methods}->{'characters'} = sub { $handler->characters(@_) }; | ||||
| 177 | } | ||||
| 178 | } | ||||
| 179 | elsif (defined $callbacks->{'DocumentHandler'} and $callbacks->{'DocumentHandler'}->can('AUTOLOAD') ) { | ||||
| 180 | my $res = eval { $callbacks->{'DocumentHandler'}->characters(@_) }; | ||||
| 181 | if ($@) { | ||||
| 182 | die $@; | ||||
| 183 | } | ||||
| 184 | else { | ||||
| 185 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 186 | $self->{Methods}->{'characters'} = sub { $handler->characters(@_) }; | ||||
| 187 | } | ||||
| 188 | } | ||||
| 189 | elsif (defined $callbacks->{'Handler'} and $callbacks->{'Handler'}->can('AUTOLOAD') ) { | ||||
| 190 | my $res = eval { $callbacks->{'Handler'}->characters(@_) }; | ||||
| 191 | if ($@) { | ||||
| 192 | die $@; | ||||
| 193 | } | ||||
| 194 | else { | ||||
| 195 | my $handler = $callbacks->{'Handler'}; | ||||
| 196 | $self->{Methods}->{'characters'} = sub { $handler->characters(@_) }; | ||||
| 197 | } | ||||
| 198 | } | ||||
| 199 | else { | ||||
| 200 | $self->{Methods}->{'characters'} = sub { }; | ||||
| 201 | } | ||||
| 202 | |||||
| 203 | return 1; | ||||
| 204 | } | ||||
| 205 | |||||
| 206 | # spent 135ms (123+11.6) within XML::SAX::ExpatXS::Preload::get_start_element which was called 5000 times, avg 27µs/call:
# 5000 times (123ms+11.6ms) by XML::SAX::ExpatXS::_parse at line 146 of XML/SAX/ExpatXS.pm, avg 27µs/call | ||||
| 207 | 30000 | 101ms | my $self = shift; | ||
| 208 | |||||
| 209 | my $method; | ||||
| 210 | my $callbacks; | ||||
| 211 | 5000 | 5.84ms | if (exists $self->{ParseOptions}) { | ||
| 212 | $callbacks = $self->{ParseOptions}; | ||||
| 213 | } | ||||
| 214 | else { | ||||
| 215 | $callbacks = $self; | ||||
| 216 | } | ||||
| 217 | |||||
| 218 | 10000 | 34.1ms | 5000 | 11.6ms | if (0) { # dummy to make elsif's below compile # spent 11.6ms making 5000 calls to UNIVERSAL::can, avg 2µs/call |
| 219 | } | ||||
| 220 | elsif (defined $callbacks->{'ContentHandler'} and $method = $callbacks->{'ContentHandler'}->can('start_element') ) { | ||||
| 221 | my $handler = $callbacks->{'ContentHandler'}; | ||||
| 222 | $self->{Methods}->{'start_element'} = sub { $method->($handler, @_) }; | ||||
| 223 | } | ||||
| 224 | elsif (defined $callbacks->{'DocumentHandler'} and $method = $callbacks->{'DocumentHandler'}->can('start_element') ) { | ||||
| 225 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 226 | $self->{Methods}->{'start_element'} = sub { $method->($handler, @_) }; | ||||
| 227 | } | ||||
| 228 | elsif (defined $callbacks->{'Handler'} and $method = $callbacks->{'Handler'}->can('start_element') ) { | ||||
| 229 | my $handler = $callbacks->{'Handler'}; | ||||
| 230 | 185299 | 1.29s | 185299 | 2.03s | # spent 3.55s (1.53+2.03) within XML::SAX::ExpatXS::Preload::__ANON__[/usr/lib/perl5/XML/SAX/ExpatXS/Preload.pm:230] which was called 185299 times, avg 19µs/call:
# 185299 times (1.53s+2.03s) by XML::SAX::ExpatXS::ParseString at line 163 of XML/SAX/ExpatXS.pm, avg 19µs/call # spent 2.03s making 185299 calls to MARC::File::SAX::start_element, avg 11µs/call |
| 231 | } | ||||
| 232 | elsif (defined $callbacks->{'ContentHandler'} and $callbacks->{'ContentHandler'}->can('AUTOLOAD') ) { | ||||
| 233 | my $res = eval { $callbacks->{'ContentHandler'}->start_element(@_) }; | ||||
| 234 | if ($@) { | ||||
| 235 | die $@; | ||||
| 236 | } | ||||
| 237 | else { | ||||
| 238 | my $handler = $callbacks->{'ContentHandler'}; | ||||
| 239 | $self->{Methods}->{'start_element'} = sub { $handler->start_element(@_) }; | ||||
| 240 | } | ||||
| 241 | } | ||||
| 242 | elsif (defined $callbacks->{'DocumentHandler'} and $callbacks->{'DocumentHandler'}->can('AUTOLOAD') ) { | ||||
| 243 | my $res = eval { $callbacks->{'DocumentHandler'}->start_element(@_) }; | ||||
| 244 | if ($@) { | ||||
| 245 | die $@; | ||||
| 246 | } | ||||
| 247 | else { | ||||
| 248 | my $handler = $callbacks->{'DocumentHandler'}; | ||||
| 249 | $self->{Methods}->{'start_element'} = sub { $handler->start_element(@_) }; | ||||
| 250 | } | ||||
| 251 | } | ||||
| 252 | elsif (defined $callbacks->{'Handler'} and $callbacks->{'Handler'}->can('AUTOLOAD') ) { | ||||
| 253 | my $res = eval { $callbacks->{'Handler'}->start_element(@_) }; | ||||
| 254 | if ($@) { | ||||
| 255 | die $@; | ||||
| 256 | } | ||||
| 257 | else { | ||||
| 258 | my $handler = $callbacks->{'Handler'}; | ||||
| 259 | $self->{Methods}->{'start_element'} = sub { $handler->start_element(@_) }; | ||||
| 260 | } | ||||
| 261 | } | ||||
| 262 | else { | ||||
| 263 | $self->{Methods}->{'start_element'} = sub { }; | ||||
| 264 | } | ||||
| 265 | |||||
| 266 | return 1; | ||||
| 267 | } | ||||
| 268 | |||||
| 269 | |||||
| 270 | 1 | 5µs | 1; | ||
| 271 | |||||
| 272 | __END__ |