Profile of Plack/Middleware.pm

← Index
NYTProf Performance Profile «line view»
For script/ponapi
Run on Wed Feb 10 15:51:26 2016
Reported on Thu Feb 11 09:43:10 2016

Filename | /usr/local/share/perl/5.18.2/Plack/Middleware.pm
Statements | Executed 33 statements in 363µs

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 194µs | 261µs | Plack::Middleware::::BEGIN@7Plack::Middleware::BEGIN@7
5 | 4 | 4 | 90µs | 762µs | Plack::Middleware::::wrapPlack::Middleware::wrap
1 | 1 | 1 | 10µs | 23µs | Plack::Middleware::::BEGIN@3Plack::Middleware::BEGIN@3
1 | 1 | 1 | 9µs | 18µs | Plack::Middleware::::BEGIN@2Plack::Middleware::BEGIN@2
1 | 1 | 1 | 7µs | 437µs | Plack::Middleware::::BEGIN@5Plack::Middleware::BEGIN@5
1 | 1 | 1 | 4µs | 4µs | Plack::Middleware::::BEGIN@6Plack::Middleware::BEGIN@6
1 | 1 | 1 | 4µs | 4µs | Plack::Middleware::::BEGIN@4Plack::Middleware::BEGIN@4

Call graph for these subroutines as a Graphviz dot language file.

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 |  |  |  |  | package Plack::Middleware;
2 | 2 | 33µs | 2 | 28µs | # spent 18µs (9+10) within Plack::Middleware::BEGIN@2 which was called: # once (9µs+10µs) by parent::import at line 2 use strict; # spent 18µs making 1 call to Plack::Middleware::BEGIN@2 # spent 10µs making 1 call to strict::import
3 | 2 | 34µs | 2 | 36µs | # spent 23µs (10+13) within Plack::Middleware::BEGIN@3 which was called: # once (10µs+13µs) by parent::import at line 3 use warnings; # spent 23µs making 1 call to Plack::Middleware::BEGIN@3 # spent 13µs making 1 call to warnings::import
4 | 2 | 31µs | 1 | 4µs | # spent 4µs within Plack::Middleware::BEGIN@4 which was called: # once (4µs+0s) by parent::import at line 4 use Carp (); # spent 4µs making 1 call to Plack::Middleware::BEGIN@4
5 | 2 | 24µs | 2 | 437µs | # spent 437µs (7+430) within Plack::Middleware::BEGIN@5 which was called: # once (7µs+430µs) by parent::import at line 5 use parent qw(Plack::Component); # spent 437µs making 1 call to Plack::Middleware::BEGIN@5 # spent 430µs making 1 call to parent::import, recursion: max depth 1, sum of overlapping time 430µs
6 | 2 | 19µs | 1 | 4µs | # spent 4µs within Plack::Middleware::BEGIN@6 which was called: # once (4µs+0s) by parent::import at line 6 use Plack::Util; # spent 4µs making 1 call to Plack::Middleware::BEGIN@6
7 | 2 | 132µs | 2 | 286µs | # spent 261µs (194+67) within Plack::Middleware::BEGIN@7 which was called: # once (194µs+67µs) by parent::import at line 7 use Plack::Util::Accessor qw( app ); # spent 261µs making 1 call to Plack::Middleware::BEGIN@7 # spent 25µs making 1 call to Plack::Util::Accessor::import
8 |  |  |  |  |
9 |  |  |  |  | # spent 762µs (90+671) within Plack::Middleware::wrap which was called 5 times, avg 152µs/call: # 2 times (17µs+427µs) by Plack::Runner::__ANON__[/usr/local/share/perl/5.18.2/Plack/Runner.pm:193] at line 193 of Plack/Runner.pm, avg 222µs/call # once (35µs+193µs) by PONAPI::CLI::RunServer::run at line 19 of lib/PONAPI/CLI/RunServer.pm # once (23µs+24µs) by HTTP::Server::PSGI::accept_loop at line 103 of HTTP/Server/PSGI.pm # once (16µs+27µs) by Plack::Middleware::Lint::wrap at line 16 of Plack/Middleware/Lint.pm sub wrap {
10 | 5 | 6µs |  |  | my($self, $app, @args) = @_;
11 | 5 | 8µs |  |  | if (ref $self) {
12 |  |  |  |  | $self->{app} = $app;
13 |  |  |  |  | } else {
14 | 5 | 27µs | 5 | 199µs | $self = $self->new({ app => $app, @args }); # spent 174µs making 1 call to Plack::Middleware::MethodOverride::new # spent 26µs making 4 calls to Plack::Component::new, avg 6µs/call
15 |  |  |  |  | }
16 | 5 | 48µs | 5 | 472µs | return $self->to_app; # spent 472µs making 5 calls to Plack::Component::to_app, avg 94µs/call
17 |  |  |  |  | }
18 |  |  |  |  |
19 | 1 | 2µs |  |  | 1;
20 |  |  |  |  |
21 |  |  |  |  | __END__