← Index
NYTProf Performance Profile   « block view • line view • sub view »
For mentat.storage.mongo.pl
  Run on Tue Jun 24 09:58:41 2014
Reported on Tue Jun 24 09:59:13 2014

Filename/usr/lib/perl5/Readonly/XS.pm
StatementsExecuted 24 statements in 405µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11112µs15µsReadonly::XS::::BEGIN@18Readonly::XS::BEGIN@18
11112µs12µsReadonly::XS::::importReadonly::XS::import
1118µs20µsReadonly::XS::::BEGIN@32Readonly::XS::BEGIN@32
1116µs12µsReadonly::XS::::BEGIN@19Readonly::XS::BEGIN@19
1116µs16µsReadonly::XS::::BEGIN@45Readonly::XS::BEGIN@45
1116µs41µsReadonly::XS::::BEGIN@20Readonly::XS::BEGIN@20
1116µs15µsReadonly::XS::::BEGIN@46Readonly::XS::BEGIN@46
1114µs4µsReadonly::XS::::BEGIN@31Readonly::XS::BEGIN@31
2113µs3µsReadonly::XS::::is_sv_readonlyReadonly::XS::is_sv_readonly (xsub)
2111µs1µsReadonly::XS::::make_sv_readonlyReadonly::XS::make_sv_readonly (xsub)
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1=for gpg
2-----BEGIN PGP SIGNED MESSAGE-----
3Hash: SHA1
4
5=head1 NAME
6
7Readonly::XS - Companion module for Readonly.pm, to speed up read-only
8scalar variables.
9
10=head1 VERSION
11
12This document describes version 1.04 of Readonly::XS, December 6, 2005.
13
14=cut
15
16package Readonly::XS;
17
18223µs218µs
# spent 15µs (12+3) within Readonly::XS::BEGIN@18 which was called: # once (12µs+3µs) by Readonly::BEGIN@2 at line 18
use strict;
# spent 15µs making 1 call to Readonly::XS::BEGIN@18 # spent 3µs making 1 call to strict::import
19223µs216µs
# spent 12µs (6+5) within Readonly::XS::BEGIN@19 which was called: # once (6µs+5µs) by Readonly::BEGIN@2 at line 19
use warnings;
# spent 12µs making 1 call to Readonly::XS::BEGIN@19 # spent 5µs making 1 call to warnings::import
20250µs277µs
# spent 41µs (6+35) within Readonly::XS::BEGIN@20 which was called: # once (6µs+35µs) by Readonly::BEGIN@2 at line 20
use vars qw($VERSION $MAGIC_COOKIE %PL_COMPAT);
# spent 41µs making 1 call to Readonly::XS::BEGIN@20 # spent 35µs making 1 call to vars::import
21
221500ns$VERSION = '1.04';
23
241600nsrequire XSLoader;
251145µs1138µsXSLoader::load('Readonly::XS', $VERSION);
# spent 138µs making 1 call to XSLoader::load
26
27
28# It is an error to use this from any module but Readonly.
29# But sooner or later, someone will.
30BEGIN
31
# spent 4µs within Readonly::XS::BEGIN@31 which was called: # once (4µs+0s) by Readonly::BEGIN@2 at line 38
{
32241µs232µs
# spent 20µs (8+12) within Readonly::XS::BEGIN@32 which was called: # once (8µs+12µs) by Readonly::BEGIN@2 at line 32
no warnings 'uninitialized';
# spent 20µs making 1 call to Readonly::XS::BEGIN@32 # spent 12µs making 1 call to warnings::unimport
3314µs if ($MAGIC_COOKIE ne "Do NOT use or require Readonly::XS unless you're me.")
34 {
35 require Carp;
36 Carp::croak("Readonly::XS is not a standalone module. You should not use it directly.");
37 }
38130µs14µs}
# spent 4µs making 1 call to Readonly::XS::BEGIN@31
39
40sub import
41
# spent 12µs within Readonly::XS::import which was called: # once (12µs+0s) by Readonly::BEGIN@2 at line 2 of (eval 216)[Readonly.pm:42]
{
42713µs my $func;
43 for $func (qw/is_sv_readonly make_sv_readonly/)
44 {
45221µs226µs
# spent 16µs (6+10) within Readonly::XS::BEGIN@45 which was called: # once (6µs+10µs) by Readonly::BEGIN@2 at line 45
no strict 'refs';
# spent 16µs making 1 call to Readonly::XS::BEGIN@45 # spent 10µs making 1 call to strict::unimport
46249µs224µs
# spent 15µs (6+9) within Readonly::XS::BEGIN@46 which was called: # once (6µs+9µs) by Readonly::BEGIN@2 at line 46
no warnings 'redefine';
# spent 15µs making 1 call to Readonly::XS::BEGIN@46 # spent 9µs making 1 call to warnings::unimport
47 *{"Readonly::$func"} = \&$func;
48 }
49 $Readonly::XSokay = 1;
50}
51
52
5314µs1;
54__END__
 
# spent 3µs within Readonly::XS::is_sv_readonly which was called 2 times, avg 1µs/call: # 2 times (3µs+0s) by Readonly::Scalar at line 248 of Readonly.pm, avg 1µs/call
sub Readonly::XS::is_sv_readonly; # xsub
# spent 1µs within Readonly::XS::make_sv_readonly which was called 2 times, avg 650ns/call: # 2 times (1µs+0s) by Readonly::Scalar at line 266 of Readonly.pm, avg 650ns/call
sub Readonly::XS::make_sv_readonly; # xsub