← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Thu Dec 15 15:23:56 2022
Reported on Thu Dec 15 15:27:03 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Role/Tiny/With.pm
StatementsExecuted 16 statements in 313µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11122µs25µsRole::Tiny::With::::BEGIN@3Role::Tiny::With::BEGIN@3
11113µs61µsRole::Tiny::With::::BEGIN@4Role::Tiny::With::BEGIN@4
22212µs5.54msRole::Tiny::With::::withRole::Tiny::With::with
11111µs21µsRole::Tiny::With::::BEGIN@11Role::Tiny::With::BEGIN@11
1115µs5µsRole::Tiny::With::::BEGIN@9Role::Tiny::With::BEGIN@9
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Role::Tiny::With;
2
3228µs228µs
# spent 25µs (22+3) within Role::Tiny::With::BEGIN@3 which was called: # once (22µs+3µs) by Data::Perl::Collection::Array::MooseLike::BEGIN@7 at line 3
use strict;
# spent 25µs making 1 call to Role::Tiny::With::BEGIN@3 # spent 3µs making 1 call to strict::import
4287µs2109µs
# spent 61µs (13+48) within Role::Tiny::With::BEGIN@4 which was called: # once (13µs+48µs) by Data::Perl::Collection::Array::MooseLike::BEGIN@7 at line 4
use warnings;
# spent 61µs making 1 call to Role::Tiny::With::BEGIN@4 # spent 48µs making 1 call to warnings::import
5
610sour $VERSION = '2.002004';
712µs$VERSION =~ tr/_//d;
8
9234µs15µs
# spent 5µs within Role::Tiny::With::BEGIN@9 which was called: # once (5µs+0s) by Data::Perl::Collection::Array::MooseLike::BEGIN@7 at line 9
use Role::Tiny ();
# spent 5µs making 1 call to Role::Tiny::With::BEGIN@9
10
112141µs231µs
# spent 21µs (11+10) within Role::Tiny::With::BEGIN@11 which was called: # once (11µs+10µs) by Data::Perl::Collection::Array::MooseLike::BEGIN@7 at line 11
use Exporter 'import';
# spent 21µs making 1 call to Role::Tiny::With::BEGIN@11 # spent 10µs making 1 call to Exporter::import
1211µsour @EXPORT = qw( with );
13
14
# spent 5.54ms (12µs+5.53) within Role::Tiny::With::with which was called 2 times, avg 2.77ms/call: # once (5µs+3.68ms) by Module::Runtime::require_module at line 10 of Data/Perl/Collection/Array/MooseLike.pm # once (7µs+1.85ms) by Module::Runtime::require_module at line 10 of Data/Perl/Collection/Hash/MooseLike.pm
sub with {
1522µs my $target = caller;
16213µs25.53ms Role::Tiny->apply_roles_to_package($target, @_)
# spent 5.53ms making 2 calls to Role::Tiny::apply_roles_to_package, avg 2.77ms/call
17}
18
1915µs1;
20
21=head1 NAME
22
23Role::Tiny::With - Neat interface for consumers of Role::Tiny roles
24
25=head1 SYNOPSIS
26
27 package Some::Class;
28
29 use Role::Tiny::With;
30
31 with 'Some::Role';
32
33 # The role is now mixed in
34
35=head1 DESCRIPTION
36
37C<Role::Tiny> is a minimalist role composition tool. C<Role::Tiny::With>
38provides a C<with> function to compose such roles.
39
40=head1 AUTHORS
41
42See L<Role::Tiny> for authors.
43
44=head1 COPYRIGHT AND LICENSE
45
46See L<Role::Tiny> for the copyright and license.
47
48=cut
49
50