← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:57:08 2022
Reported on Wed Dec 14 16:00:30 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/darwin-2level/Ref/Util/XS.pm
StatementsExecuted 44 statements in 1.32ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11120µs23µsRef::Util::XS::::BEGIN@4Ref::Util::XS::BEGIN@4
1119µs18µsRef::Util::XS::::BEGIN@8Ref::Util::XS::BEGIN@8
1117µs7µsRef::Util::XS::::BEGIN@6Ref::Util::XS::BEGIN@6
1116µs10µsRef::Util::XS::::BEGIN@47Ref::Util::XS::BEGIN@47
1115µ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';
4221µs226µs
# spent 23µs (20+3) within Ref::Util::XS::BEGIN@4 which was called: # once (20µs+3µs) by OpenAPI::Modern::BEGIN@20 at line 4
use strict;
# spent 23µs making 1 call to Ref::Util::XS::BEGIN@4 # spent 3µs making 1 call to strict::import
5210µs243µs
# spent 24µs (5+19) within Ref::Util::XS::BEGIN@5 which was called: # once (5µs+19µs) by OpenAPI::Modern::BEGIN@20 at line 5
use warnings;
# spent 24µs making 1 call to Ref::Util::XS::BEGIN@5 # spent 19µs making 1 call to warnings::import
6220µs27µs
# spent 7µs within Ref::Util::XS::BEGIN@6 which was called: # once (7µs+0s) by OpenAPI::Modern::BEGIN@20 at line 6
use XSLoader;
# spent 7µs making 1 call to Ref::Util::XS::BEGIN@6 # spent 0s making 1 call to Ref::Util::XS::__ANON__
7
8394µs327µs
# spent 18µs (9+9) within Ref::Util::XS::BEGIN@8 which was called: # once (9µs+9µs) by OpenAPI::Modern::BEGIN@20 at line 8
use Exporter 5.57 'import';
# spent 18µs making 1 call to Ref::Util::XS::BEGIN@8 # spent 6µs making 1 call to UNIVERSAL::VERSION # spent 3µs making 1 call to Exporter::import
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
4111µsour @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
42
431889µs1877µsXSLoader::load('Ref::Util::XS', $Ref::Util::XS::{VERSION} ? ${ $Ref::Util::XS::{VERSION} } : ());
# spent 877µs making 1 call to XSLoader::load
44
4518µs12µsif (_using_custom_ops()) {
# spent 2µs making 1 call to Ref::Util::XS::_using_custom_ops
4614µs for my $op (@{$EXPORT_TAGS{all}}) {
472178µs214µs
# spent 10µs (6+4) within Ref::Util::XS::BEGIN@47 which was called: # once (6µs+4µs) by OpenAPI::Modern::BEGIN@20 at line 47
no strict 'refs';
# spent 10µs making 1 call to Ref::Util::XS::BEGIN@47 # spent 4µ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) . ")";
622674µs };
63 }
64}
65
66117µ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