ruby-prof 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/CHANGES +17 -0
  2. data/LICENSE +23 -0
  3. data/README +220 -0
  4. data/Rakefile +141 -0
  5. data/bin/ruby-prof +154 -0
  6. data/doc/classes/RubyProf.html +563 -0
  7. data/doc/classes/RubyProf/CallInfo.html +274 -0
  8. data/doc/classes/RubyProf/FlatPrinter.html +207 -0
  9. data/doc/classes/RubyProf/GraphHtmlPrinter.html +538 -0
  10. data/doc/classes/RubyProf/GraphPrinter.html +240 -0
  11. data/doc/classes/RubyProf/MethodInfo.html +556 -0
  12. data/doc/classes/RubyProf/ProfileTask.html +395 -0
  13. data/doc/classes/RubyProf/Result.html +234 -0
  14. data/doc/created.rid +1 -0
  15. data/doc/files/LICENSE.html +142 -0
  16. data/doc/files/README.html +376 -0
  17. data/doc/files/bin/ruby-prof.html +143 -0
  18. data/doc/files/examples/flat_txt.html +187 -0
  19. data/doc/files/examples/graph_html.html +948 -0
  20. data/doc/files/examples/graph_txt.html +305 -0
  21. data/doc/files/ext/ruby_prof_c.html +101 -0
  22. data/doc/files/lib/ruby-prof/flat_printer_rb.html +101 -0
  23. data/doc/files/lib/ruby-prof/graph_html_printer_rb.html +108 -0
  24. data/doc/files/lib/ruby-prof/graph_printer_rb.html +101 -0
  25. data/doc/files/lib/ruby-prof/profiletask_rb.html +109 -0
  26. data/doc/files/lib/ruby-prof_rb.html +111 -0
  27. data/doc/files/lib/unprof_rb.html +108 -0
  28. data/doc/fr_class_index.html +34 -0
  29. data/doc/fr_file_index.html +39 -0
  30. data/doc/fr_method_index.html +67 -0
  31. data/doc/index.html +24 -0
  32. data/doc/rdoc-style.css +208 -0
  33. data/examples/flat.txt +57 -0
  34. data/examples/graph.html +827 -0
  35. data/examples/graph.txt +171 -0
  36. data/ext/extconf.rb +19 -0
  37. data/ext/ruby_prof.c +1433 -0
  38. data/lib/ruby-prof.rb +38 -0
  39. data/lib/ruby-prof/flat_printer.rb +76 -0
  40. data/lib/ruby-prof/graph_html_printer.rb +227 -0
  41. data/lib/ruby-prof/graph_printer.rb +142 -0
  42. data/lib/ruby-prof/profiletask.rb +150 -0
  43. data/lib/unprof.rb +8 -0
  44. data/test/basic_test.rb +141 -0
  45. data/test/clock_mode_test.rb +73 -0
  46. data/test/module_test.rb +45 -0
  47. data/test/prime.rb +58 -0
  48. data/test/prime_test.rb +24 -0
  49. data/test/printers_test.rb +28 -0
  50. data/test/recursive_test.rb +55 -0
  51. data/test/test.rb +3 -0
  52. data/test/test_helper.rb +45 -0
  53. data/test/test_suite.rb +9 -0
  54. data/test/thread_test.rb +32 -0
  55. data/test/timing_test.rb +90 -0
  56. metadata +121 -0
@@ -0,0 +1,34 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Classes
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Classes</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Classes</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/RubyProf.html">RubyProf</a><br />
24
+ <a href="classes/RubyProf/CallInfo.html">RubyProf::CallInfo</a><br />
25
+ <a href="classes/RubyProf/FlatPrinter.html">RubyProf::FlatPrinter</a><br />
26
+ <a href="classes/RubyProf/GraphHtmlPrinter.html">RubyProf::GraphHtmlPrinter</a><br />
27
+ <a href="classes/RubyProf/GraphPrinter.html">RubyProf::GraphPrinter</a><br />
28
+ <a href="classes/RubyProf/MethodInfo.html">RubyProf::MethodInfo</a><br />
29
+ <a href="classes/RubyProf/ProfileTask.html">RubyProf::ProfileTask</a><br />
30
+ <a href="classes/RubyProf/Result.html">RubyProf::Result</a><br />
31
+ </div>
32
+ </div>
33
+ </body>
34
+ </html>
@@ -0,0 +1,39 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Files
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Files</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Files</h1>
22
+ <div id="index-entries">
23
+ <a href="files/LICENSE.html">LICENSE</a><br />
24
+ <a href="files/README.html">README</a><br />
25
+ <a href="files/bin/ruby-prof.html">bin/ruby-prof</a><br />
26
+ <a href="files/examples/flat_txt.html">examples/flat.txt</a><br />
27
+ <a href="files/examples/graph_html.html">examples/graph.html</a><br />
28
+ <a href="files/examples/graph_txt.html">examples/graph.txt</a><br />
29
+ <a href="files/ext/ruby_prof_c.html">ext/ruby_prof.c</a><br />
30
+ <a href="files/lib/ruby-prof_rb.html">lib/ruby-prof.rb</a><br />
31
+ <a href="files/lib/ruby-prof/flat_printer_rb.html">lib/ruby-prof/flat_printer.rb</a><br />
32
+ <a href="files/lib/ruby-prof/graph_html_printer_rb.html">lib/ruby-prof/graph_html_printer.rb</a><br />
33
+ <a href="files/lib/ruby-prof/graph_printer_rb.html">lib/ruby-prof/graph_printer.rb</a><br />
34
+ <a href="files/lib/ruby-prof/profiletask_rb.html">lib/ruby-prof/profiletask.rb</a><br />
35
+ <a href="files/lib/unprof_rb.html">lib/unprof.rb</a><br />
36
+ </div>
37
+ </div>
38
+ </body>
39
+ </html>
@@ -0,0 +1,67 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Methods
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Methods</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Methods</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/RubyProf/MethodInfo.html#M000021">called (RubyProf::MethodInfo)</a><br />
24
+ <a href="classes/RubyProf/CallInfo.html#M000009">called (RubyProf::CallInfo)</a><br />
25
+ <a href="classes/RubyProf/MethodInfo.html#M000030">children (RubyProf::MethodInfo)</a><br />
26
+ <a href="classes/RubyProf/MethodInfo.html#M000024">children_time (RubyProf::MethodInfo)</a><br />
27
+ <a href="classes/RubyProf/CallInfo.html#M000012">children_time (RubyProf::CallInfo)</a><br />
28
+ <a href="classes/RubyProf.html#M000005">clock_mode (RubyProf)</a><br />
29
+ <a href="classes/RubyProf.html#M000006">clock_mode= (RubyProf)</a><br />
30
+ <a href="classes/RubyProf.html#M000007">cpu_frequency (RubyProf)</a><br />
31
+ <a href="classes/RubyProf.html#M000008">cpu_frequency= (RubyProf)</a><br />
32
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000018">create_link (RubyProf::GraphHtmlPrinter)</a><br />
33
+ <a href="classes/RubyProf/ProfileTask.html#M000041">create_output_directory (RubyProf::ProfileTask)</a><br />
34
+ <a href="classes/RubyProf/ProfileTask.html#M000038">define (RubyProf::ProfileTask)</a><br />
35
+ <a href="classes/RubyProf.html#M000001">figure_clock_mode (RubyProf)</a><br />
36
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000019">link_name (RubyProf::GraphHtmlPrinter)</a><br />
37
+ <a href="classes/RubyProf/MethodInfo.html#M000026">method_class (RubyProf::MethodInfo)</a><br />
38
+ <a href="classes/RubyProf/MethodInfo.html#M000027">method_id (RubyProf::MethodInfo)</a><br />
39
+ <a href="classes/RubyProf/MethodInfo.html#M000025">name (RubyProf::MethodInfo)</a><br />
40
+ <a href="classes/RubyProf/GraphPrinter.html#M000031">new (RubyProf::GraphPrinter)</a><br />
41
+ <a href="classes/RubyProf/ProfileTask.html#M000037">new (RubyProf::ProfileTask)</a><br />
42
+ <a href="classes/RubyProf/FlatPrinter.html#M000033">new (RubyProf::FlatPrinter)</a><br />
43
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000013">new (RubyProf::GraphHtmlPrinter)</a><br />
44
+ <a href="classes/RubyProf/ProfileTask.html#M000040">output_directory (RubyProf::ProfileTask)</a><br />
45
+ <a href="classes/RubyProf/MethodInfo.html#M000029">parents (RubyProf::MethodInfo)</a><br />
46
+ <a href="classes/RubyProf/FlatPrinter.html#M000034">print (RubyProf::FlatPrinter)</a><br />
47
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000014">print (RubyProf::GraphHtmlPrinter)</a><br />
48
+ <a href="classes/RubyProf/GraphPrinter.html#M000032">print (RubyProf::GraphPrinter)</a><br />
49
+ <a href="classes/RubyProf.html#M000004">profile (RubyProf)</a><br />
50
+ <a href="classes/RubyProf/ProfileTask.html#M000039">run_script (RubyProf::ProfileTask)</a><br />
51
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000017">self_percent (RubyProf::GraphHtmlPrinter)</a><br />
52
+ <a href="classes/RubyProf/CallInfo.html#M000011">self_time (RubyProf::CallInfo)</a><br />
53
+ <a href="classes/RubyProf/MethodInfo.html#M000023">self_time (RubyProf::MethodInfo)</a><br />
54
+ <a href="classes/RubyProf.html#M000002">start (RubyProf)</a><br />
55
+ <a href="classes/RubyProf.html#M000003">stop (RubyProf)</a><br />
56
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000020">template (RubyProf::GraphHtmlPrinter)</a><br />
57
+ <a href="classes/RubyProf/MethodInfo.html#M000028">thread_id (RubyProf::MethodInfo)</a><br />
58
+ <a href="classes/RubyProf/Result.html#M000035">threads (RubyProf::Result)</a><br />
59
+ <a href="classes/RubyProf/Result.html#M000036">toplevel (RubyProf::Result)</a><br />
60
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000016">total_percent (RubyProf::GraphHtmlPrinter)</a><br />
61
+ <a href="classes/RubyProf/CallInfo.html#M000010">total_time (RubyProf::CallInfo)</a><br />
62
+ <a href="classes/RubyProf/GraphHtmlPrinter.html#M000015">total_time (RubyProf::GraphHtmlPrinter)</a><br />
63
+ <a href="classes/RubyProf/MethodInfo.html#M000022">total_time (RubyProf::MethodInfo)</a><br />
64
+ </div>
65
+ </div>
66
+ </body>
67
+ </html>
data/doc/index.html ADDED
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
5
+
6
+ <!--
7
+
8
+ ruby-prof
9
+
10
+ -->
11
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
12
+ <head>
13
+ <title>ruby-prof</title>
14
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
15
+ </head>
16
+ <frameset rows="20%, 80%">
17
+ <frameset cols="25%,35%,45%">
18
+ <frame src="fr_file_index.html" title="Files" name="Files" />
19
+ <frame src="fr_class_index.html" name="Classes" />
20
+ <frame src="fr_method_index.html" name="Methods" />
21
+ </frameset>
22
+ <frame src="files/README.html" name="docwin" />
23
+ </frameset>
24
+ </html>
@@ -0,0 +1,208 @@
1
+
2
+ body {
3
+ font-family: Verdana,Arial,Helvetica,sans-serif;
4
+ font-size: 90%;
5
+ margin: 0;
6
+ margin-left: 40px;
7
+ padding: 0;
8
+ background: white;
9
+ }
10
+
11
+ h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
12
+ h1 { font-size: 150%; }
13
+ h2,h3,h4 { margin-top: 1em; }
14
+
15
+ a { background: #eef; color: #039; text-decoration: none; }
16
+ a:hover { background: #039; color: #eef; }
17
+
18
+ /* Override the base stylesheet's Anchor inside a table cell */
19
+ td > a {
20
+ background: transparent;
21
+ color: #039;
22
+ text-decoration: none;
23
+ }
24
+
25
+ /* and inside a section title */
26
+ .section-title > a {
27
+ background: transparent;
28
+ color: #eee;
29
+ text-decoration: none;
30
+ }
31
+
32
+ /* === Structural elements =================================== */
33
+
34
+ div#index {
35
+ margin: 0;
36
+ margin-left: -40px;
37
+ padding: 0;
38
+ font-size: 90%;
39
+ }
40
+
41
+
42
+ div#index a {
43
+ margin-left: 0.7em;
44
+ }
45
+
46
+ div#index .section-bar {
47
+ margin-left: 0px;
48
+ padding-left: 0.7em;
49
+ background: #ccc;
50
+ font-size: small;
51
+ }
52
+
53
+
54
+ div#classHeader, div#fileHeader {
55
+ width: auto;
56
+ color: white;
57
+ padding: 0.5em 1.5em 0.5em 1.5em;
58
+ margin: 0;
59
+ margin-left: -40px;
60
+ border-bottom: 3px solid #006;
61
+ }
62
+
63
+ div#classHeader a, div#fileHeader a {
64
+ background: inherit;
65
+ color: white;
66
+ }
67
+
68
+ div#classHeader td, div#fileHeader td {
69
+ background: inherit;
70
+ color: white;
71
+ }
72
+
73
+
74
+ div#fileHeader {
75
+ background: #057;
76
+ }
77
+
78
+ div#classHeader {
79
+ background: #048;
80
+ }
81
+
82
+
83
+ .class-name-in-header {
84
+ font-size: 180%;
85
+ font-weight: bold;
86
+ }
87
+
88
+
89
+ div#bodyContent {
90
+ padding: 0 1.5em 0 1.5em;
91
+ }
92
+
93
+ div#description {
94
+ padding: 0.5em 1.5em;
95
+ background: #efefef;
96
+ border: 1px dotted #999;
97
+ }
98
+
99
+ div#description h1,h2,h3,h4,h5,h6 {
100
+ color: #125;;
101
+ background: transparent;
102
+ }
103
+
104
+ div#validator-badges {
105
+ text-align: center;
106
+ }
107
+ div#validator-badges img { border: 0; }
108
+
109
+ div#copyright {
110
+ color: #333;
111
+ background: #efefef;
112
+ font: 0.75em sans-serif;
113
+ margin-top: 5em;
114
+ margin-bottom: 0;
115
+ padding: 0.5em 2em;
116
+ }
117
+
118
+
119
+ /* === Classes =================================== */
120
+
121
+ table.header-table {
122
+ color: white;
123
+ font-size: small;
124
+ }
125
+
126
+ .type-note {
127
+ font-size: small;
128
+ color: #DEDEDE;
129
+ }
130
+
131
+ .xxsection-bar {
132
+ background: #eee;
133
+ color: #333;
134
+ padding: 3px;
135
+ }
136
+
137
+ .section-bar {
138
+ color: #333;
139
+ border-bottom: 1px solid #999;
140
+ margin-left: -20px;
141
+ }
142
+
143
+
144
+ .section-title {
145
+ background: #79a;
146
+ color: #eee;
147
+ padding: 3px;
148
+ margin-top: 2em;
149
+ margin-left: -30px;
150
+ border: 1px solid #999;
151
+ }
152
+
153
+ .top-aligned-row { vertical-align: top }
154
+ .bottom-aligned-row { vertical-align: bottom }
155
+
156
+ /* --- Context section classes ----------------------- */
157
+
158
+ .context-row { }
159
+ .context-item-name { font-family: monospace; font-weight: bold; color: black; }
160
+ .context-item-value { font-size: small; color: #448; }
161
+ .context-item-desc { color: #333; padding-left: 2em; }
162
+
163
+ /* --- Method classes -------------------------- */
164
+ .method-detail {
165
+ background: #efefef;
166
+ padding: 0;
167
+ margin-top: 0.5em;
168
+ margin-bottom: 1em;
169
+ border: 1px dotted #ccc;
170
+ }
171
+ .method-heading {
172
+ color: black;
173
+ background: #ccc;
174
+ border-bottom: 1px solid #666;
175
+ padding: 0.2em 0.5em 0 0.5em;
176
+ }
177
+ .method-signature { color: black; background: inherit; }
178
+ .method-name { font-weight: bold; }
179
+ .method-args { font-style: italic; }
180
+ .method-description { padding: 0 0.5em 0 0.5em; }
181
+
182
+ /* --- Source code sections -------------------- */
183
+
184
+ a.source-toggle { font-size: 90%; }
185
+ div.method-source-code {
186
+ background: #262626;
187
+ color: #ffdead;
188
+ margin: 1em;
189
+ padding: 0.5em;
190
+ border: 1px dashed #999;
191
+ overflow: hidden;
192
+ }
193
+
194
+ div.method-source-code pre { color: #ffdead; overflow: hidden; }
195
+
196
+ /* --- Ruby keyword styles --------------------- */
197
+
198
+ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
199
+
200
+ .ruby-constant { color: #7fffd4; background: transparent; }
201
+ .ruby-keyword { color: #00ffff; background: transparent; }
202
+ .ruby-ivar { color: #eedd82; background: transparent; }
203
+ .ruby-operator { color: #00ffee; background: transparent; }
204
+ .ruby-identifier { color: #ffdead; background: transparent; }
205
+ .ruby-node { color: #ffa07a; background: transparent; }
206
+ .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
207
+ .ruby-regexp { color: #ffa07a; background: transparent; }
208
+ .ruby-value { color: #7fffd4; background: transparent; }
data/examples/flat.txt ADDED
@@ -0,0 +1,57 @@
1
+ =Flat Profiles
2
+
3
+ Flat profiles show the total amount of time spent in each method.
4
+ As an example, here is the output from running printers_test.rb.
5
+
6
+ Thread ID: 21277412
7
+ %self cumulative total self children calls self/call total/call name
8
+ 46.34 4.06 8.72 4.06 4.66 501 0.01 0.02 Integer#upto
9
+ 23.89 6.16 2.09 2.09 0.00 61 0.03 0.03 Kernel.sleep
10
+ 15.12 7.48 1.33 1.33 0.00 250862 0.00 0.00 Fixnum#%
11
+ 14.13 8.72 1.24 1.24 0.00 250862 0.00 0.00 Fixnum#==
12
+ 0.18 8.74 0.02 0.02 0.00 1 0.02 0.02 Array#each_index
13
+ 0.17 8.75 6.64 0.01 6.63 500 0.00 0.01 Object#is_prime
14
+ 0.17 8.77 6.66 0.01 6.64 1 0.01 6.66 Array#select
15
+ 0.00 8.77 0.00 0.00 0.00 501 0.00 0.00 Fixnum#-
16
+ 0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Array#first
17
+ 0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Array#length
18
+ 0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Array#initialize
19
+ 0.00 8.77 8.77 0.00 8.77 1 0.00 8.77 Object#run_primes
20
+ 0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Integer#to_int
21
+ 0.00 8.77 6.66 0.00 6.66 1 0.00 6.66 Object#find_primes
22
+ 0.00 8.77 2.09 0.00 2.09 1 0.00 2.09 Object#find_largest
23
+ 0.00 8.77 0.02 0.00 0.02 1 0.00 0.02 Object#make_random_array
24
+ 0.00 8.77 0.00 0.00 0.00 1 0.00 0.00 Class#new
25
+ 0.00 8.77 0.00 0.00 0.00 500 0.00 0.00 Array#[]=
26
+ 0.00 8.77 0.00 0.00 0.00 61 0.00 0.00 Fixnum#>
27
+ 0.00 8.77 0.00 0.00 0.00 61 0.00 0.00 Array#[]
28
+ 0.00 8.77 8.77 0.00 8.77 1 0.00 8.77 #toplevel
29
+ 0.00 8.77 0.00 0.00 0.00 500 0.00 0.00 Kernel.rand
30
+
31
+ All values are in seconds.
32
+
33
+ The columns are:
34
+
35
+ %self - The percentage of time spent in this method, derived from self_time/total_time
36
+ cumulative - The sum of the time spent in this method and all the methods listed above it.
37
+ total - The time spent in this method and its children.
38
+ self - The time spent in this method.
39
+ children - The time spent in this method's children.
40
+ calls - The number of times this method was called.
41
+ self/call - The average time spent per call in this method.
42
+ total/call - The average time spent per call in this method and its children.
43
+ name - The name of the method.
44
+
45
+ Methods are sorted based on %self, therefore the methods that execute the longest are listed
46
+ first.
47
+
48
+ The interpretation of method names is:
49
+ * #toplevel - The root method that calls all other methods
50
+ * Object#test - An instance method "test" on the class "Object"
51
+ * <Class:Object>#test - A class method "test" on the class "Object"
52
+ * <Object:Object>#test - A singleton method "test" on a singleton class inherited from "Object"
53
+ * Module.test - An instance method "test" on the module "Module"
54
+
55
+ For example, wee can see that Integer#upto took the most time, 4.06 seconds. An additional
56
+ 4.66 seconds were spent in its children, for a total time of 8.72 seconds.
57
+
@@ -0,0 +1,827 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
+ <html>
3
+ <!-- :nodoc: -->
4
+ <head>
5
+ <style media="all" type="text/css">
6
+ table {
7
+ border-collapse: collapse;
8
+ border: 1px solid #CCC;
9
+ font-family: Verdana, Arial, Helvetica, sans-serif;
10
+ font-size: 9pt;
11
+ line-height: normal;
12
+ }
13
+
14
+ th {
15
+ text-align: center;
16
+ border-top: 1px solid #FB7A31;
17
+ border-bottom: 1px solid #FB7A31;
18
+ background: #FFC;
19
+ padding: 0.3em;
20
+ border-left: 1px solid silver;
21
+ }
22
+
23
+ tr.break td {
24
+ border: 0;
25
+ border-top: 1px solid #FB7A31;
26
+ padding: 0;
27
+ margin: 0;
28
+ }
29
+
30
+ tr.method td {
31
+ font-weight: bold;
32
+ }
33
+
34
+ td {
35
+ padding: 0.3em;
36
+ }
37
+
38
+ td:first-child {
39
+ width: 190px;
40
+ }
41
+
42
+ td {
43
+ border-left: 1px solid #CCC;
44
+ text-align: center;
45
+ }
46
+ </style>
47
+ </head>
48
+ <body>
49
+ <h1> Graph Profile</h1>
50
+ <p>Graph profiles show how long each method runs, which methods call it
51
+ and which methods it calls. To understand how to read a graph profile, refer to
52
+ the <a href="graph.txt">documentation</a> for the text graph report. </p>
53
+ <p>The main advantage of an HTML graph format versus the text format is the use of
54
+ hyperlinks to jump between methods. This makes it easier to understand the flow
55
+ of control through a program and which methods take the most time.</p>
56
+ <p>Below is the output from running printers_test.rb reproduced in HTML. </p>
57
+ <p>Profile Report</p>
58
+ <!-- Threads Table -->
59
+ <table>
60
+ <tr>
61
+ <th>Thread ID</th>
62
+ <th>Total Time</th>
63
+ </tr>
64
+ <tr>
65
+ <td><a href="#21277412">21277412</a></td>
66
+ <td>8.766</td>
67
+ </tr>
68
+ </table>
69
+ <!-- Methods Tables -->
70
+ <h2><a name="21277412">Thread 21277412</a></h2>
71
+ <table>
72
+ <tr>
73
+ <th> %Total</th>
74
+ <th> %Self</th>
75
+ <th> Total</th>
76
+ <th> Self</th>
77
+ <th> Children</th>
78
+ <th> Calls</th>
79
+ <th>Name</th>
80
+ </tr>
81
+ <!-- Parents -->
82
+ <tr class="method">
83
+ <td> 100.00%</td>
84
+ <td> 0.00%</td>
85
+ <td> 8.77</td>
86
+ <td> 0.00</td>
87
+ <td> 8.77</td>
88
+ <td> 1</td>
89
+ <td><a name="_toplevel_21277412">#toplevel</a></td>
90
+ </tr>
91
+ <!-- Children -->
92
+ <tr>
93
+ <td>&nbsp;</td>
94
+ <td>&nbsp;</td>
95
+ <td> 8.77</td>
96
+ <td> 0.00</td>
97
+ <td> 8.77</td>
98
+ <td> 1/1</td>
99
+ <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
100
+ </tr>
101
+ <!-- Create divider row -->
102
+ <tr class="break">
103
+ <td colspan="7"></td>
104
+ </tr>
105
+ <!-- Parents -->
106
+ <tr>
107
+ <td>&nbsp;</td>
108
+ <td>&nbsp;</td>
109
+ <td> 8.77</td>
110
+ <td> 0.00</td>
111
+ <td> 8.77</td>
112
+ <td> 1/1</td>
113
+ <td><a href="#_toplevel_21277412">#toplevel</a></td>
114
+ </tr>
115
+ <tr class="method">
116
+ <td> 100.00%</td>
117
+ <td> 0.00%</td>
118
+ <td> 8.77</td>
119
+ <td> 0.00</td>
120
+ <td> 8.77</td>
121
+ <td> 1</td>
122
+ <td><a name="Object_run_primes_21277412">Object#run_primes</a></td>
123
+ </tr>
124
+ <!-- Children -->
125
+ <tr>
126
+ <td>&nbsp;</td>
127
+ <td>&nbsp;</td>
128
+ <td> 0.02</td>
129
+ <td> 0.00</td>
130
+ <td> 0.02</td>
131
+ <td> 1/1</td>
132
+ <td><a href="#Object_make_random_array_21277412">Object#make_random_array</a></td>
133
+ </tr>
134
+ <tr>
135
+ <td>&nbsp;</td>
136
+ <td>&nbsp;</td>
137
+ <td> 2.09</td>
138
+ <td> 0.00</td>
139
+ <td> 2.09</td>
140
+ <td> 1/1</td>
141
+ <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
142
+ </tr>
143
+ <tr>
144
+ <td>&nbsp;</td>
145
+ <td>&nbsp;</td>
146
+ <td> 6.66</td>
147
+ <td> 0.00</td>
148
+ <td> 6.66</td>
149
+ <td> 1/1</td>
150
+ <td><a href="#Object_find_primes_21277412">Object#find_primes</a></td>
151
+ </tr>
152
+ <!-- Create divider row -->
153
+ <tr class="break">
154
+ <td colspan="7"></td>
155
+ </tr>
156
+ <!-- Parents -->
157
+ <tr>
158
+ <td>&nbsp;</td>
159
+ <td>&nbsp;</td>
160
+ <td> 6.63</td>
161
+ <td> 4.06</td>
162
+ <td> 2.56</td>
163
+ <td> 500/501</td>
164
+ <td><a href="#Object_is_prime_21277412">Object#is_prime</a></td>
165
+ </tr>
166
+ <tr>
167
+ <td>&nbsp;</td>
168
+ <td>&nbsp;</td>
169
+ <td> 2.09</td>
170
+ <td> 0.00</td>
171
+ <td> 2.09</td>
172
+ <td> 1/501</td>
173
+ <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
174
+ </tr>
175
+ <tr class="method">
176
+ <td> 99.48%</td>
177
+ <td> 46.34%</td>
178
+ <td> 8.72</td>
179
+ <td> 4.06</td>
180
+ <td> 4.66</td>
181
+ <td> 501</td>
182
+ <td><a name="Integer_upto_21277412">Integer#upto</a></td>
183
+ </tr>
184
+ <!-- Children -->
185
+ <tr>
186
+ <td>&nbsp;</td>
187
+ <td>&nbsp;</td>
188
+ <td> 0.00</td>
189
+ <td> 0.00</td>
190
+ <td> 0.00</td>
191
+ <td> 61/61</td>
192
+ <td><a href="#Array_[]_21277412">Array#[]</a></td>
193
+ </tr>
194
+ <tr>
195
+ <td>&nbsp;</td>
196
+ <td>&nbsp;</td>
197
+ <td> 0.00</td>
198
+ <td> 0.00</td>
199
+ <td> 0.00</td>
200
+ <td> 61/61</td>
201
+ <td><a href="#Fixnum_>_21277412">Fixnum#_</a></td>
202
+ </tr>
203
+ <tr>
204
+ <td>&nbsp;</td>
205
+ <td>&nbsp;</td>
206
+ <td> 2.09</td>
207
+ <td> 2.09</td>
208
+ <td> 0.00</td>
209
+ <td> 61/61</td>
210
+ <td><a href="#Kernel_sleep_21277412">Kernel.sleep</a></td>
211
+ </tr>
212
+ <tr>
213
+ <td>&nbsp;</td>
214
+ <td>&nbsp;</td>
215
+ <td> 1.24</td>
216
+ <td> 1.24</td>
217
+ <td> 0.00</td>
218
+ <td> 250862/250862</td>
219
+ <td><a href="#Fixnum____21277412">Fixnum#==</a></td>
220
+ </tr>
221
+ <tr>
222
+ <td>&nbsp;</td>
223
+ <td>&nbsp;</td>
224
+ <td> 1.33</td>
225
+ <td> 1.33</td>
226
+ <td> 0.00</td>
227
+ <td> 250862/250862</td>
228
+ <td><a href="#Fixnum_%_21277412">Fixnum#%</a></td>
229
+ </tr>
230
+ <!-- Create divider row -->
231
+ <tr class="break">
232
+ <td colspan="7"></td>
233
+ </tr>
234
+ <!-- Parents -->
235
+ <tr>
236
+ <td>&nbsp;</td>
237
+ <td>&nbsp;</td>
238
+ <td> 6.66</td>
239
+ <td> 0.01</td>
240
+ <td> 6.64</td>
241
+ <td> 1/1</td>
242
+ <td><a href="#Object_find_primes_21277412">Object#find_primes</a></td>
243
+ </tr>
244
+ <tr class="method">
245
+ <td> 75.93%</td>
246
+ <td> 0.17%</td>
247
+ <td> 6.66</td>
248
+ <td> 0.01</td>
249
+ <td> 6.64</td>
250
+ <td> 1</td>
251
+ <td><a name="Array_select_21277412">Array#select</a></td>
252
+ </tr>
253
+ <!-- Children -->
254
+ <tr>
255
+ <td>&nbsp;</td>
256
+ <td>&nbsp;</td>
257
+ <td> 6.64</td>
258
+ <td> 0.01</td>
259
+ <td> 6.63</td>
260
+ <td> 500/500</td>
261
+ <td><a href="#Object_is_prime_21277412">Object#is_prime</a></td>
262
+ </tr>
263
+ <!-- Create divider row -->
264
+ <tr class="break">
265
+ <td colspan="7"></td>
266
+ </tr>
267
+ <!-- Parents -->
268
+ <tr>
269
+ <td>&nbsp;</td>
270
+ <td>&nbsp;</td>
271
+ <td> 6.66</td>
272
+ <td> 0.00</td>
273
+ <td> 6.66</td>
274
+ <td> 1/1</td>
275
+ <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
276
+ </tr>
277
+ <tr class="method">
278
+ <td> 75.93%</td>
279
+ <td> 0.00%</td>
280
+ <td> 6.66</td>
281
+ <td> 0.00</td>
282
+ <td> 6.66</td>
283
+ <td> 1</td>
284
+ <td><a name="Object_find_primes_21277412">Object#find_primes</a></td>
285
+ </tr>
286
+ <!-- Children -->
287
+ <tr>
288
+ <td>&nbsp;</td>
289
+ <td>&nbsp;</td>
290
+ <td> 6.66</td>
291
+ <td> 0.01</td>
292
+ <td> 6.64</td>
293
+ <td> 1/1</td>
294
+ <td><a href="#Array_select_21277412">Array#select</a></td>
295
+ </tr>
296
+ <!-- Create divider row -->
297
+ <tr class="break">
298
+ <td colspan="7"></td>
299
+ </tr>
300
+ <!-- Parents -->
301
+ <tr>
302
+ <td>&nbsp;</td>
303
+ <td>&nbsp;</td>
304
+ <td> 6.64</td>
305
+ <td> 0.01</td>
306
+ <td> 6.63</td>
307
+ <td> 500/500</td>
308
+ <td><a href="#Array_select_21277412">Array#select</a></td>
309
+ </tr>
310
+ <tr class="method">
311
+ <td> 75.76%</td>
312
+ <td> 0.17%</td>
313
+ <td> 6.64</td>
314
+ <td> 0.01</td>
315
+ <td> 6.63</td>
316
+ <td> 500</td>
317
+ <td><a name="Object_is_prime_21277412">Object#is_prime</a></td>
318
+ </tr>
319
+ <!-- Children -->
320
+ <tr>
321
+ <td>&nbsp;</td>
322
+ <td>&nbsp;</td>
323
+ <td> 0.00</td>
324
+ <td> 0.00</td>
325
+ <td> 0.00</td>
326
+ <td> 500/501</td>
327
+ <td><a href="#Fixnum_-_21277412">Fixnum#-</a></td>
328
+ </tr>
329
+ <tr>
330
+ <td>&nbsp;</td>
331
+ <td>&nbsp;</td>
332
+ <td> 6.63</td>
333
+ <td> 4.06</td>
334
+ <td> 2.56</td>
335
+ <td> 500/501</td>
336
+ <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
337
+ </tr>
338
+ <!-- Create divider row -->
339
+ <tr class="break">
340
+ <td colspan="7"></td>
341
+ </tr>
342
+ <!-- Parents -->
343
+ <tr>
344
+ <td>&nbsp;</td>
345
+ <td>&nbsp;</td>
346
+ <td> 2.09</td>
347
+ <td> 0.00</td>
348
+ <td> 2.09</td>
349
+ <td> 1/1</td>
350
+ <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
351
+ </tr>
352
+ <tr class="method">
353
+ <td> 23.89%</td>
354
+ <td> 0.00%</td>
355
+ <td> 2.09</td>
356
+ <td> 0.00</td>
357
+ <td> 2.09</td>
358
+ <td> 1</td>
359
+ <td><a name="Object_find_largest_21277412">Object#find_largest</a></td>
360
+ </tr>
361
+ <!-- Children -->
362
+ <tr>
363
+ <td>&nbsp;</td>
364
+ <td>&nbsp;</td>
365
+ <td> 0.00</td>
366
+ <td> 0.00</td>
367
+ <td> 0.00</td>
368
+ <td> 1/501</td>
369
+ <td><a href="#Fixnum_-_21277412">Fixnum#-</a></td>
370
+ </tr>
371
+ <tr>
372
+ <td>&nbsp;</td>
373
+ <td>&nbsp;</td>
374
+ <td> 2.09</td>
375
+ <td> 0.00</td>
376
+ <td> 2.09</td>
377
+ <td> 1/501</td>
378
+ <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
379
+ </tr>
380
+ <tr>
381
+ <td>&nbsp;</td>
382
+ <td>&nbsp;</td>
383
+ <td> 0.00</td>
384
+ <td> 0.00</td>
385
+ <td> 0.00</td>
386
+ <td> 1/1</td>
387
+ <td><a href="#Array_first_21277412">Array#first</a></td>
388
+ </tr>
389
+ <tr>
390
+ <td>&nbsp;</td>
391
+ <td>&nbsp;</td>
392
+ <td> 0.00</td>
393
+ <td> 0.00</td>
394
+ <td> 0.00</td>
395
+ <td> 1/1</td>
396
+ <td><a href="#Array_length_21277412">Array#length</a></td>
397
+ </tr>
398
+ <!-- Create divider row -->
399
+ <tr class="break">
400
+ <td colspan="7"></td>
401
+ </tr>
402
+ <!-- Parents -->
403
+ <tr>
404
+ <td>&nbsp;</td>
405
+ <td>&nbsp;</td>
406
+ <td> 2.09</td>
407
+ <td> 2.09</td>
408
+ <td> 0.00</td>
409
+ <td> 61/61</td>
410
+ <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
411
+ </tr>
412
+ <tr class="method">
413
+ <td> 23.89%</td>
414
+ <td> 23.89%</td>
415
+ <td> 2.09</td>
416
+ <td> 2.09</td>
417
+ <td> 0.00</td>
418
+ <td> 61</td>
419
+ <td><a name="Kernel_sleep_21277412">Kernel.sleep</a></td>
420
+ </tr>
421
+ <!-- Children -->
422
+ <!-- Create divider row -->
423
+ <tr class="break">
424
+ <td colspan="7"></td>
425
+ </tr>
426
+ <!-- Parents -->
427
+ <tr>
428
+ <td>&nbsp;</td>
429
+ <td>&nbsp;</td>
430
+ <td> 1.33</td>
431
+ <td> 1.33</td>
432
+ <td> 0.00</td>
433
+ <td> 250862/250862</td>
434
+ <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
435
+ </tr>
436
+ <tr class="method">
437
+ <td> 15.12%</td>
438
+ <td> 15.12%</td>
439
+ <td> 1.33</td>
440
+ <td> 1.33</td>
441
+ <td> 0.00</td>
442
+ <td> 250862</td>
443
+ <td><a name="Fixnum_%_21277412">Fixnum#%</a></td>
444
+ </tr>
445
+ <!-- Children -->
446
+ <!-- Create divider row -->
447
+ <tr class="break">
448
+ <td colspan="7"></td>
449
+ </tr>
450
+ <!-- Parents -->
451
+ <tr>
452
+ <td>&nbsp;</td>
453
+ <td>&nbsp;</td>
454
+ <td> 1.24</td>
455
+ <td> 1.24</td>
456
+ <td> 0.00</td>
457
+ <td> 250862/250862</td>
458
+ <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
459
+ </tr>
460
+ <tr class="method">
461
+ <td> 14.13%</td>
462
+ <td> 14.13%</td>
463
+ <td> 1.24</td>
464
+ <td> 1.24</td>
465
+ <td> 0.00</td>
466
+ <td> 250862</td>
467
+ <td><a name="Fixnum____21277412">Fixnum#==</a></td>
468
+ </tr>
469
+ <!-- Children -->
470
+ <!-- Create divider row -->
471
+ <tr class="break">
472
+ <td colspan="7"></td>
473
+ </tr>
474
+ <!-- Parents -->
475
+ <tr>
476
+ <td>&nbsp;</td>
477
+ <td>&nbsp;</td>
478
+ <td> 0.02</td>
479
+ <td> 0.00</td>
480
+ <td> 0.02</td>
481
+ <td> 1/1</td>
482
+ <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
483
+ </tr>
484
+ <tr class="method">
485
+ <td> 0.18%</td>
486
+ <td> 0.00%</td>
487
+ <td> 0.02</td>
488
+ <td> 0.00</td>
489
+ <td> 0.02</td>
490
+ <td> 1</td>
491
+ <td><a name="Object_make_random_array_21277412">Object#make_random_array</a></td>
492
+ </tr>
493
+ <!-- Children -->
494
+ <tr>
495
+ <td>&nbsp;</td>
496
+ <td>&nbsp;</td>
497
+ <td> 0.02</td>
498
+ <td> 0.02</td>
499
+ <td> 0.00</td>
500
+ <td> 1/1</td>
501
+ <td><a href="#Array_each_index_21277412">Array#each_index</a></td>
502
+ </tr>
503
+ <tr>
504
+ <td>&nbsp;</td>
505
+ <td>&nbsp;</td>
506
+ <td> 0.00</td>
507
+ <td> 0.00</td>
508
+ <td> 0.00</td>
509
+ <td> 1/1</td>
510
+ <td><a href="#Class_new_21277412">Class#new</a></td>
511
+ </tr>
512
+ <!-- Create divider row -->
513
+ <tr class="break">
514
+ <td colspan="7"></td>
515
+ </tr>
516
+ <!-- Parents -->
517
+ <tr>
518
+ <td>&nbsp;</td>
519
+ <td>&nbsp;</td>
520
+ <td> 0.02</td>
521
+ <td> 0.02</td>
522
+ <td> 0.00</td>
523
+ <td> 1/1</td>
524
+ <td><a href="#Object_make_random_array_21277412">Object#make_random_array</a></td>
525
+ </tr>
526
+ <tr class="method">
527
+ <td> 0.18%</td>
528
+ <td> 0.18%</td>
529
+ <td> 0.02</td>
530
+ <td> 0.02</td>
531
+ <td> 0.00</td>
532
+ <td> 1</td>
533
+ <td><a name="Array_each_index_21277412">Array#each_index</a></td>
534
+ </tr>
535
+ <!-- Children -->
536
+ <tr>
537
+ <td>&nbsp;</td>
538
+ <td>&nbsp;</td>
539
+ <td> 0.00</td>
540
+ <td> 0.00</td>
541
+ <td> 0.00</td>
542
+ <td> 500/500</td>
543
+ <td><a href="#Kernel_rand_21277412">Kernel.rand</a></td>
544
+ </tr>
545
+ <tr>
546
+ <td>&nbsp;</td>
547
+ <td>&nbsp;</td>
548
+ <td> 0.00</td>
549
+ <td> 0.00</td>
550
+ <td> 0.00</td>
551
+ <td> 500/500</td>
552
+ <td><a href="#Array_[]__21277412">Array#[]=</a></td>
553
+ </tr>
554
+ <!-- Create divider row -->
555
+ <tr class="break">
556
+ <td colspan="7"></td>
557
+ </tr>
558
+ <!-- Parents -->
559
+ <tr>
560
+ <td>&nbsp;</td>
561
+ <td>&nbsp;</td>
562
+ <td> 0.00</td>
563
+ <td> 0.00</td>
564
+ <td> 0.00</td>
565
+ <td> 500/501</td>
566
+ <td><a href="#Object_is_prime_21277412">Object#is_prime</a></td>
567
+ </tr>
568
+ <tr>
569
+ <td>&nbsp;</td>
570
+ <td>&nbsp;</td>
571
+ <td> 0.00</td>
572
+ <td> 0.00</td>
573
+ <td> 0.00</td>
574
+ <td> 1/501</td>
575
+ <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
576
+ </tr>
577
+ <tr class="method">
578
+ <td> 0.00%</td>
579
+ <td> 0.00%</td>
580
+ <td> 0.00</td>
581
+ <td> 0.00</td>
582
+ <td> 0.00</td>
583
+ <td> 501</td>
584
+ <td><a name="Fixnum_-_21277412">Fixnum#-</a></td>
585
+ </tr>
586
+ <!-- Children -->
587
+ <!-- Create divider row -->
588
+ <tr class="break">
589
+ <td colspan="7"></td>
590
+ </tr>
591
+ <!-- Parents -->
592
+ <tr>
593
+ <td>&nbsp;</td>
594
+ <td>&nbsp;</td>
595
+ <td> 0.00</td>
596
+ <td> 0.00</td>
597
+ <td> 0.00</td>
598
+ <td> 1/1</td>
599
+ <td><a href="#Kernel_rand_21277412">Kernel.rand</a></td>
600
+ </tr>
601
+ <tr class="method">
602
+ <td> 0.00%</td>
603
+ <td> 0.00%</td>
604
+ <td> 0.00</td>
605
+ <td> 0.00</td>
606
+ <td> 0.00</td>
607
+ <td> 1</td>
608
+ <td><a name="Integer_to_int_21277412">Integer#to_int</a></td>
609
+ </tr>
610
+ <!-- Children -->
611
+ <!-- Create divider row -->
612
+ <tr class="break">
613
+ <td colspan="7"></td>
614
+ </tr>
615
+ <!-- Parents -->
616
+ <tr>
617
+ <td>&nbsp;</td>
618
+ <td>&nbsp;</td>
619
+ <td> 0.00</td>
620
+ <td> 0.00</td>
621
+ <td> 0.00</td>
622
+ <td> 1/1</td>
623
+ <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
624
+ </tr>
625
+ <tr class="method">
626
+ <td> 0.00%</td>
627
+ <td> 0.00%</td>
628
+ <td> 0.00</td>
629
+ <td> 0.00</td>
630
+ <td> 0.00</td>
631
+ <td> 1</td>
632
+ <td><a name="Array_first_21277412">Array#first</a></td>
633
+ </tr>
634
+ <!-- Children -->
635
+ <!-- Create divider row -->
636
+ <tr class="break">
637
+ <td colspan="7"></td>
638
+ </tr>
639
+ <!-- Parents -->
640
+ <tr>
641
+ <td>&nbsp;</td>
642
+ <td>&nbsp;</td>
643
+ <td> 0.00</td>
644
+ <td> 0.00</td>
645
+ <td> 0.00</td>
646
+ <td> 1/1</td>
647
+ <td><a href="#Class_new_21277412">Class#new</a></td>
648
+ </tr>
649
+ <tr class="method">
650
+ <td> 0.00%</td>
651
+ <td> 0.00%</td>
652
+ <td> 0.00</td>
653
+ <td> 0.00</td>
654
+ <td> 0.00</td>
655
+ <td> 1</td>
656
+ <td><a name="Array_initialize_21277412">Array#initialize</a></td>
657
+ </tr>
658
+ <!-- Children -->
659
+ <!-- Create divider row -->
660
+ <tr class="break">
661
+ <td colspan="7"></td>
662
+ </tr>
663
+ <!-- Parents -->
664
+ <tr>
665
+ <td>&nbsp;</td>
666
+ <td>&nbsp;</td>
667
+ <td> 0.00</td>
668
+ <td> 0.00</td>
669
+ <td> 0.00</td>
670
+ <td> 1/1</td>
671
+ <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
672
+ </tr>
673
+ <tr class="method">
674
+ <td> 0.00%</td>
675
+ <td> 0.00%</td>
676
+ <td> 0.00</td>
677
+ <td> 0.00</td>
678
+ <td> 0.00</td>
679
+ <td> 1</td>
680
+ <td><a name="Array_length_21277412">Array#length</a></td>
681
+ </tr>
682
+ <!-- Children -->
683
+ <!-- Create divider row -->
684
+ <tr class="break">
685
+ <td colspan="7"></td>
686
+ </tr>
687
+ <!-- Parents -->
688
+ <tr>
689
+ <td>&nbsp;</td>
690
+ <td>&nbsp;</td>
691
+ <td> 0.00</td>
692
+ <td> 0.00</td>
693
+ <td> 0.00</td>
694
+ <td> 1/1</td>
695
+ <td><a href="#Object_make_random_array_21277412">Object#make_random_array</a></td>
696
+ </tr>
697
+ <tr class="method">
698
+ <td> 0.00%</td>
699
+ <td> 0.00%</td>
700
+ <td> 0.00</td>
701
+ <td> 0.00</td>
702
+ <td> 0.00</td>
703
+ <td> 1</td>
704
+ <td><a name="Class_new_21277412">Class#new</a></td>
705
+ </tr>
706
+ <!-- Children -->
707
+ <tr>
708
+ <td>&nbsp;</td>
709
+ <td>&nbsp;</td>
710
+ <td> 0.00</td>
711
+ <td> 0.00</td>
712
+ <td> 0.00</td>
713
+ <td> 1/1</td>
714
+ <td><a href="#Array_initialize_21277412">Array#initialize</a></td>
715
+ </tr>
716
+ <!-- Create divider row -->
717
+ <tr class="break">
718
+ <td colspan="7"></td>
719
+ </tr>
720
+ <!-- Parents -->
721
+ <tr>
722
+ <td>&nbsp;</td>
723
+ <td>&nbsp;</td>
724
+ <td> 0.00</td>
725
+ <td> 0.00</td>
726
+ <td> 0.00</td>
727
+ <td> 61/61</td>
728
+ <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
729
+ </tr>
730
+ <tr class="method">
731
+ <td> 0.00%</td>
732
+ <td> 0.00%</td>
733
+ <td> 0.00</td>
734
+ <td> 0.00</td>
735
+ <td> 0.00</td>
736
+ <td> 61</td>
737
+ <td><a name="Fixnum_>_21277412">Fixnum#_</a></td>
738
+ </tr>
739
+ <!-- Children -->
740
+ <!-- Create divider row -->
741
+ <tr class="break">
742
+ <td colspan="7"></td>
743
+ </tr>
744
+ <!-- Parents -->
745
+ <tr>
746
+ <td>&nbsp;</td>
747
+ <td>&nbsp;</td>
748
+ <td> 0.00</td>
749
+ <td> 0.00</td>
750
+ <td> 0.00</td>
751
+ <td> 61/61</td>
752
+ <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
753
+ </tr>
754
+ <tr class="method">
755
+ <td> 0.00%</td>
756
+ <td> 0.00%</td>
757
+ <td> 0.00</td>
758
+ <td> 0.00</td>
759
+ <td> 0.00</td>
760
+ <td> 61</td>
761
+ <td><a name="Array_[]_21277412">Array#[]</a></td>
762
+ </tr>
763
+ <!-- Children -->
764
+ <!-- Create divider row -->
765
+ <tr class="break">
766
+ <td colspan="7"></td>
767
+ </tr>
768
+ <!-- Parents -->
769
+ <tr>
770
+ <td>&nbsp;</td>
771
+ <td>&nbsp;</td>
772
+ <td> 0.00</td>
773
+ <td> 0.00</td>
774
+ <td> 0.00</td>
775
+ <td> 500/500</td>
776
+ <td><a href="#Array_each_index_21277412">Array#each_index</a></td>
777
+ </tr>
778
+ <tr class="method">
779
+ <td> 0.00%</td>
780
+ <td> 0.00%</td>
781
+ <td> 0.00</td>
782
+ <td> 0.00</td>
783
+ <td> 0.00</td>
784
+ <td> 500</td>
785
+ <td><a name="Array_[]__21277412">Array#[]=</a></td>
786
+ </tr>
787
+ <!-- Children -->
788
+ <!-- Create divider row -->
789
+ <tr class="break">
790
+ <td colspan="7"></td>
791
+ </tr>
792
+ <!-- Parents -->
793
+ <tr>
794
+ <td>&nbsp;</td>
795
+ <td>&nbsp;</td>
796
+ <td> 0.00</td>
797
+ <td> 0.00</td>
798
+ <td> 0.00</td>
799
+ <td> 500/500</td>
800
+ <td><a href="#Array_each_index_21277412">Array#each_index</a></td>
801
+ </tr>
802
+ <tr class="method">
803
+ <td> 0.00%</td>
804
+ <td> 0.00%</td>
805
+ <td> 0.00</td>
806
+ <td> 0.00</td>
807
+ <td> 0.00</td>
808
+ <td> 500</td>
809
+ <td><a name="Kernel_rand_21277412">Kernel.rand</a></td>
810
+ </tr>
811
+ <!-- Children -->
812
+ <tr>
813
+ <td>&nbsp;</td>
814
+ <td>&nbsp;</td>
815
+ <td> 0.00</td>
816
+ <td> 0.00</td>
817
+ <td> 0.00</td>
818
+ <td> 1/1</td>
819
+ <td><a href="#Integer_to_int_21277412">Integer#to_int</a></td>
820
+ </tr>
821
+ <!-- Create divider row -->
822
+ <tr class="break">
823
+ <td colspan="7"></td>
824
+ </tr>
825
+ </table>
826
+ </body>
827
+ </html>