← Index
NYTProf Performance Profile   « block view • line view • sub view »
For conv.pl
  Run on Sun Nov 14 22:50:31 2010
Reported on Sun Nov 14 22:51:21 2010

Filename/usr/lib/perl5/XML/LibXML/Boolean.pm
StatementsExecuted 17 statements in 650µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111696µs1.76msXML::LibXML::Boolean::::BEGIN@12XML::LibXML::Boolean::BEGIN@12
11132µs90µsXML::LibXML::Boolean::::BEGIN@21XML::LibXML::Boolean::BEGIN@21
11115µs54µsXML::LibXML::Boolean::::BEGIN@16XML::LibXML::Boolean::BEGIN@16
11113µs20µsXML::LibXML::Boolean::::BEGIN@14XML::LibXML::Boolean::BEGIN@14
11110µs10µsXML::LibXML::Boolean::::BEGIN@13XML::LibXML::Boolean::BEGIN@13
0000s0sXML::LibXML::Boolean::::FalseXML::LibXML::Boolean::False
0000s0sXML::LibXML::Boolean::::TrueXML::LibXML::Boolean::True
0000s0sXML::LibXML::Boolean::::cmpXML::LibXML::Boolean::cmp
0000s0sXML::LibXML::Boolean::::newXML::LibXML::Boolean::new
0000s0sXML::LibXML::Boolean::::string_valueXML::LibXML::Boolean::string_value
0000s0sXML::LibXML::Boolean::::to_booleanXML::LibXML::Boolean::to_boolean
0000s0sXML::LibXML::Boolean::::to_literalXML::LibXML::Boolean::to_literal
0000s0sXML::LibXML::Boolean::::to_numberXML::LibXML::Boolean::to_number
0000s0sXML::LibXML::Boolean::::valueXML::LibXML::Boolean::value
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# $Id: Boolean.pm 785 2009-07-16 14:17:46Z pajas $
2#
3#
4# This is free software, you may use it and distribute it under the same terms as
5# Perl itself.
6#
7# Copyright 2001-2003 AxKit.com Ltd., 2002-2006 Christian Glahn, 2006-2009 Petr Pajas
8#
9#
10
11package XML::LibXML::Boolean;
123148µs11.76ms
# spent 1.76ms (696µs+1.06) within XML::LibXML::Boolean::BEGIN@12 which was called: # once (696µs+1.06ms) by XML::LibXML::NodeList::BEGIN@12 at line 12
use XML::LibXML::Number;
# spent 1.76ms making 1 call to XML::LibXML::Boolean::BEGIN@12
13336µs110µs
# spent 10µs within XML::LibXML::Boolean::BEGIN@13 which was called: # once (10µs+0s) by XML::LibXML::NodeList::BEGIN@12 at line 13
use XML::LibXML::Literal;
# spent 10µs making 1 call to XML::LibXML::Boolean::BEGIN@13
14340µs227µs
# spent 20µs (13+7) within XML::LibXML::Boolean::BEGIN@14 which was called: # once (13µs+7µs) by XML::LibXML::NodeList::BEGIN@12 at line 14
use strict;
# spent 20µs making 1 call to XML::LibXML::Boolean::BEGIN@14 # spent 7µs making 1 call to strict::import
15
16367µs293µs
# spent 54µs (15+39) within XML::LibXML::Boolean::BEGIN@16 which was called: # once (15µs+39µs) by XML::LibXML::NodeList::BEGIN@12 at line 16
use vars qw ($VERSION);
# spent 54µs making 1 call to XML::LibXML::Boolean::BEGIN@16 # spent 39µs making 1 call to vars::import
17
1812µs$VERSION = "1.70"; # VERSION TEMPLATE: DO NOT CHANGE
19
20use overload
21158µs
# spent 90µs (32+58) within XML::LibXML::Boolean::BEGIN@21 which was called: # once (32µs+58µs) by XML::LibXML::NodeList::BEGIN@12 at line 22
'""' => \&value,
# spent 58µs making 1 call to overload::import
223353µs190µs '<=>' => \&cmp;
# spent 90µs making 1 call to XML::LibXML::Boolean::BEGIN@21
23
24sub new {
25 my $class = shift;
26 my ($param) = @_;
27 my $val = $param ? 1 : 0;
28 bless \$val, $class;
29}
30
31sub True {
32 my $class = shift;
33 my $val = 1;
34 bless \$val, $class;
35}
36
37sub False {
38 my $class = shift;
39 my $val = 0;
40 bless \$val, $class;
41}
42
43sub value {
44 my $self = shift;
45 $$self;
46}
47
48sub cmp {
49 my $self = shift;
50 my ($other, $swap) = @_;
51 if ($swap) {
52 return $other <=> $$self;
53 }
54 return $$self <=> $other;
55}
56
57sub to_number { XML::LibXML::Number->new($_[0]->value); }
58sub to_boolean { $_[0]; }
59sub to_literal { XML::LibXML::Literal->new($_[0]->value ? "true" : "false"); }
60
61sub string_value { return $_[0]->to_literal->value; }
62
6314µs1;
64__END__