← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 16:10:05 2022
Reported on Wed Dec 14 16:12:56 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/darwin-2level/Ref/Util/XS.pm
StatementsExecuted 44 statements in 1.49ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11143µs47µsRef::Util::XS::::BEGIN@4Ref::Util::XS::BEGIN@4
11112µs30µsRef::Util::XS::::BEGIN@8Ref::Util::XS::BEGIN@8
11111µs12µsRef::Util::XS::::BEGIN@6Ref::Util::XS::BEGIN@6
1119µs16µsRef::Util::XS::::BEGIN@47Ref::Util::XS::BEGIN@47
1119µs53µsRef::Util::XS::::BEGIN@5Ref::Util::XS::BEGIN@5
1112µs2µsRef::Util::XS::::_using_custom_opsRef::Util::XS::_using_custom_ops (xsub)
1111µs1µsRef::Util::XS::::__ANON__Ref::Util::XS::__ANON__ (xsub)
0000s0sRef::Util::XS::::__ANON__[:62]Ref::Util::XS::__ANON__[:62]
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Ref::Util::XS;
2# ABSTRACT: XS implementation for Ref::Util
310s$Ref::Util::XS::VERSION = '0.117';
4242µs251µ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
use strict;
# spent 47µs making 1 call to Ref::Util::XS::BEGIN@4 # spent 4µs making 1 call to strict::import
5223µs297µ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
use warnings;
# spent 53µs making 1 call to Ref::Util::XS::BEGIN@5 # spent 44µs making 1 call to warnings::import
6234µs213µ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
use XSLoader;
# spent 12µs making 1 call to Ref::Util::XS::BEGIN@6 # spent 1µs making 1 call to Ref::Util::XS::__ANON__
7
83144µs348µ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
use Exporter 5.57 'import';
# 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
1013µsour %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
4111µsour @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
42
431909µs1895µsXSLoader::load('Ref::Util::XS', $Ref::Util::XS::{VERSION} ? ${ $Ref::Util::XS::{VERSION} } : ());
# spent 895µs making 1 call to XSLoader::load
44
45110µs12µsif (_using_custom_ops()) {
# spent 2µs making 1 call to Ref::Util::XS::_using_custom_ops
4612µs for my $op (@{$EXPORT_TAGS{all}}) {
472194µs223µ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
no strict 'refs';
# 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) . ")";
6226109µs };
63 }
64}
65
66119µs1;
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
sub Ref::Util::XS::__ANON__; # xsub
# 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
sub Ref::Util::XS::_using_custom_ops; # xsub