Game-Collisions

 view release on metacpan or  search on metacpan

lib/Game/Collisions/AABB.pm  view on Meta::CPAN

    
    $self->set_parent( undef );
    return;
}



sub _set_node
{
    my ($self, $node, $index) = @_;
    Scalar::Util::unweaken( $self->[$index] )
        if defined $self->[$index];
    $self->[$index] = $node;
    Scalar::Util::weaken( $self->[$index] );
    my $former_parent = defined $node
        ? $node->set_parent( $self )
        : undef;
    return $former_parent;
}

sub _resize_to_fit_children
{
    my ($self) = @_;
    return if ! $self->is_branch_node;

nytprof/AABB-pm-15-line.html  view on Meta::CPAN

<tr><td class="h"><a name="173"></a>173</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="174"></a>174</td><td></td><td></td><td></td><td></td><td class="s">    return $str;</td></tr>
<tr><td class="h"><a name="175"></a>175</td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h"><a name="176"></a>176</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="177"></a>177</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="178"></a>178</td><td></td><td></td><td></td><td></td><td class="s">sub _set_node</td></tr>
<tr><td class="h"><a name="179"></a>179</td><td></td><td></td><td></td><td></td><td class="s"><div class="calls"><div class="calls_in"># spent 12.9ms (9.76+3.17) within Game::Collisions::AABB::_set_node which was called 2996 times, avg 4µs/call:
# 1541 times (6.14ms+1.74ms) by Game::Collisions::AABB::set_left_node at <a href="AABB-pm-15-line.html#74">line 74</a>, avg 5µs/call
# 1455 times (3.62ms+1.42ms) by Game::Collisions::AABB::set_right_node at <a href="AABB-pm-15-line.html#80">line 80</a>, avg 3µs/call</div></div>{</td></tr>
<tr><td class="h"><a name="180"></a>180</td><td class="c3">2996</td><td class="c3"><span title="Avg 148ns">445µs</span></td><td></td><td></td><td class="s">    my ($self, $node, $index) = @_;</td></tr>
<tr><td class="h"><a name="181"></a>181</td><td class="c3">2996</td><td class="c3"><span title="Avg 485ns">1.45ms</span></td><td class="c3">998</td><td class="c3">246µs</td><td class="s">    Scalar::Util::unweaken( $self-&gt;[$index] )<div class="ca...
<tr><td class="h"><a name="182"></a>182</td><td></td><td></td><td></td><td></td><td class="s">        if defined $self-&gt;[$index];</td></tr>
<tr><td class="h"><a name="183"></a>183</td><td class="c3">2996</td><td class="c3"><span title="Avg 127ns">380µs</span></td><td></td><td></td><td class="s">    $self-&gt;[$index] = $node;</td></tr>
<tr><td class="h"><a name="184"></a>184</td><td class="c3">2996</td><td class="c0"><span title="Avg 2µs">4.91ms</span></td><td class="c0">2996</td><td class="c3">847µs</td><td class="s">    Scalar::Util::weaken( $self-&gt;[$index] );<div class="cal...
<tr><td class="h"><a name="185"></a>185</td><td class="c3">2996</td><td class="c3"><span title="Avg 450ns">1.35ms</span></td><td class="c0">2996</td><td class="c1">2.07ms</td><td class="s">    my $former_parent = $node-&gt;set_parent( $self );<div cl...
<tr><td class="h"><a name="186"></a>186</td><td class="c3">2996</td><td class="c0"><span title="Avg 2µs">6.10ms</span></td><td></td><td></td><td class="s">    return $former_parent;</td></tr>
<tr><td class="h"><a name="187"></a>187</td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h"><a name="188"></a>188</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="189"></a>189</td><td></td><td></td><td></td><td></td><td class="s">sub _resize_to_fit_children</td></tr>
<tr><td class="h"><a name="190"></a>190</td><td></td><td></td><td></td><td></td><td class="s"><div class="calls"><div class="calls_in"># spent 260ms (27.1+233) within Game::Collisions::AABB::_resize_to_fit_children which was called 9478 times, avg 27...
# 9478 times (27.1ms+233ms) by Game::Collisions::AABB::resize_all_parents at <a href="AABB-pm-15-line.html#100">line 100</a>, avg 27µs/call</div></div>{</td></tr>
<tr><td class="h"><a name="191"></a>191</td><td class="c3">9478</td><td class="c3"><span title="Avg 115ns">1.09ms</span></td><td></td><td></td><td class="s">    my ($self) = @_;</td></tr>
<tr><td class="h"><a name="192"></a>192</td><td class="c3">9478</td><td class="c0"><span title="Avg 629ns">5.96ms</span></td><td class="c0">9478</td><td class="c0">233ms</td><td class="s">    my ($x, $y, $length, $height) = $self-&gt;_calculate_bound...
<tr><td class="h"><a name="193"></a>193</td><td></td><td></td><td></td><td></td><td class="s">        $self-&gt;[_LEFT_NODE],</td></tr>

nytprof/Scalar-Util-pm-17-line.html  view on Meta::CPAN

        <tr>
        <th>Calls</th>
        <th><span title="Number of Places sub is called from">P</span></th>
        <th><span title="Number of Files sub is called from">F</span></th>
        <th>Exclusive<br />Time</th>
        <th>Inclusive<br />Time</th>
        <th>Subroutine</th>
        </tr>
        </thead>
    <tbody>
<tr><td class="c0">2996</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">847µs</span></td><td class="c0"><span title="0.0%">847µs</span></td><td class="sub_name"><span style="display: none;">Scalar::Util::::weaken</sp...
<tr><td class="c3">998</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">246µs</span></td><td class="c3"><span title="0.0%">246µs</span></td><td class="sub_name"><span style="display: none;">Scalar::Util::::unweaken</s...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c3"><span title="0.0%">13µs</span></td><td class="c3"><span title="0.0%">15µs</span></td><td class="sub_name"><span style="display: none;">Scalar::Util::::BEGIN@9</span>S...
<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%">12µs</span></td><td class="sub_name"><span style="display: none;">Scalar::Util::::BEGIN@10</span>S...
<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;">Scalar::Util::::export_fail</span>Sca...
<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;">Scalar::Util::::set_prototype</span>S...
</tbody></table>
                Call graph for these subroutines as a
                <a href="http://en.wikipedia.org/wiki/Graphviz">Graphviz</a>
                <a href="usr-lib-x86_64-linux-gnu-perl5-5-26-Scalar-Util-pm.dot">dot language file</a>.
            
      <table border="1" cellpadding="0" class="floatHeaders">

nytprof/Scalar-Util-pm-17-line.html  view on Meta::CPAN

<tr><td class="h"><a name="9"></a>9</td><td class="c1">2</td><td class="c0"><span title="Avg 14µs">28µs</span></td><td class="c3">2</td><td class="c1">18µs</td><td class="s"><div class="calls"><div class="calls_in"># spent 15µs (13+3) within Scal...
#    once (13µs+3µs) by Game::Collisions::AABB::BEGIN@30 at <a href="Scalar-Util-pm-17-line.html#9">line 9</a></div></div>use strict;<div class="calls"><div class="calls_out"># spent    15µs making 1 call to <a href="Scalar-Util-pm-17-line.html#9"...
# spent     2µ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="10"></a>10</td><td class="c1">2</td><td class="c0"><span title="Avg 169µs">339µs</span></td><td class="c3">2</td><td class="c3">16µs</td><td class="s"><div class="calls"><div class="calls_in"># spent 12µs (7+4) within S...
#    once (7µs+4µs) by Game::Collisions::AABB::BEGIN@30 at <a href="Scalar-Util-pm-17-line.html#10">line 10</a></div></div>use warnings;<div class="calls"><div class="calls_out"># spent    12µs making 1 call to <a href="Scalar-Util-pm-17-line.html...
# spent     4µs making 1 call to <a href="warnings-pm-2-line.html#292">warnings::import</a></div></div></td></tr>
<tr><td class="h"><a name="11"></a>11</td><td class="c3">1</td><td class="c3"><span title="Avg 500ns">500ns</span></td><td></td><td></td><td class="s">require Exporter;</td></tr>
<tr><td class="h"><a name="12"></a>12</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="13"></a>13</td><td class="c3">1</td><td class="c0"><span title="Avg 8µs">8µs</span></td><td></td><td></td><td class="s">our @ISA       = qw(Exporter);</td></tr>
<tr><td class="h"><a name="14"></a>14</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">our @EXPORT_OK = qw(</td></tr>
<tr><td class="h"><a name="15"></a>15</td><td></td><td></td><td></td><td></td><td class="s">  blessed refaddr reftype weaken unweaken isweak</td></tr>
<tr><td class="h"><a name="16"></a>16</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="17"></a>17</td><td></td><td></td><td></td><td></td><td class="s">  dualvar isdual isvstring looks_like_number openhandle readonly set_prototype</td></tr>
<tr><td class="h"><a name="18"></a>18</td><td></td><td></td><td></td><td></td><td class="s">  tainted</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="c3"><span title="Avg 300ns">300ns</span></td><td></td><td></td><td class="s">our $VERSION    = &quot;1.50&quot;;</td></tr>
<tr><td class="h"><a name="21"></a>21</td><td class="c3">1</td><td class="c0"><span title="Avg 15µs">15µs</span></td><td></td><td></td><td class="s">$VERSION   = eval $VERSION;<div class="calls"><div class="calls_out"># spent     3µs executing sta...
<tr><td class="h"><a name="22"></a>22</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="23"></a>23</td><td class="c3">1</td><td class="c3"><span title="Avg 400ns">400ns</span></td><td></td><td></td><td class="s">require List::Util; # List::Util loads the XS</td></tr>
<tr><td class="h"><a name="24"></a>24</td><td class="c3">1</td><td class="c0"><span title="Avg 21µs">21µs</span></td><td class="c3">1</td><td class="c3">11µs</td><td class="s">List::Util-&gt;VERSION( $VERSION ); # Ensure we got the right XS versio...
<tr><td class="h"><a name="25"></a>25</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="26"></a>26</td><td></td><td></td><td></td><td></td><td class="s">our @EXPORT_FAIL;</td></tr>
<tr><td class="h"><a name="27"></a>27</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="28"></a>28</td><td class="c3">1</td><td class="c3"><span title="Avg 600ns">600ns</span></td><td></td><td></td><td class="s">unless (defined &amp;weaken) {</td></tr>
<tr><td class="h"><a name="29"></a>29</td><td></td><td></td><td></td><td></td><td class="s">  push @EXPORT_FAIL, qw(weaken);</td></tr>
<tr><td class="h"><a name="30"></a>30</td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h"><a name="31"></a>31</td><td class="c3">1</td><td class="c3"><span title="Avg 100ns">100ns</span></td><td></td><td></td><td class="s">unless (defined &amp;isweak) {</td></tr>
<tr><td class="h"><a name="32"></a>32</td><td></td><td></td><td></td><td></td><td class="s">  push @EXPORT_FAIL, qw(isweak isvstring);</td></tr>
<tr><td class="h"><a name="33"></a>33</td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h"><a name="34"></a>34</td><td class="c3">1</td><td class="c3"><span title="Avg 100ns">100ns</span></td><td></td><td></td><td class="s">unless (defined &amp;isvstring) {</td></tr>
<tr><td class="h"><a name="35"></a>35</td><td></td><td></td><td></td><td></td><td class="s">  push @EXPORT_FAIL, qw(isvstring);</td></tr>
<tr><td class="h"><a name="36"></a>36</td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h"><a name="37"></a>37</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="38"></a>38</td><td></td><td></td><td></td><td></td><td class="s">sub export_fail {</td></tr>
<tr><td class="h"><a name="39"></a>39</td><td></td><td></td><td></td><td></td><td class="s">  if (grep { /^(?:weaken|isweak)$/ } @_ ) {</td></tr>
<tr><td class="h"><a name="40"></a>40</td><td></td><td></td><td></td><td></td><td class="s">    require Carp;</td></tr>
<tr><td class="h"><a name="41"></a>41</td><td></td><td></td><td></td><td></td><td class="s">    Carp::croak(&quot;Weak references are not implemented in the version of perl&quot;);</td></tr>
<tr><td class="h"><a name="42"></a>42</td><td></td><td></td><td></td><td></td><td class="s">  }</td></tr>
<tr><td class="h"><a name="43"></a>43</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="44"></a>44</td><td></td><td></td><td></td><td></td><td class="s">  if (grep { /^isvstring$/ } @_ ) {</td></tr>
<tr><td class="h"><a name="45"></a>45</td><td></td><td></td><td></td><td></td><td class="s">    require Carp;</td></tr>
<tr><td class="h"><a name="46"></a>46</td><td></td><td></td><td></td><td></td><td class="s">    Carp::croak(&quot;Vstrings are not implemented in the version of perl&quot;);</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"></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>

nytprof/Scalar-Util-pm-17-line.html  view on Meta::CPAN

<tr><td class="h"><a name="53"></a>53</td><td></td><td></td><td></td><td></td><td class="s">sub set_prototype(&amp;$)</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">  my ( $code, $proto ) = @_;</td></tr>
<tr><td class="h"><a name="56"></a>56</td><td></td><td></td><td></td><td></td><td class="s">  return Sub::Util::set_prototype( $proto, $code );</td></tr>
<tr><td class="h"><a name="57"></a>57</td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h"><a name="58"></a>58</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="59"></a>59</td><td class="c3">1</td><td class="c0"><span title="Avg 12µs">12µs</span></td><td></td><td></td><td class="s">1;</td></tr>
<tr><td class="h"><a name="60"></a>60</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="61"></a>61</td><td></td><td></td><td></td><td></td><td class="s">__END__</td></tr>
<tr><td class="s"><a name=""></a>&nbsp;</td><td></td><td></td><td></td><td></td><td class="s"></td></tr>
<tr><td class="h"><a name="Scalar__Util__unweaken"></a></td><td></td><td></td><td></td><td></td><td class="s"><div class="calls"><div class="calls_in"># spent 246µs within Scalar::Util::unweaken which was called 998 times, avg 246ns/call:
# 998 times (246µs+0s) by Game::Collisions::AABB::_set_node at <a href="AABB-pm-15-line.html#181">line 181 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>, avg 246ns/call</div></div>sub Scalar::Util::unweaken; # xsub<br />     ...
<tr><td class="h"><a name="Scalar__Util__weaken"></a></td><td></td><td></td><td></td><td></td><td class="s"><div class="calls"><div class="calls_in"># spent 847µs within Scalar::Util::weaken which was called 2996 times, avg 283ns/call:
# 2996 times (847µs+0s) by Game::Collisions::AABB::_set_node at <a href="AABB-pm-15-line.html#184">line 184 of /home/tmurray/proj/Game-Collisions/lib/Game/Collisions/AABB.pm</a>, avg 283ns/call</div></div>sub Scalar::Util::weaken; # xsub<br />      ...
</tbody></table></div>
        
            <script type="text/javascript">
              $(document).ready(function() { 

        $("#subs_table").tablesorter({
            sortList: [[3,1]],
            headers: {
                3: { sorter: 'fmt_time' },
                4: { sorter: 'fmt_time' }

nytprof/all_stacks_by_time.calls  view on Meta::CPAN

main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@36;constant::import;constant::CORE:match 11
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@36;constant::import 201
main::BEGIN@30;constant::import;mro::method_changed_in 33
main::BEGIN@26;warnings::CORE:match 256
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@27 101
main::BEGIN@27;DynaLoader::bootstrap;DynaLoader::dl_find_symbol 30
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::BEGIN@90;strict::unimport;strict::bits 98
Time::HiRes::gettimeofday 88
main::BEGIN@27;DynaLoader::BEGIN@21;Config::BEGIN@11;vars::import 623
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::set_left_node;Game::Collisions::AABB::_set_node 61418
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::set_left_node;Game::Collisions::AABB::_set_node;Scalar::Util::weaken 4503
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::BEGIN@24;Internals::SvREADONLY 16
Time::HiRes::tv_interval;Time::HiRes::gettimeofday 18
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@40;constant::import 155
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@34;constant::import;constant::CORE:match 13
main::BEGIN@27;Time::HiRes::import;Exporter::export_to_level;Exporter::as_heavy 22504
main::BEGIN@27;DynaLoader::BEGIN@21;version::(cmp 50
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@37;constant::import;constant::CORE:subst 12
main::BEGIN@25 1473
Game::Collisions::get_collisions;Game::Collisions::get_collisions_for_aabb;Game::Collisions::AABB::left_node 583716
main::BEGIN@27;Time::HiRes::import;Exporter::Heavy::heavy_export_to_level;Exporter::export;Exporter::as_heavy;Exporter::CORE:subst 21

nytprof/all_stacks_by_time.calls  view on Meta::CPAN

main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@35;constant::import 176
main::BEGIN@27;Time::HiRes::import;Exporter::Heavy::heavy_export_to_level;Exporter::export;Exporter::as_heavy 65
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@35 52
main::CORE:say 321
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@39;constant::import;Internals::SvREADONLY 3
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@35;constant::import;constant::CORE:regcomp 7
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@28;warnings::import 62
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::BEGIN@4;warnings::register::import;warnings::register_categories;warnings::_mkMask 69
main::BEGIN@31;constant::import;constant::CORE:match 14
main::BEGIN@31;constant::import;Internals::SvREADONLY 5
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::set_right_node;Game::Collisions::AABB::_set_node;Scalar::Util::weaken 3966
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::BEGIN@40;strict::unimport 64
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::import;mro::method_changed_in 9
main::BEGIN@31;constant::import;constant::CORE:subst 17
main::BEGIN@27;DynaLoader::bootstrap;Time::HiRes::bootstrap 570
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@39;constant::import;constant::CORE:subst 12
main::BEGIN@27;DynaLoader::BEGIN@21;Config::TIEHASH 25
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::find_best_sibling_node;Game::Collisions::AABB::_calculate_bounding_box_for_nodes;Game::Collisions::AABB::y 157076
main::BEGIN@27;Time::HiRes::import;Exporter::Heavy::heavy_export_to_level;Exporter::export 36
main::BEGIN@27;DynaLoader::BEGIN@21;Config::BEGIN@11;vars::import;vars::CORE:match 153
main::BEGIN@27;Time::HiRes::import;Exporter::export_to_level;Exporter::as_heavy;Exporter::Heavy::BEGIN@3;strict::import 38

nytprof/all_stacks_by_time.calls  view on Meta::CPAN

main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@38;constant::import;constant::CORE:subst 12
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@36;constant::import;constant::CORE:subst 11
main::BEGIN@27;Time::HiRes::import;Exporter::Heavy::heavy_export_to_level;Exporter::Heavy::heavy_export;Exporter::Heavy::CORE:subst 11
main::BEGIN@30;constant::import;constant::CORE:subst 22
main::BEGIN@27;Time::HiRes::BEGIN@48 293
main::BEGIN@27;DynaLoader::bootstrap;DynaLoader::dl_load_file 996
main::BEGIN@28;Game::Collisions::BEGIN@28;List::Util::BEGIN@9;strict::import 29
main::BEGIN@28;Game::Collisions::BEGIN@27 88
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::resize_all_parents;Game::Collisions::AABB::_resize_to_fit_children;Game::Collisions::AABB::_calculate_bounding_box_for_nodes;Game::Collisions::AABB::y 86393
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::find_best_sibling_node;Game::Collisions::AABB::_calculate_bounding_box_for_nodes;List::Util::min 45205
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::set_left_node;Game::Collisions::AABB::_set_node;Scalar::Util::unweaken 1398
main::BEGIN@27;DynaLoader::BEGIN@21;Config::BEGIN@47;strict::unimport 106
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@38;constant::import;constant::CORE:regcomp 6
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@28 83
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@34;constant::import;constant::CORE:subst 13
main::BEGIN@27;Time::HiRes::BEGIN@48;strict::unimport;strict::bits 231
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@30 4942
Game::Collisions::get_collisions 607366
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@26 2503
main::BEGIN@30;constant::import;constant::CORE:regcomp 13
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::import;constant::CORE:subst 20
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@33;constant::import;mro::method_changed_in 7
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@34;constant::import;constant::CORE:regcomp 8
main::BEGIN@27;DynaLoader::BEGIN@21;Config::BEGIN@11;vars::BEGIN@3 296
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::set_right_node;Game::Collisions::AABB::_set_node;Scalar::Util::unweaken 1057
main::BEGIN@27;DynaLoader::BEGIN@17 199
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::left_node 3362
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::set_right_node;Game::Collisions::AABB::_set_node;Game::Collisions::AABB::set_parent 9195
main::BEGIN@28;Game::Collisions::BEGIN@28;XSLoader::load 2658
main::BEGIN@30;constant::import;constant::CORE:match 20
Game::Collisions::make_aabb;Game::Collisions::_add_aabb;Game::Collisions::AABB::set_left_node;Game::Collisions::AABB::_set_node;Game::Collisions::AABB::set_parent 11548
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::import;constant::CORE:match 22
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32;constant::BEGIN@65;strict::unimport 49
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@32 15682
main::BEGIN@28;Game::Collisions::BEGIN@30;Game::Collisions::AABB::BEGIN@40 47

nytprof/all_stacks_by_time.svg  view on Meta::CPAN

<g class="func_g" onmouseover="s('Game::Collisions::AABB::x (561 microseconds, 0.02%)')" onmouseout="c()" onclick="zoom(this)">
<title>Game::Collisions::AABB::x (561 microseconds, 0.02%)</title><a xlink:href="AABB-pm-15-line.html#62" target="_top"><rect x="1170.8" y="81" width="0.2" height="15.0" fill="rgb(244,173,43)" rx="2" ry="2" />
<text text-anchor="" x="1173.81" y="91.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  ></text>
</a>
</g>
<g class="func_g" onmouseover="s('Game::Collisions::AABB::length (7,803 microseconds, 0.26%)')" onmouseout="c()" onclick="zoom(this)">
<title>Game::Collisions::AABB::length (7,803 microseconds, 0.26%)</title><a xlink:href="AABB-pm-15-line.html#64" target="_top"><rect x="1020.9" y="49" width="3.0" height="15.0" fill="rgb(236,173,34)" rx="2" ry="2" />
<text text-anchor="" x="1023.86" y="59.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  ></text>
</a>
</g>
<g class="func_g" onmouseover="s('Scalar::Util::weaken (397 microseconds, 0.01%)')" onmouseout="c()" onclick="zoom(this)">
<title>Scalar::Util::weaken (397 microseconds, 0.01%)</title><a xlink:href="Scalar-Util-pm-17-line.html#Scalar__Util__weaken" target="_top"><rect x="1170.7" y="49" width="0.1" height="15.0" fill="rgb(245,202,44)" rx="2" ry="2" />
<text text-anchor="" x="1173.66" y="59.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  ></text>
</a>
</g>
<g class="func_g" onmouseover="s('Game::Collisions::AABB::set_parent (1,155 microseconds, 0.04%)')" onmouseout="c()" onclick="zoom(this)">
<title>Game::Collisions::AABB::set_parent (1,155 microseconds, 0.04%)</title><a xlink:href="AABB-pm-15-line.html#84" target="_top"><rect x="1166.8" y="49" width="0.4" height="15.0" fill="rgb(241,173,39)" rx="2" ry="2" />
<text text-anchor="" x="1169.76" y="59.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  ></text>
</a>
</g>
<g class="func_g" onmouseover="s('Game::Collisions::AABB::set_left_node (11,643 microseconds, 0.38%)')" onmouseout="c()" onclick="zoom(this)">
<title>Game::Collisions::AABB::set_left_node (11,643 microseconds, 0.38%)</title><a xlink:href="AABB-pm-15-line.html#72" target="_top"><rect x="1162.9" y="81" width="4.5" height="15.0" fill="rgb(250,173,49)" rx="2" ry="2" />
<text text-anchor="" x="1165.94" y="91.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  ></text>
</a>
</g>
<g class="func_g" onmouseover="s('Game::Collisions::get_collisions (2,176,713 microseconds, 71.21%)')" onmouseout="c()" onclick="zoom(this)">
<title>Game::Collisions::get_collisions (2,176,713 microseconds, 71.21%)</title><a xlink:href="Collisions-pm-12-line.html#58" target="_top"><rect x="10.0" y="113" width="840.2" height="15.0" fill="rgb(244,173,43)" rx="2" ry="2" />
<text text-anchor="" x="13.00" y="123.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  >Game::Collisions::get_collisions</text>
</a>
</g>
<g class="func_g" onmouseover="s('Scalar::Util::weaken (450 microseconds, 0.01%)')" onmouseout="c()" onclick="zoom(this)">
<title>Scalar::Util::weaken (450 microseconds, 0.01%)</title><a xlink:href="Scalar-Util-pm-17-line.html#Scalar__Util__weaken" target="_top"><rect x="1167.3" y="49" width="0.1" height="15.0" fill="rgb(245,202,44)" rx="2" ry="2" />
<text text-anchor="" x="1170.26" y="59.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  ></text>
</a>
</g>
<g class="func_g" onmouseover="s('Game::Collisions::make_aabb (835,191 microseconds, 27.32%)')" onmouseout="c()" onclick="zoom(this)">
<title>Game::Collisions::make_aabb (835,191 microseconds, 27.32%)</title><a xlink:href="Collisions-pm-12-line.html#50" target="_top"><rect x="850.2" y="113" width="322.4" height="15.0" fill="rgb(229,173,26)" rx="2" ry="2" />
<text text-anchor="" x="853.24" y="123.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)"  >Game::Collisions::make_aabb</text>
</a>
</g>
<g class="func_g" onmouseover="s('XSLoader::load (266 microseconds, 0.01%)')" onmouseout="c()" onclick="zoom(this)">
<title>XSLoader::load (266 microseconds, 0.01%)</title><a xlink:href="XSLoader-pm-20-line.html#18" target="_top"><rect x="1183.5" y="81" width="0.1" height="15.0" fill="rgb(243,122,41)" rx="2" ry="2" />

nytprof/flamegraph_subattr.txt  view on Meta::CPAN

Game::Collisions::AABB::set_right_node	href=AABB-pm-15-line.html#78
Game::Collisions::AABB::parent	href=AABB-pm-15-line.html#68
vars::import	href=vars-pm-8-line.html#10
Game::Collisions::AABB::BEGIN@39	href=AABB-pm-15-line.html#39
DynaLoader::dl_load_flags	href=DynaLoader-pm-6-line.html#38
main::BEGIN@26	href=bench-pl-1-line.html#26
Game::Collisions::AABB::BEGIN@26	href=AABB-pm-15-line.html#26
Game::Collisions::AABB::BEGIN@30	href=AABB-pm-15-line.html#30
DynaLoader::CORE:ftdir	href=DynaLoader-pm-6-line.html#DynaLoader__CORE_ftdir
Game::Collisions::AABB::BEGIN@37	href=AABB-pm-15-line.html#37
Scalar::Util::weaken	href=Scalar-Util-pm-17-line.html#Scalar__Util__weaken
warnings::register::import	href=warnings-register-pm-9-line.html#18
Game::Collisions::AABB::right_node	href=AABB-pm-15-line.html#67
Exporter::Heavy::BEGIN@3	href=Exporter-Heavy-pm-11-line.html#3
warnings::_mkMask	href=warnings-pm-2-line.html#423
DynaLoader::BEGIN@17	href=DynaLoader-pm-6-line.html#17
List::Util::BEGIN@9	href=List-Util-pm-13-line.html#9
Game::Collisions::AABB::BEGIN@33	href=AABB-pm-15-line.html#33
utf8::import	href=utf8-pm-16-line.html#7
mro::method_changed_in	href=bench-pl-1-line.html#mro__method_changed_in
Time::HiRes::BEGIN@3	href=Time-HiRes-pm-3-line.html#3
vars::CORE:match	href=vars-pm-8-line.html#vars__CORE_match
Game::Collisions::AABB::BEGIN@27	href=AABB-pm-15-line.html#27
Game::Collisions::AABB::height	href=AABB-pm-15-line.html#65
constant::import	href=constant-pm-19-line.html#55
Internals::SvREADONLY	href=bench-pl-1-line.html#Internals__SvREADONLY
constant::BEGIN@141	href=constant-pm-19-line.html#141
Game::Collisions::AABB::does_collide	href=AABB-pm-15-line.html#107
constant::BEGIN@3	href=constant-pm-19-line.html#3
Exporter::CORE:subst	href=Exporter-pm-5-line.html#Exporter__CORE_subst
Game::Collisions::BEGIN@27	href=Collisions-pm-12-line.html#27
Scalar::Util::unweaken	href=Scalar-Util-pm-17-line.html#Scalar__Util__unweaken
Exporter::export_to_level	href=Exporter-pm-5-line.html#80
Time::HiRes::gettimeofday	href=Time-HiRes-pm-3-line.html#Time__HiRes__gettimeofday
Game::Collisions::AABB::BEGIN@28	href=AABB-pm-15-line.html#28

nytprof/index-subs-excl.html  view on Meta::CPAN

<tr><td class="c0">1455</td><td class="c1">2</td><td class="c3">1</td><td class="c0"><span title="0.1%">3.72ms</span></td><td class="c0"><span title="0.3%">8.76ms</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::AABB::::...
<tr><td class="c0">1999</td><td class="c1">2</td><td class="c3">1</td><td class="c0"><span title="0.1%">3.32ms</span></td><td class="c0"><span title="0.1%">3.32ms</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::AABB::::...
<tr><td class="c1">2</td><td class="c1">2</td><td class="c3">1</td><td class="c0"><span title="0.1%">2.26ms</span></td><td class="c0"><span title="0.1%">2.34ms</span></td><td class="sub_name"><span style="display: none;">Exporter::::as_heavy</span>  ...
<tr><td class="c0">2996</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.1%">2.07ms</span></td><td class="c0"><span title="0.1%">2.07ms</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::AABB::::...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.1%">1.89ms</span></td><td class="c0"><span title="0.1%">2.05ms</span></td><td class="sub_name"><span style="display: none;">Time::HiRes::::BEGIN@4</span>...
<tr><td class="c0">999</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.1%">1.59ms</span></td><td class="c0"><span title="0.1%">3.31ms</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::::_new_me...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.1%">1.57ms</span></td><td class="c0"><span title="0.1%">1.84ms</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::AABB::::BEG...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">1.49ms</span></td><td class="c0"><span title="0.1%">3.45ms</span></td><td class="sub_name"><span style="display: none;">DynaLoader::::BEGIN@21</span>...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">1.28ms</span></td><td class="c0"><span title="0.1%">4.16ms</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::::BEGIN@30<...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">1.08ms</span></td><td class="c0"><span title="0.1%">1.84ms</span></td><td class="sub_name"><span style="display: none;">Config::::BEGIN@11</span>    ...
<tr><td class="c0">2996</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">847µs</span></td><td class="c0"><span title="0.0%">847µs</span></td><td class="sub_name"><span style="display: none;">Scalar::Util::::weaken</sp...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">823µs</span></td><td class="c0"><span title="0.0%">1.13ms</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::::BEGIN@28<...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">621µs</span></td><td class="c0"><span title="0.2%">5.96ms</span></td><td class="sub_name"><span style="display: none;">main::::BEGIN@28</span>      ...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">494µs</span></td><td class="c0"><span title="0.0%">533µs</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::AABB::::BEG...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">442µs</span></td><td class="c0"><span title="0.0%">620µs</span></td><td class="sub_name"><span style="display: none;">vars::::BEGIN@7</span>       ...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">266µs</span></td><td class="c0"><span title="0.0%">266µs</span></td><td class="sub_name"><span style="display: none;">XSLoader::::load</span>      ...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">250µs</span></td><td class="c0"><span title="0.0%">253µs</span></td><td class="sub_name"><span style="display: none;">Game::Collisions::AABB::::BEG...
<tr><td class="c0">998</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">246µs</span></td><td class="c0"><span title="0.0%">246µs</span></td><td class="sub_name"><span style="display: none;">Scalar::Util::::unweaken</s...
<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>  ...
<tr><td class="c1">2</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">217µs</span></td><td class="c0"><span title="0.0%">239µs</span></td><td class="sub_name"><span style="display: none;">warnings::::register_categori...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">147µs</span></td><td class="c0"><span title="0.0%">147µs</span></td><td class="sub_name"><span style="display: none;">main::::BEGIN@25</span>      ...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">130µs</span></td><td class="c0"><span title="0.0%">144µs</span></td><td class="sub_name"><span style="display: none;">strict::::BEGIN@7</span>     ...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">104µs</span></td><td class="c0"><span title="0.0%">342µs</span></td><td class="sub_name"><span style="display: none;">DynaLoader::::bootstrap</span...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">100µs</span></td><td class="c1"><span title="0.0%">100µs</span></td><td class="sub_name"><span style="display: none;">DynaLoader::::dl_load_file</s...
<tr><td class="c0">9</td><td class="c1">2</td><td class="c3">1</td><td class="c0"><span title="0.0%">89µs</span></td><td class="c1"><span title="0.0%">89µs</span></td><td class="sub_name"><span style="display: none;">strict::::bits</span>          ...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">86µs</span></td><td class="c1"><span title="0.0%">91µs</span></td><td class="sub_name"><span style="display: none;">Exporter::Heavy::::_rebuild_cac...
<tr><td class="c0">8</td><td class="c0">8</td><td class="c0">5</td><td class="c0"><span title="0.0%">73µs</span></td><td class="c0"><span title="0.0%">149µs</span></td><td class="sub_name"><span style="display: none;">strict::::unimport</span>     ...
<tr><td class="c3">1</td><td class="c3">1</td><td class="c3">1</td><td class="c0"><span title="0.0%">65µs</span></td><td class="c2"><span title="0.0%">65µs</span></td><td class="sub_name"><span style="display: none;">Time::HiRes::::BEGIN@3</span>  ...

nytprof/subs-callgraph.dot  view on Meta::CPAN

	"main::CORE:say";
	"main::BEGIN@30";
	"main::BEGIN@25";
	"main::BEGIN@31";
	"main::RUNTIME";
	"main::NULL";
	"main::BEGIN@26";
}
subgraph cluster_Scalar_Util {
	label="Scalar::Util";
	"Scalar::Util::weaken";
	"Scalar::Util::BEGIN@9";
	"Scalar::Util::BEGIN@10";
	"Scalar::Util::unweaken";
}
subgraph cluster_vars {
	label="vars";
	"vars::BEGIN@3";
	"vars::BEGIN@8";
	"vars::BEGIN@7";
	"vars::CORE:match";
	"vars::import";
}
subgraph cluster_XSLoader {

nytprof/subs-callgraph.dot  view on Meta::CPAN

"Game::Collisions::BEGIN@28" -> "List::Util::BEGIN@9";
"Game::Collisions::AABB::BEGIN@26" -> "utf8::import";
"Game::Collisions::BEGIN@30" -> "Game::Collisions::AABB::BEGIN@33";
"main::BEGIN@27" -> "DynaLoader::BEGIN@17";
"warnings::register_categories" -> "warnings::_mkMask";
"DynaLoader::bootstrap" -> "DynaLoader::dl_load_flags";
"main::NULL" -> "main::BEGIN@26";
"Game::Collisions::BEGIN@30" -> "Game::Collisions::AABB::BEGIN@26";
"DynaLoader::bootstrap" -> "DynaLoader::CORE:ftdir";
"Game::Collisions::BEGIN@30" -> "Game::Collisions::AABB::BEGIN@30";
"Game::Collisions::AABB::_set_node" -> "Scalar::Util::weaken";
"Game::Collisions::BEGIN@30" -> "Game::Collisions::AABB::BEGIN@37";
"Exporter::as_heavy" -> "Exporter::CORE:subst";
"Game::Collisions::AABB::BEGIN@32" -> "constant::BEGIN@3";
"Game::Collisions::get_collisions_for_aabb" -> "Game::Collisions::AABB::does_collide";
"Game::Collisions::AABB::BEGIN@32" -> "constant::BEGIN@141";
"main::RUNTIME" -> "Time::HiRes::gettimeofday";
"Time::HiRes::tv_interval" -> "Time::HiRes::gettimeofday";
"Game::Collisions::BEGIN@30" -> "Game::Collisions::AABB::BEGIN@28";
"main::BEGIN@28" -> "Game::Collisions::BEGIN@27";
"Game::Collisions::AABB::_set_node" -> "Scalar::Util::unweaken";
"Time::HiRes::import" -> "Exporter::export_to_level";
"main::BEGIN@27" -> "Time::HiRes::BEGIN@3";
"constant::import" -> "mro::method_changed_in";
"constant::BEGIN@24" -> "Internals::SvREADONLY";
"constant::import" -> "Internals::SvREADONLY";
"Game::Collisions::AABB::BEGIN@36" -> "constant::import";
"Game::Collisions::AABB::BEGIN@38" -> "constant::import";
"Game::Collisions::AABB::BEGIN@40" -> "constant::import";
"Game::Collisions::AABB::BEGIN@35" -> "constant::import";
"Game::Collisions::AABB::BEGIN@34" -> "constant::import";

nytprof/subs-treemap-excl.html  view on Meta::CPAN

                            var box = this.leafBox(json, coord);
                        return this.contentBox(json, coord, box);
                    } else {
                        return ""; //return empty string
                    }
                }
            });

            var tm1 = new TM.Squarified(tm_args);

            var json = {"id":"n1","data":{"$area":3.0446489},"children":[{"id":"n2","data":{"$area":1.13e-05},"children":[{"id":"3-UNIVERSAL::VERSION","data":{"excl_time":1.13e-05,"incl_time":1.13e-05,"$color":0,"subname":"UNIVERSAL::VERSION","tip":"...

            tm1.loadJSON(json);
        }
    
</script>
<div class="vis_header"><br/>Boxes represent time spent in a subroutine. Coloring represents packages. Click to drill-down into package hierarchy, reload page to reset.</div>
<div id="infovis">
<br /><div id="infovis1"></div>
</div>



( run in 0.429 second using v1.01-cache-2.11-cpan-1f129e94a17 )