← 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:01 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/darwin-2level/Ref/Util/XS.pm
StatementsExecuted 44 statements in 4.69ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11116µs18µsRef::Util::XS::::BEGIN@4Ref::Util::XS::BEGIN@4
1118µs8µsRef::Util::XS::::BEGIN@6Ref::Util::XS::BEGIN@6
1118µs21µsRef::Util::XS::::BEGIN@8Ref::Util::XS::BEGIN@8
1115µs8µsRef::Util::XS::::BEGIN@47Ref::Util::XS::BEGIN@47
1113µs24µsRef::Util::XS::::BEGIN@5Ref::Util::XS::BEGIN@5
1112µs2µsRef::Util::XS::::_using_custom_opsRef::Util::XS::_using_custom_ops (xsub)
1110s0sRef::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';
4222µs220µs
# spent 18µs (16+2) within Ref::Util::XS::BEGIN@4 which was called: # once (16µs+2µs) by OpenAPI::Modern::BEGIN@20 at line 4
use strict;
# spent 18µs making 1 call to Ref::Util::XS::BEGIN@4 # spent 2µs making 1 call to strict::import
5215µs245µs
# spent 24µs (3+21) within Ref::Util::XS::BEGIN@5 which was called: # once (3µs+21µs) by OpenAPI::Modern::BEGIN@20 at line 5
use warnings;
# spent 24µs making 1 call to Ref::Util::XS::BEGIN@5 # spent 21µs making 1 call to warnings::import
6221µs28µs
# spent 8µs within Ref::Util::XS::BEGIN@6 which was called: # once (8µs+0s) by OpenAPI::Modern::BEGIN@20 at line 6
use XSLoader;
# spent 8µs making 1 call to Ref::Util::XS::BEGIN@6 # spent 0s making 1 call to Ref::Util::XS::__ANON__
7
8393µs334µs
# spent 21µs (8+13) within Ref::Util::XS::BEGIN@8 which was called: # once (8µs+13µs) by OpenAPI::Modern::BEGIN@20 at line 8
use Exporter 5.57 'import';
# spent 21µs making 1 call to Ref::Util::XS::BEGIN@8 # spent 7µs making 1 call to Exporter::import # spent 6µs making 1 call to UNIVERSAL::VERSION
9
1012µ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
4112µsour @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
42
4314.29ms14.27msXSLoader::load('Ref::Util::XS', $Ref::Util::XS::{VERSION} ? ${ $Ref::Util::XS::{VERSION} } : ());
# spent 4.27ms making 1 call to XSLoader::load
44
4517µ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}}) {
472159µs211µs
# spent 8µs (5+3) within Ref::Util::XS::BEGIN@47 which was called: # once (5µs+3µs) by OpenAPI::Modern::BEGIN@20 at line 47
no strict 'refs';
# spent 8µs making 1 call to Ref::Util::XS::BEGIN@47 # spent 3µ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) . ")";
622673µs };
63 }
64}
65
66111µs1;
67
68__END__
 
# spent 0s within Ref::Util::XS::__ANON__ which was called: # once (0s+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