1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>File: flat.txt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
<script type="text/javascript">
// <![CDATA[
function popupCode( url ) {
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
}
function toggleCode( id ) {
if ( document.getElementById )
elem = document.getElementById( id );
else if ( document.all )
elem = eval( "document.all." + id );
else
return false;
elemStyle = elem.style;
if ( elemStyle.display != "block" ) {
elemStyle.display = "block"
} else {
elemStyle.display = "none"
}
return true;
}
// Make codeblocks hidden by default
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
// ]]>
</script>
</head>
<body>
<div id="fileHeader">
<h1>flat.txt</h1>
<table class="header-table">
<tr class="top-aligned-row">
<td><strong>Path:</strong></td>
<td>examples/flat.txt
</td>
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
<td>Thu Jun 22 15:51:20 Mountain Standard Time 2006</td>
</tr>
</table>
</div>
<!-- banner header -->
<div id="bodyContent">
<div id="contextContent">
<div id="description">
<h1>Flat Profiles</h1>
<p>
Flat profiles show the total amount of time spent in each method. As an
example, here is the output from running printers_test.rb.
</p>
<p>
Thread ID: 21277412
</p>
<pre>
%self cumulative total self children calls self/call total/call name
46.34 4.06 8.72 4.06 4.66 501 0.01 0.02 Integer#upto
23.89 6.16 2.09 2.09 0.00 61 0.03 0.03 Kernel.sleep
15.12 7.48 1.33 1.33 0.00 250862 0.00 0.00 Fixnum#%
14.13 8.72 1.24 1.24 0.00 250862 0.00 0.00 Fixnum#==
0.18 8.74 0.02 0.02 0.00 1 0.02 0.02 Array#each_index
0.17 8.75 6.64 0.01 6.63 500 0.00 0.01 Object#is_prime
0.17 8.77 6.66 0.01 6.64 1 0.01 6.66 Array#select
0.00 8.77 0.00 0.00 0.00 501 0.00 0.00 Fixnum#-
0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Array#first
0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Array#length
0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Array#initialize
0.00 8.77 8.77 0.00 8.77 1 0.00 8.77 Object#run_primes
0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Integer#to_int
0.00 8.77 6.66 0.00 6.66 1 0.00 6.66 Object#find_primes
0.00 8.77 2.09 0.00 2.09 1 0.00 2.09 Object#find_largest
0.00 8.77 0.02 0.00 0.02 1 0.00 0.02 Object#make_random_array
0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Class#new
0.00 8.77 0.00 0.00 0.00 500 0.00 0.00 Array#[]=
0.00 8.77 0.00 0.00 0.00 61 0.00 0.00 Fixnum#>
0.00 8.77 0.00 0.00 0.00 61 0.00 0.00 Array#[]
0.00 8.77 8.77 0.00 8.77 1 0.00 8.77 #toplevel
0.00 8.77 0.00 0.00 0.00 500 0.00 0.00 Kernel.rand
</pre>
<p>
All values are in seconds.
</p>
<p>
The columns are:
</p>
<pre>
%self - The percentage of time spent in this method, derived from self_time/total_time
cumulative - The sum of the time spent in this method and all the methods listed above it.
total - The time spent in this method and its children.
self - The time spent in this method.
children - The time spent in this method's children.
calls - The number of times this method was called.
self/call - The average time spent per call in this method.
total/call - The average time spent per call in this method and its children.
name - The name of the method.
</pre>
<p>
Methods are sorted based on %self, therefore the methods that execute the
longest are listed first.
</p>
<p>
The interpretation of method names is:
</p>
<ul>
<li>toplevel - The root method that calls all other methods
</li>
<li>MyObject#test - An instance method "test" of the class
"MyObject"
</li>
<li><Object:MyObject>test - The <> characters indicate a singleton
method on a singleton class.
</li>
</ul>
<p>
For example, wee can see that Integer#upto took the most time, 4.06
seconds. An additional 4.66 seconds were spent in its children, for a total
time of 8.72 seconds.
</p>
</div>
</div>
</div>
<!-- if includes -->
<div id="section">
<!-- if method_list -->
</div>
<div id="validator-badges">
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
</div>
</body>
</html>
|