Game-Collisions

 view release on metacpan or  search on metacpan

nytprof/constant-pm-19-line.html  view on Meta::CPAN

        <th>Exclusive<br />Time</th>
        <th>Inclusive<br />Time</th>
        <th>Subroutine</th>
        </tr>
        </thead>
    <tbody>
<tr><td class="c0">11</td><td class="c0">11</td><td class="c1">2</td><td class="c0"><span title="0.0%">232µs</span></td><td class="c0"><span title="0.0%">288µs</span></td><td class="sub_name"><span style="display: none;">constant::::import</span>co...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">29µs</span></td><td class="c0"><span title="0.0%">31µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@24</span>cons...
<tr><td class="c0">11</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">16µs</span></td><td class="c3"><span title="0.0%">16µs</span></td><td class="sub_name"><span style="display: none;">constant::::CORE:subst</span>c...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">16µs</span></td><td class="c3"><span title="0.0%">16µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@2</span>const...
<tr><td class="c0">11</td><td class="c3">1</td><td class="c3">1</td><td class="c1"><span title="0.0%">14µs</span></td><td class="c3"><span title="0.0%">14µs</span></td><td class="sub_name"><span style="display: none;">constant::::CORE:match</span>c...
<tr><td class="c0">11</td><td class="c3">1</td><td class="c3">1</td><td class="c2"><span title="0.0%">12µs</span></td><td class="c3"><span title="0.0%">12µs</span></td><td class="sub_name"><span style="display: none;">constant::::CORE:regcomp</span...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">9µs</span></td><td class="c3"><span title="0.0%">19µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@141</span>cons...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">8µs</span></td><td class="c2"><span title="0.0%">21µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@40</span>const...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">8µs</span></td><td class="c3"><span title="0.0%">11µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@3</span>consta...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">7µs</span></td><td class="c3"><span title="0.0%">18µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@65</span>const...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">7µs</span></td><td class="c1"><span title="0.0%">22µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@90</span>const...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">6µs</span></td><td class="c0"><span title="0.0%">91µs</span></td><td class="sub_name"><span style="display: none;">constant::::BEGIN@4</span>consta...
<tr><td class="c0">3</td><td class="c0">3</td><td class="c3">1</td><td class="c3"><span title="0.0%">3µs</span></td><td class="c3"><span title="0.0%">3µs</span></td><td class="sub_name"><span style="display: none;">constant::::CORE:qr</span>constan...
<tr><td class="c3">0</td><td class="c3">0</td><td class="c3">0</td><td class="c3"><span title="0.0%">0s</span></td><td class="c3"><span title="0.0%">0s</span></td><td class="sub_name"><span style="display: none;">constant::::__ANON__[:174]</span>cons...
<tr><td class="c3">0</td><td class="c3">0</td><td class="c3">0</td><td class="c3"><span title="0.0%">0s</span></td><td class="c3"><span title="0.0%">0s</span></td><td class="sub_name"><span style="display: none;">constant::::__ANON__[:190]</span>cons...
<tr><td class="c3">0</td><td class="c3">0</td><td class="c3">0</td><td class="c3"><span title="0.0%">0s</span></td><td class="c3"><span title="0.0%">0s</span></td><td class="sub_name"><span style="display: none;">constant::::__ANON__[:192]</span>cons...
<tr><td class="c3">0</td><td class="c3">0</td><td class="c3">0</td><td class="c3"><span title="0.0%">0s</span></td><td class="c3"><span title="0.0%">0s</span></td><td class="sub_name"><span style="display: none;">constant::::__ANON__[:41]</span>const...
<tr><td class="c3">0</td><td class="c3">0</td><td class="c3">0</td><td class="c3"><span title="0.0%">0s</span></td><td class="c3"><span title="0.0%">0s</span></td><td class="sub_name"><span style="display: none;">constant::::__ANON__[:42]</span>const...
<tr><td class="c3">0</td><td class="c3">0</td><td class="c3">0</td><td class="c3"><span title="0.0%">0s</span></td><td class="c3"><span title="0.0%">0s</span></td><td class="sub_name"><span style="display: none;">constant::::__ANON__[:43]</span>const...
</tbody></table>
                Call graph for these subroutines as a
                <a href="http://en.wikipedia.org/wiki/Graphviz">Graphviz</a>
                <a href="usr-share-perl-5-26-constant-pm.dot">dot language file</a>.
            
      <table border="1" cellpadding="0" class="floatHeaders">
      <thead>
      <tr><th>Line</th>
      <th><span title="Number of statements executed">State<br />ments</span></th>
      <th><span title="Time spend executing statements on the line,
        excluding time spent executing statements in any called subroutines">Time<br />on line</span></th>
      <th><span title="Number of subroutines calls">Calls</span></th>
      <th><span title="Time spent in subroutines called (inclusive)">Time<br />in subs</span></th>
      <th class="left_indent_header">Code</th>
      </tr>

      </thead>
      <tbody>
    <tr><td class="h"><a name="1"></a>1</td><td></td><td></td><td></td><td></td><td class="s">package constant;</td></tr>
<tr><td class="h"><a name="2"></a>2</td><td class="c3">2</td><td class="c0"><span title="Avg 22µs">44µs</span></td><td class="c3">1</td><td class="c3">16µs</td><td class="s"><div class="calls"><div class="calls_in"># spent 16µs within constant::B...
#    once (16µs+0s) by Game::Collisions::AABB::BEGIN@32 at <a href="constant-pm-19-line.html#2">line 2</a></div></div>use 5.008;<div class="calls"><div class="calls_out"># spent    16µs making 1 call to <a href="constant-pm-19-line.html#2">constant...
<tr><td class="h"><a name="3"></a>3</td><td class="c3">2</td><td class="c0"><span title="Avg 11µs">23µs</span></td><td class="c3">2</td><td class="c3">15µs</td><td class="s"><div class="calls"><div class="calls_in"># spent 11µs (8+3) within const...
#    once (8µs+3µs) by Game::Collisions::AABB::BEGIN@32 at <a href="constant-pm-19-line.html#3">line 3</a></div></div>use strict;<div class="calls"><div class="calls_out"># spent    11µs making 1 call to <a href="constant-pm-19-line.html#3">consta...
# spent     3µs making 1 call to <a href="strict-pm-4-line.html#60">strict::import</a></div></div></td></tr>
<tr><td class="h"><a name="4"></a>4</td><td class="c3">2</td><td class="c0"><span title="Avg 162µs">324µs</span></td><td class="c3">2</td><td class="c0">177µs</td><td class="s"><div class="calls"><div class="calls_in"># spent 91µs (6+86) within c...
#    once (6µs+86µs) by Game::Collisions::AABB::BEGIN@32 at <a href="constant-pm-19-line.html#4">line 4</a></div></div>use warnings::register;<div class="calls"><div class="calls_out"># spent    91µs making 1 call to <a href="constant-pm-19-line.h...
# spent    86µs making 1 call to <a href="warnings-register-pm-9-line.html#18">warnings::register::import</a></div></div></td></tr>
<tr><td class="h"><a name="5"></a>5</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="6"></a>6</td><td class="c3">1</td><td class="c3"><span title="Avg 400ns">400ns</span></td><td></td><td></td><td class="s">our $VERSION = '1.33';</td></tr>
<tr><td class="h"><a name="7"></a>7</td><td></td><td></td><td></td><td></td><td class="s">our %declared;</td></tr>
<tr><td class="h"><a name="8"></a>8</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="9"></a>9</td><td></td><td></td><td></td><td></td><td class="s">#=======================================================================</td></tr>
<tr><td class="h"><a name="10"></a>10</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="11"></a>11</td><td></td><td></td><td></td><td></td><td class="s"># Some names are evil choices.</td></tr>
<tr><td class="h"><a name="12"></a>12</td><td class="c3">1</td><td class="c3"><span title="Avg 5µs">5µs</span></td><td></td><td></td><td class="s">my %keywords = map +($_, 1), qw{ BEGIN INIT CHECK END DESTROY AUTOLOAD };</td></tr>
<tr><td class="h"><a name="13"></a>13</td><td class="c3">1</td><td class="c3"><span title="Avg 1µs">1µs</span></td><td></td><td></td><td class="s">$keywords{UNITCHECK}++ if $] &gt; 5.009;</td></tr>
<tr><td class="h"><a name="14"></a>14</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="15"></a>15</td><td class="c3">1</td><td class="c3"><span title="Avg 4µs">4µs</span></td><td></td><td></td><td class="s">my %forced_into_main = map +($_, 1),</td></tr>
<tr><td class="h"><a name="16"></a>16</td><td></td><td></td><td></td><td></td><td class="s">    qw{ STDIN STDOUT STDERR ARGV ARGVOUT ENV INC SIG };</td></tr>
<tr><td class="h"><a name="17"></a>17</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="18"></a>18</td><td class="c3">1</td><td class="c3"><span title="Avg 5µs">5µs</span></td><td></td><td></td><td class="s">my %forbidden = (%keywords, %forced_into_main);</td></tr>
<tr><td class="h"><a name="19"></a>19</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="20"></a>20</td><td class="c3">1</td><td class="c1"><span title="Avg 8µs">8µs</span></td><td class="c3">1</td><td class="c3">2µs</td><td class="s">my $normal_constant_name = qr/^_?[^\W_0-9]\w*\z/;<div class="calls"><div c...
<tr><td class="h"><a name="21"></a>21</td><td class="c3">1</td><td class="c3"><span title="Avg 2µs">2µs</span></td><td class="c3">1</td><td class="c3">600ns</td><td class="s">my $tolerable = qr/^[A-Za-z_]\w*\z/;<div class="calls"><div class="calls_...
<tr><td class="h"><a name="22"></a>22</td><td class="c3">1</td><td class="c3"><span title="Avg 2µs">2µs</span></td><td class="c3">1</td><td class="c3">400ns</td><td class="s">my $boolean = qr/^[01]?\z/;<div class="calls"><div class="calls_out"># sp...
<tr><td class="h"><a name="23"></a>23</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="24"></a>24</td><td></td><td></td><td></td><td></td><td class="s"><div class="calls"><div class="calls_in"># spent 31µs (29+2) within constant::BEGIN@24 which was called:
#    once (29µs+2µs) by Game::Collisions::AABB::BEGIN@32 at <a href="constant-pm-19-line.html#45">line 45</a></div></div>BEGIN {</td></tr>
<tr><td class="h"><a name="25"></a>25</td><td></td><td></td><td></td><td></td><td class="s">    # We'd like to do use constant _CAN_PCS =&gt; $] &gt; 5.009002</td></tr>
<tr><td class="h"><a name="26"></a>26</td><td></td><td></td><td></td><td></td><td class="s">    # but that's a bit tricky before we load the constant module :-)</td></tr>
<tr><td class="h"><a name="27"></a>27</td><td></td><td></td><td></td><td></td><td class="s">    # By doing this, we save several run time checks for *every* call</td></tr>
<tr><td class="h"><a name="28"></a>28</td><td></td><td></td><td></td><td></td><td class="s">    # to import.</td></tr>
<tr><td class="h"><a name="29"></a>29</td><td class="c3">1</td><td class="c3"><span title="Avg 1µs">1µs</span></td><td></td><td></td><td class="s">    my $const = $] &gt; 5.009002;</td></tr>
<tr><td class="h"><a name="30"></a>30</td><td class="c3">1</td><td class="c3"><span title="Avg 600ns">600ns</span></td><td></td><td></td><td class="s">    my $downgrade = $] &lt; 5.015004; # &amp;&amp; $] &gt;= 5.008</td></tr>
<tr><td class="h"><a name="31"></a>31</td><td class="c3">1</td><td class="c3"><span title="Avg 600ns">600ns</span></td><td></td><td></td><td class="s">    my $constarray = exists &amp;_make_const;</td></tr>
<tr><td class="h"><a name="32"></a>32</td><td class="c3">1</td><td class="c3"><span title="Avg 3µs">3µs</span></td><td></td><td></td><td class="s">    if ($const) {</td></tr>
<tr><td class="h"><a name="33"></a>33</td><td class="c3">1</td><td class="c0"><span title="Avg 19µs">19µs</span></td><td class="c3">1</td><td class="c3">1µs</td><td class="s">        Internals::SvREADONLY($const, 1);<div class="calls"><div class="...
<tr><td class="h"><a name="34"></a>34</td><td class="c3">1</td><td class="c3"><span title="Avg 3µs">3µs</span></td><td class="c3">1</td><td class="c3">500ns</td><td class="s">        Internals::SvREADONLY($downgrade, 1);<div class="calls"><div clas...
<tr><td class="h"><a name="35"></a>35</td><td class="c3">1</td><td class="c3"><span title="Avg 2µs">2µs</span></td><td></td><td></td><td class="s">        $constant::{_CAN_PCS}   = \$const;</td></tr>
<tr><td class="h"><a name="36"></a>36</td><td class="c3">1</td><td class="c3"><span title="Avg 500ns">500ns</span></td><td></td><td></td><td class="s">        $constant::{_DOWNGRADE} = \$downgrade;</td></tr>
<tr><td class="h"><a name="37"></a>37</td><td class="c3">1</td><td class="c3"><span title="Avg 600ns">600ns</span></td><td></td><td></td><td class="s">        $constant::{_CAN_PCS_FOR_ARRAY} = \$constarray;</td></tr>
<tr><td class="h"><a name="38"></a>38</td><td></td><td></td><td></td><td></td><td class="s">    }</td></tr>
<tr><td class="h"><a name="39"></a>39</td><td></td><td></td><td></td><td></td><td class="s">    else {</td></tr>
<tr><td class="h"><a name="40"></a>40</td><td class="c3">2</td><td class="c0"><span title="Avg 52µs">103µs</span></td><td class="c3">2</td><td class="c1">34µs</td><td class="s"><div class="calls"><div class="calls_in"># spent 21µs (8+13) within c...
#    once (8µs+13µs) by Game::Collisions::AABB::BEGIN@32 at <a href="constant-pm-19-line.html#40">line 40</a></div></div>        no strict 'refs';<div class="calls"><div class="calls_out">        # spent    21µs making 1 call to <a href="constant-...
        # spent    13µs making 1 call to <a href="strict-pm-4-line.html#65">strict::unimport</a></div></div></td></tr>
<tr><td class="h"><a name="41"></a>41</td><td></td><td></td><td></td><td></td><td class="s">        *{&quot;_CAN_PCS&quot;}   = sub () {$const};</td></tr>
<tr><td class="h"><a name="42"></a>42</td><td></td><td></td><td></td><td></td><td class="s">        *{&quot;_DOWNGRADE&quot;} = sub () { $downgrade };</td></tr>
<tr><td class="h"><a name="43"></a>43</td><td></td><td></td><td></td><td></td><td class="s">        *{&quot;_CAN_PCS_FOR_ARRAY&quot;} = sub () { $constarray };</td></tr>
<tr><td class="h"><a name="44"></a>44</td><td></td><td></td><td></td><td></td><td class="s">    }</td></tr>
<tr><td class="h"><a name="45"></a>45</td><td class="c3">1</td><td class="c0"><span title="Avg 88µs">88µs</span></td><td class="c3">1</td><td class="c1">31µs</td><td class="s">}<div class="calls"><div class="calls_out"># spent    31µs making 1 ca...
<tr><td class="h"><a name="46"></a>46</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="47"></a>47</td><td></td><td></td><td></td><td></td><td class="s">#=======================================================================</td></tr>
<tr><td class="h"><a name="48"></a>48</td><td></td><td></td><td></td><td></td><td class="s"># import() - import symbols into user's namespace</td></tr>
<tr><td class="h"><a name="49"></a>49</td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h"><a name="50"></a>50</td><td></td><td></td><td></td><td></td><td class="s"># What we actually do is define a function in the caller's namespace</td></tr>
<tr><td class="h"><a name="51"></a>51</td><td></td><td></td><td></td><td></td><td class="s"># which returns the value. The function we create will normally</td></tr>
<tr><td class="h"><a name="52"></a>52</td><td></td><td></td><td></td><td></td><td class="s"># be inlined as a constant, thereby avoiding further sub calling </td></tr>
<tr><td class="h"><a name="53"></a>53</td><td></td><td></td><td></td><td></td><td class="s"># overhead.</td></tr>
<tr><td class="h"><a name="54"></a>54</td><td></td><td></td><td></td><td></td><td class="s">#=======================================================================</td></tr>
<tr><td class="h"><a name="55"></a>55</td><td></td><td></td><td></td><td></td><td class="s"><div class="calls"><div class="calls_in"># spent 288µs (232+56) within constant::import which was called 11 times, avg 26µs/call:
#    once (32µs+10µs) by Game::Collisions::AABB::BEGIN@32 at <a href="AABB-pm-15-line.html#32">line 32 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (26µs+10µs) by main::BEGIN@30 at <a href="bench-pl-1-line.html#30">line 30 of /home/tmurray/proj/Game-Collisions/scripts/bench.pl</a>
#    once (28µs+5µs) by Game::Collisions::AABB::BEGIN@34 at <a href="AABB-pm-15-line.html#34">line 34 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (21µs+6µs) by Game::Collisions::AABB::BEGIN@33 at <a href="AABB-pm-15-line.html#33">line 33 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (21µs+5µs) by main::BEGIN@31 at <a href="bench-pl-1-line.html#31">line 31 of /home/tmurray/proj/Game-Collisions/scripts/bench.pl</a>
#    once (20µs+4µs) by Game::Collisions::AABB::BEGIN@36 at <a href="AABB-pm-15-line.html#36">line 36 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (18µs+4µs) by Game::Collisions::AABB::BEGIN@35 at <a href="AABB-pm-15-line.html#35">line 35 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (18µs+3µs) by Game::Collisions::AABB::BEGIN@38 at <a href="AABB-pm-15-line.html#38">line 38 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (17µs+3µs) by Game::Collisions::AABB::BEGIN@39 at <a href="AABB-pm-15-line.html#39">line 39 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (16µs+4µs) by Game::Collisions::AABB::BEGIN@37 at <a href="AABB-pm-15-line.html#37">line 37 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>
#    once (16µs+3µs) by Game::Collisions::AABB::BEGIN@40 at <a href="AABB-pm-15-line.html#40">line 40 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a></div></div>sub import {</td></tr>
<tr><td class="h"><a name="56"></a>56</td><td class="c3">11</td><td class="c3"><span title="Avg 291ns">3µs</span></td><td></td><td></td><td class="s">    my $class = shift;</td></tr>
<tr><td class="h"><a name="57"></a>57</td><td class="c3">11</td><td class="c3"><span title="Avg 255ns">3µs</span></td><td></td><td></td><td class="s">    return unless @_;                        # Ignore 'use constant;'</td></tr>
<tr><td class="h"><a name="58"></a>58</td><td class="c3">11</td><td class="c3"><span title="Avg 100ns">1µs</span></td><td></td><td></td><td class="s">    my $constants;</td></tr>
<tr><td class="h"><a name="59"></a>59</td><td class="c3">11</td><td class="c3"><span title="Avg 336ns">4µs</span></td><td></td><td></td><td class="s">    my $multiple  = ref $_[0];</td></tr>



( run in 2.007 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )