Filename | /Users/ether/.perlbrew/libs/36.0@std/lib/perl5/darwin-2level/Ref/Util/XS.pm |
Statements | Executed 44 statements in 1.49ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 43µs | 47µs | BEGIN@4 | Ref::Util::XS::
1 | 1 | 1 | 12µs | 30µs | BEGIN@8 | Ref::Util::XS::
1 | 1 | 1 | 11µs | 12µs | BEGIN@6 | Ref::Util::XS::
1 | 1 | 1 | 9µs | 16µs | BEGIN@47 | Ref::Util::XS::
1 | 1 | 1 | 9µs | 53µs | BEGIN@5 | Ref::Util::XS::
1 | 1 | 1 | 2µs | 2µs | _using_custom_ops (xsub) | Ref::Util::XS::
1 | 1 | 1 | 1µs | 1µs | __ANON__ (xsub) | Ref::Util::XS::
0 | 0 | 0 | 0s | 0s | __ANON__[:62] | Ref::Util::XS::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Ref::Util::XS; | ||||
2 | # ABSTRACT: XS implementation for Ref::Util | ||||
3 | 1 | 0s | $Ref::Util::XS::VERSION = '0.117'; | ||
4 | 2 | 42µs | 2 | 51µs | # spent 47µs (43+4) within Ref::Util::XS::BEGIN@4 which was called:
# once (43µs+4µs) by OpenAPI::Modern::BEGIN@20 at line 4 # spent 47µs making 1 call to Ref::Util::XS::BEGIN@4
# spent 4µs making 1 call to strict::import |
5 | 2 | 23µs | 2 | 97µs | # spent 53µs (9+44) within Ref::Util::XS::BEGIN@5 which was called:
# once (9µs+44µs) by OpenAPI::Modern::BEGIN@20 at line 5 # spent 53µs making 1 call to Ref::Util::XS::BEGIN@5
# spent 44µs making 1 call to warnings::import |
6 | 2 | 34µs | 2 | 13µs | # spent 12µs (11+1) within Ref::Util::XS::BEGIN@6 which was called:
# once (11µs+1µs) by OpenAPI::Modern::BEGIN@20 at line 6 # spent 12µs making 1 call to Ref::Util::XS::BEGIN@6
# spent 1µs making 1 call to Ref::Util::XS::__ANON__ |
7 | |||||
8 | 3 | 144µs | 3 | 48µs | # spent 30µs (12+18) within Ref::Util::XS::BEGIN@8 which was called:
# once (12µs+18µs) by OpenAPI::Modern::BEGIN@20 at line 8 # spent 30µs making 1 call to Ref::Util::XS::BEGIN@8
# spent 10µs making 1 call to UNIVERSAL::VERSION
# spent 8µs making 1 call to Exporter::import |
9 | |||||
10 | 1 | 3µs | our %EXPORT_TAGS = ( 'all' => [qw< | ||
11 | is_ref | ||||
12 | is_scalarref | ||||
13 | is_arrayref | ||||
14 | is_hashref | ||||
15 | is_coderef | ||||
16 | is_regexpref | ||||
17 | is_globref | ||||
18 | is_formatref | ||||
19 | is_ioref | ||||
20 | is_refref | ||||
21 | |||||
22 | is_plain_ref | ||||
23 | is_plain_scalarref | ||||
24 | is_plain_arrayref | ||||
25 | is_plain_hashref | ||||
26 | is_plain_coderef | ||||
27 | is_plain_globref | ||||
28 | is_plain_formatref | ||||
29 | is_plain_refref | ||||
30 | |||||
31 | is_blessed_ref | ||||
32 | is_blessed_scalarref | ||||
33 | is_blessed_arrayref | ||||
34 | is_blessed_hashref | ||||
35 | is_blessed_coderef | ||||
36 | is_blessed_globref | ||||
37 | is_blessed_formatref | ||||
38 | is_blessed_refref | ||||
39 | >] ); | ||||
40 | |||||
41 | 1 | 1µs | our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); | ||
42 | |||||
43 | 1 | 909µs | 1 | 895µs | XSLoader::load('Ref::Util::XS', $Ref::Util::XS::{VERSION} ? ${ $Ref::Util::XS::{VERSION} } : ()); # spent 895µs making 1 call to XSLoader::load |
44 | |||||
45 | 1 | 10µs | 1 | 2µs | if (_using_custom_ops()) { # spent 2µs making 1 call to Ref::Util::XS::_using_custom_ops |
46 | 1 | 2µs | for my $op (@{$EXPORT_TAGS{all}}) { | ||
47 | 2 | 194µs | 2 | 23µs | # spent 16µs (9+7) within Ref::Util::XS::BEGIN@47 which was called:
# once (9µs+7µs) by OpenAPI::Modern::BEGIN@20 at line 47 # spent 16µs making 1 call to Ref::Util::XS::BEGIN@47
# spent 7µs making 1 call to strict::unimport |
48 | *{"B::Deparse::pp_$op"} = sub { | ||||
49 | my ($deparse, $bop, $cx) = @_; | ||||
50 | my @kids = $deparse->deparse($bop->first, 6); | ||||
51 | my $sib = $bop->first->sibling; | ||||
52 | if (ref $sib ne 'B::NULL') { | ||||
53 | push @kids, $deparse->deparse($sib, 6); | ||||
54 | } | ||||
55 | my $prefix | ||||
56 | = ( | ||||
57 | exists &{"$deparse->{curstash}::$op"} | ||||
58 | && \&{"$deparse->{curstash}::$op"} == \&{__PACKAGE__.'::'.$op} | ||||
59 | ) | ||||
60 | ? '' : (__PACKAGE__.'::'); | ||||
61 | return "$prefix$op(" . join(", ", @kids) . ")"; | ||||
62 | 26 | 109µs | }; | ||
63 | } | ||||
64 | } | ||||
65 | |||||
66 | 1 | 19µs | 1; | ||
67 | |||||
68 | __END__ | ||||
# spent 1µs within Ref::Util::XS::__ANON__ which was called:
# once (1µs+0s) by Ref::Util::XS::BEGIN@6 at line 6 | |||||
# spent 2µs within Ref::Util::XS::_using_custom_ops which was called:
# once (2µs+0s) by OpenAPI::Modern::BEGIN@20 at line 45 |