ruby-prof 0.18.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +44 -1
  3. data/LICENSE +2 -2
  4. data/README.rdoc +1 -483
  5. data/Rakefile +3 -6
  6. data/bin/ruby-prof +111 -128
  7. data/ext/ruby_prof/extconf.rb +6 -38
  8. data/ext/ruby_prof/rp_aggregate_call_tree.c +41 -0
  9. data/ext/ruby_prof/rp_aggregate_call_tree.h +13 -0
  10. data/ext/ruby_prof/rp_allocation.c +259 -0
  11. data/ext/ruby_prof/rp_allocation.h +31 -0
  12. data/ext/ruby_prof/rp_call_tree.c +353 -0
  13. data/ext/ruby_prof/rp_call_tree.h +43 -0
  14. data/ext/ruby_prof/rp_call_trees.c +266 -0
  15. data/ext/ruby_prof/rp_call_trees.h +29 -0
  16. data/ext/ruby_prof/rp_measure_allocations.c +25 -51
  17. data/ext/ruby_prof/rp_measure_memory.c +21 -56
  18. data/ext/ruby_prof/rp_measure_process_time.c +37 -43
  19. data/ext/ruby_prof/rp_measure_wall_time.c +40 -21
  20. data/ext/ruby_prof/rp_measurement.c +221 -0
  21. data/ext/ruby_prof/rp_measurement.h +50 -0
  22. data/ext/ruby_prof/rp_method.c +279 -439
  23. data/ext/ruby_prof/rp_method.h +33 -45
  24. data/ext/ruby_prof/rp_profile.c +902 -0
  25. data/ext/ruby_prof/rp_profile.h +36 -0
  26. data/ext/ruby_prof/rp_stack.c +163 -132
  27. data/ext/ruby_prof/rp_stack.h +18 -28
  28. data/ext/ruby_prof/rp_thread.c +192 -124
  29. data/ext/ruby_prof/rp_thread.h +18 -8
  30. data/ext/ruby_prof/ruby_prof.c +36 -778
  31. data/ext/ruby_prof/ruby_prof.h +11 -45
  32. data/ext/ruby_prof/vc/ruby_prof.vcxproj +18 -12
  33. data/lib/ruby-prof.rb +4 -21
  34. data/lib/ruby-prof/assets/call_stack_printer.html.erb +710 -0
  35. data/lib/ruby-prof/assets/call_stack_printer.png +0 -0
  36. data/lib/ruby-prof/assets/graph_printer.html.erb +355 -0
  37. data/lib/ruby-prof/call_tree.rb +57 -0
  38. data/lib/ruby-prof/call_tree_visitor.rb +36 -0
  39. data/lib/ruby-prof/compatibility.rb +37 -107
  40. data/lib/ruby-prof/exclude_common_methods.rb +198 -0
  41. data/lib/ruby-prof/measurement.rb +17 -0
  42. data/lib/ruby-prof/method_info.rb +47 -90
  43. data/lib/ruby-prof/printers/abstract_printer.rb +73 -50
  44. data/lib/ruby-prof/printers/call_info_printer.rb +24 -12
  45. data/lib/ruby-prof/printers/call_stack_printer.rb +66 -152
  46. data/lib/ruby-prof/printers/call_tree_printer.rb +20 -12
  47. data/lib/ruby-prof/printers/dot_printer.rb +5 -5
  48. data/lib/ruby-prof/printers/flat_printer.rb +6 -24
  49. data/lib/ruby-prof/printers/graph_html_printer.rb +6 -192
  50. data/lib/ruby-prof/printers/graph_printer.rb +11 -14
  51. data/lib/ruby-prof/printers/multi_printer.rb +66 -23
  52. data/lib/ruby-prof/profile.rb +10 -3
  53. data/lib/ruby-prof/thread.rb +5 -20
  54. data/lib/ruby-prof/version.rb +1 -1
  55. data/ruby-prof.gemspec +9 -2
  56. data/test/abstract_printer_test.rb +0 -27
  57. data/test/alias_test.rb +126 -0
  58. data/test/basic_test.rb +1 -86
  59. data/test/call_tree_visitor_test.rb +32 -0
  60. data/test/call_trees_test.rb +66 -0
  61. data/test/dynamic_method_test.rb +0 -2
  62. data/test/exclude_methods_test.rb +17 -12
  63. data/test/fiber_test.rb +214 -23
  64. data/test/gc_test.rb +105 -0
  65. data/test/inverse_call_tree_test.rb +175 -0
  66. data/test/line_number_test.rb +118 -40
  67. data/test/marshal_test.rb +115 -0
  68. data/test/measure_allocations.rb +30 -0
  69. data/test/measure_allocations_test.rb +361 -12
  70. data/test/measure_allocations_trace_test.rb +375 -0
  71. data/test/measure_memory_trace_test.rb +1101 -0
  72. data/test/measure_process_time_test.rb +757 -33
  73. data/test/measure_times.rb +56 -0
  74. data/test/measure_wall_time_test.rb +329 -149
  75. data/test/multi_printer_test.rb +1 -34
  76. data/test/pause_resume_test.rb +24 -15
  77. data/test/prime.rb +1 -1
  78. data/test/prime_script.rb +6 -0
  79. data/test/printer_call_stack_test.rb +28 -0
  80. data/test/printer_call_tree_test.rb +31 -0
  81. data/test/printer_flat_test.rb +68 -0
  82. data/test/printer_graph_html_test.rb +60 -0
  83. data/test/printer_graph_test.rb +41 -0
  84. data/test/printers_test.rb +32 -166
  85. data/test/printing_recursive_graph_test.rb +26 -72
  86. data/test/recursive_test.rb +68 -77
  87. data/test/stack_printer_test.rb +2 -15
  88. data/test/start_stop_test.rb +22 -25
  89. data/test/test_helper.rb +6 -261
  90. data/test/thread_test.rb +11 -54
  91. data/test/unique_call_path_test.rb +25 -107
  92. data/test/yarv_test.rb +1 -0
  93. metadata +43 -41
  94. data/examples/flat.txt +0 -50
  95. data/examples/graph.dot +0 -84
  96. data/examples/graph.html +0 -823
  97. data/examples/graph.txt +0 -139
  98. data/examples/multi.flat.txt +0 -23
  99. data/examples/multi.graph.html +0 -760
  100. data/examples/multi.grind.dat +0 -114
  101. data/examples/multi.stack.html +0 -547
  102. data/examples/stack.html +0 -547
  103. data/ext/ruby_prof/rp_call_info.c +0 -425
  104. data/ext/ruby_prof/rp_call_info.h +0 -53
  105. data/ext/ruby_prof/rp_measure.c +0 -40
  106. data/ext/ruby_prof/rp_measure.h +0 -45
  107. data/ext/ruby_prof/rp_measure_cpu_time.c +0 -136
  108. data/ext/ruby_prof/rp_measure_gc_runs.c +0 -73
  109. data/ext/ruby_prof/rp_measure_gc_time.c +0 -60
  110. data/lib/ruby-prof/aggregate_call_info.rb +0 -76
  111. data/lib/ruby-prof/assets/call_stack_printer.css.html +0 -117
  112. data/lib/ruby-prof/assets/call_stack_printer.js.html +0 -385
  113. data/lib/ruby-prof/call_info.rb +0 -115
  114. data/lib/ruby-prof/call_info_visitor.rb +0 -40
  115. data/lib/ruby-prof/printers/flat_printer_with_line_numbers.rb +0 -83
  116. data/lib/ruby-prof/profile/exclude_common_methods.rb +0 -207
  117. data/lib/ruby-prof/profile/legacy_method_elimination.rb +0 -50
  118. data/test/aggregate_test.rb +0 -136
  119. data/test/block_test.rb +0 -74
  120. data/test/call_info_test.rb +0 -78
  121. data/test/call_info_visitor_test.rb +0 -31
  122. data/test/issue137_test.rb +0 -63
  123. data/test/measure_cpu_time_test.rb +0 -212
  124. data/test/measure_gc_runs_test.rb +0 -32
  125. data/test/measure_gc_time_test.rb +0 -36
  126. data/test/measure_memory_test.rb +0 -33
  127. data/test/method_elimination_test.rb +0 -84
  128. data/test/module_test.rb +0 -45
  129. data/test/stack_test.rb +0 -138
@@ -29,6 +29,7 @@ class BugsTest < TestCase
29
29
  end
30
30
 
31
31
  private
32
+
32
33
  def define_methods
33
34
  return if respond_to?(:array_push_optimized)
34
35
  old_compile_option = RubyVM::InstructionSequence.compile_option
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-prof
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shugo Maeda, Charlie Savage, Roger Pack, Stefan Kaes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-27 00:00:00.000000000 Z
11
+ date: 2020-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -73,29 +73,25 @@ files:
73
73
  - Rakefile
74
74
  - bin/ruby-prof
75
75
  - bin/ruby-prof-check-trace
76
- - examples/flat.txt
77
- - examples/graph.dot
78
- - examples/graph.html
79
- - examples/graph.txt
80
- - examples/multi.flat.txt
81
- - examples/multi.graph.html
82
- - examples/multi.grind.dat
83
- - examples/multi.stack.html
84
- - examples/stack.html
85
76
  - ext/ruby_prof/extconf.rb
86
- - ext/ruby_prof/rp_call_info.c
87
- - ext/ruby_prof/rp_call_info.h
88
- - ext/ruby_prof/rp_measure.c
89
- - ext/ruby_prof/rp_measure.h
77
+ - ext/ruby_prof/rp_aggregate_call_tree.c
78
+ - ext/ruby_prof/rp_aggregate_call_tree.h
79
+ - ext/ruby_prof/rp_allocation.c
80
+ - ext/ruby_prof/rp_allocation.h
81
+ - ext/ruby_prof/rp_call_tree.c
82
+ - ext/ruby_prof/rp_call_tree.h
83
+ - ext/ruby_prof/rp_call_trees.c
84
+ - ext/ruby_prof/rp_call_trees.h
90
85
  - ext/ruby_prof/rp_measure_allocations.c
91
- - ext/ruby_prof/rp_measure_cpu_time.c
92
- - ext/ruby_prof/rp_measure_gc_runs.c
93
- - ext/ruby_prof/rp_measure_gc_time.c
94
86
  - ext/ruby_prof/rp_measure_memory.c
95
87
  - ext/ruby_prof/rp_measure_process_time.c
96
88
  - ext/ruby_prof/rp_measure_wall_time.c
89
+ - ext/ruby_prof/rp_measurement.c
90
+ - ext/ruby_prof/rp_measurement.h
97
91
  - ext/ruby_prof/rp_method.c
98
92
  - ext/ruby_prof/rp_method.h
93
+ - ext/ruby_prof/rp_profile.c
94
+ - ext/ruby_prof/rp_profile.h
99
95
  - ext/ruby_prof/rp_stack.c
100
96
  - ext/ruby_prof/rp_stack.h
101
97
  - ext/ruby_prof/rp_thread.c
@@ -105,13 +101,14 @@ files:
105
101
  - ext/ruby_prof/vc/ruby_prof.sln
106
102
  - ext/ruby_prof/vc/ruby_prof.vcxproj
107
103
  - lib/ruby-prof.rb
108
- - lib/ruby-prof/aggregate_call_info.rb
109
- - lib/ruby-prof/assets/call_stack_printer.css.html
110
- - lib/ruby-prof/assets/call_stack_printer.js.html
104
+ - lib/ruby-prof/assets/call_stack_printer.html.erb
111
105
  - lib/ruby-prof/assets/call_stack_printer.png
112
- - lib/ruby-prof/call_info.rb
113
- - lib/ruby-prof/call_info_visitor.rb
106
+ - lib/ruby-prof/assets/graph_printer.html.erb
107
+ - lib/ruby-prof/call_tree.rb
108
+ - lib/ruby-prof/call_tree_visitor.rb
114
109
  - lib/ruby-prof/compatibility.rb
110
+ - lib/ruby-prof/exclude_common_methods.rb
111
+ - lib/ruby-prof/measurement.rb
115
112
  - lib/ruby-prof/method_info.rb
116
113
  - lib/ruby-prof/printers/abstract_printer.rb
117
114
  - lib/ruby-prof/printers/call_info_printer.rb
@@ -119,13 +116,10 @@ files:
119
116
  - lib/ruby-prof/printers/call_tree_printer.rb
120
117
  - lib/ruby-prof/printers/dot_printer.rb
121
118
  - lib/ruby-prof/printers/flat_printer.rb
122
- - lib/ruby-prof/printers/flat_printer_with_line_numbers.rb
123
119
  - lib/ruby-prof/printers/graph_html_printer.rb
124
120
  - lib/ruby-prof/printers/graph_printer.rb
125
121
  - lib/ruby-prof/printers/multi_printer.rb
126
122
  - lib/ruby-prof/profile.rb
127
- - lib/ruby-prof/profile/exclude_common_methods.rb
128
- - lib/ruby-prof/profile/legacy_method_elimination.rb
129
123
  - lib/ruby-prof/rack.rb
130
124
  - lib/ruby-prof/task.rb
131
125
  - lib/ruby-prof/thread.rb
@@ -133,11 +127,10 @@ files:
133
127
  - lib/unprof.rb
134
128
  - ruby-prof.gemspec
135
129
  - test/abstract_printer_test.rb
136
- - test/aggregate_test.rb
130
+ - test/alias_test.rb
137
131
  - test/basic_test.rb
138
- - test/block_test.rb
139
- - test/call_info_test.rb
140
- - test/call_info_visitor_test.rb
132
+ - test/call_tree_visitor_test.rb
133
+ - test/call_trees_test.rb
141
134
  - test/duplicate_names_test.rb
142
135
  - test/dynamic_method_test.rb
143
136
  - test/enumerable_test.rb
@@ -145,28 +138,33 @@ files:
145
138
  - test/exclude_methods_test.rb
146
139
  - test/exclude_threads_test.rb
147
140
  - test/fiber_test.rb
148
- - test/issue137_test.rb
141
+ - test/gc_test.rb
142
+ - test/inverse_call_tree_test.rb
149
143
  - test/line_number_test.rb
144
+ - test/marshal_test.rb
145
+ - test/measure_allocations.rb
150
146
  - test/measure_allocations_test.rb
151
- - test/measure_cpu_time_test.rb
152
- - test/measure_gc_runs_test.rb
153
- - test/measure_gc_time_test.rb
154
- - test/measure_memory_test.rb
147
+ - test/measure_allocations_trace_test.rb
148
+ - test/measure_memory_trace_test.rb
155
149
  - test/measure_process_time_test.rb
150
+ - test/measure_times.rb
156
151
  - test/measure_wall_time_test.rb
157
- - test/method_elimination_test.rb
158
- - test/module_test.rb
159
152
  - test/multi_printer_test.rb
160
153
  - test/no_method_class_test.rb
161
154
  - test/pause_resume_test.rb
162
155
  - test/prime.rb
156
+ - test/prime_script.rb
157
+ - test/printer_call_stack_test.rb
158
+ - test/printer_call_tree_test.rb
159
+ - test/printer_flat_test.rb
160
+ - test/printer_graph_html_test.rb
161
+ - test/printer_graph_test.rb
163
162
  - test/printers_test.rb
164
163
  - test/printing_recursive_graph_test.rb
165
164
  - test/rack_test.rb
166
165
  - test/recursive_test.rb
167
166
  - test/singleton_test.rb
168
167
  - test/stack_printer_test.rb
169
- - test/stack_test.rb
170
168
  - test/start_stop_test.rb
171
169
  - test/test_helper.rb
172
170
  - test/thread_test.rb
@@ -175,7 +173,11 @@ files:
175
173
  homepage: https://github.com/ruby-prof/ruby-prof
176
174
  licenses:
177
175
  - BSD-2-Clause
178
- metadata: {}
176
+ metadata:
177
+ bug_tracker_uri: https://github.com/ruby-prof/ruby-prof/issues
178
+ changelog_uri: https://github.com/ruby-prof/ruby-prof/blob/master/CHANGES
179
+ documentation_uri: https://ruby-prof.github.io/
180
+ source_code_uri: https://github.com/ruby-prof/ruby-prof/tree/v1.2.0
179
181
  post_install_message:
180
182
  rdoc_options: []
181
183
  require_paths:
@@ -184,14 +186,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
186
  requirements:
185
187
  - - ">="
186
188
  - !ruby/object:Gem::Version
187
- version: 1.9.3
189
+ version: 2.4.0
188
190
  required_rubygems_version: !ruby/object:Gem::Requirement
189
191
  requirements:
190
192
  - - ">="
191
193
  - !ruby/object:Gem::Version
192
194
  version: '0'
193
195
  requirements: []
194
- rubygems_version: 3.0.3
196
+ rubygems_version: 3.0.6
195
197
  signing_key:
196
198
  specification_version: 4
197
199
  summary: Fast Ruby profiler
@@ -1,50 +0,0 @@
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
- Measure Mode: wall_time
7
- Thread ID: 70355159212340
8
- Fiber ID: 70355171633140
9
- Total: 0.060485
10
- Sort by: self_time
11
-
12
- %self total self wait child calls name
13
- 97.07 0.059 0.059 0.000 0.000 1001 Integer#upto
14
- 0.92 0.059 0.001 0.000 0.059 1000 Object#is_prime
15
- 0.66 0.060 0.000 0.000 0.059 1 Array#select
16
- 0.59 0.000 0.000 0.000 0.000 1000 Kernel#rand
17
- 0.50 0.001 0.000 0.000 0.000 1 Array#each_index
18
- 0.20 0.000 0.000 0.000 0.000 1000 Kernel#respond_to_missing?
19
- 0.01 0.000 0.000 0.000 0.000 1 Object#find_largest
20
- 0.01 0.060 0.000 0.000 0.060 1 PrintersTest#setup
21
- 0.01 0.060 0.000 0.000 0.060 1 Object#find_primes
22
- 0.01 0.000 0.000 0.000 0.000 1 Class#new
23
- 0.01 0.060 0.000 0.000 0.060 1 Object#run_primes
24
- 0.00 0.000 0.000 0.000 0.000 1 Array#first
25
- 0.00 0.001 0.000 0.000 0.001 1 Object#make_random_array
26
- 0.00 0.000 0.000 0.000 0.000 1 Array#initialize
27
-
28
- All values are in seconds.
29
-
30
- The columns are:
31
-
32
- %self - The percentage of time spent in this method, derived from self_time/total_time
33
- total - The time spent in this method and its children.
34
- self - The time spent in this method.
35
- wait - amount of time this method waited for other threads
36
- child - The time spent in this method's children.
37
- calls - The number of times this method was called.
38
- name - The name of the method.
39
-
40
- Methods are sorted based on %self, therefore the methods that execute the longest are listed
41
- first.
42
-
43
- For example, wee can see that Integer#upto took the most time, 0.059
44
- seconds. Method Object#is_prime calls this method, so the 0.59
45
- seconds appear as child time for Object#is_prime.
46
-
47
- The interpretation of method names is:
48
- * MyObject#test - An instance method "test" of the class "MyObject"
49
- * <Object:MyObject>#test - The <> characters indicate a singleton method on a singleton class.
50
-
@@ -1,84 +0,0 @@
1
- digraph "Profile" {
2
- labelloc=t;
3
- labeljust=l;
4
- subgraph "Thread 70140045951280" {
5
- 70140046535720 [label="setup\n(100%)"];
6
- 70140046535720 -> 70140046535660 [label="1/1" fontsize=10 fontcolor="#666666"];
7
- 70140046535660 [label="run_primes\n(100%)"];
8
- 70140046535660 -> 70140046534940 [label="1/1" fontsize=10 fontcolor="#666666"];
9
- 70140046535660 -> 70140046535640 [label="1/1" fontsize=10 fontcolor="#666666"];
10
- 70140046535660 -> 70140046534640 [label="1/1" fontsize=10 fontcolor="#666666"];
11
- 70140046534940 [label="find_primes\n(93%)"];
12
- 70140046534940 -> 70140046534920 [label="1/1" fontsize=10 fontcolor="#666666"];
13
- 70140046534920 [label="select\n(93%)"];
14
- 70140046534920 -> 70140046534840 [label="200/200" fontsize=10 fontcolor="#666666"];
15
- 70140046534840 [label="is_prime\n(90%)"];
16
- 70140046534840 -> 70140046534820 [label="200/201" fontsize=10 fontcolor="#666666"];
17
- 70140046534820 [label="upto\n(87%)"];
18
- 70140046535640 [label="make_random_array\n(7%)"];
19
- 70140046535640 -> 70140046535500 [label="1/1" fontsize=10 fontcolor="#666666"];
20
- 70140046535640 -> 70140046535600 [label="1/1" fontsize=10 fontcolor="#666666"];
21
- 70140046535500 [label="each_index\n(6%)"];
22
- 70140046535500 -> 70140046535140 [label="200/200" fontsize=10 fontcolor="#666666"];
23
- 70140046535140 [label="rand\n(4%)"];
24
- 70140046535140 -> 70140046535100 [label="200/200" fontsize=10 fontcolor="#666666"];
25
- 70140046535100 [label="respond_to_missing?\n(1%)"];
26
- 70140046534640 [label="find_largest\n(1%)"];
27
- 70140046534640 -> 70140046534820 [label="1/201" fontsize=10 fontcolor="#666666"];
28
- 70140046534640 -> 70140046534620 [label="1/1" fontsize=10 fontcolor="#666666"];
29
- 70140046535600 [label="new\n(0%)"];
30
- 70140046535600 -> 70140046535580 [label="1/1" fontsize=10 fontcolor="#666666"];
31
- 70140046535580 [label="initialize\n(0%)"];
32
- 70140046534620 [label="first\n(0%)"];
33
- }
34
- subgraph cluster_70140046962360 {
35
- label = "PrintersTest";
36
- fontcolor = "#666666";
37
- fontsize = 16;
38
- color = "#666666";
39
- 70140046535720;
40
- }
41
- subgraph cluster_70140046962240 {
42
- label = "Object";
43
- fontcolor = "#666666";
44
- fontsize = 16;
45
- color = "#666666";
46
- 70140046535660;
47
- 70140046535640;
48
- 70140046534940;
49
- 70140046534840;
50
- 70140046534640;
51
- }
52
- subgraph cluster_70140046962040 {
53
- label = "Class";
54
- fontcolor = "#666666";
55
- fontsize = 16;
56
- color = "#666666";
57
- 70140046535600;
58
- }
59
- subgraph cluster_70140046961920 {
60
- label = "Array";
61
- fontcolor = "#666666";
62
- fontsize = 16;
63
- color = "#666666";
64
- 70140046535580;
65
- 70140046535500;
66
- 70140046534920;
67
- 70140046534620;
68
- }
69
- subgraph cluster_70140046961720 {
70
- label = "Kernel";
71
- fontcolor = "#666666";
72
- fontsize = 16;
73
- color = "#666666";
74
- 70140046535140;
75
- 70140046535100;
76
- }
77
- subgraph cluster_70140046961280 {
78
- label = "Integer";
79
- fontcolor = "#666666";
80
- fontsize = 16;
81
- color = "#666666";
82
- 70140046534820;
83
- }
84
- }
@@ -1,823 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <html>
3
- <head>
4
- <style media="all" type="text/css">
5
- table {
6
- border-collapse: collapse;
7
- border: 1px solid #CCC;
8
- font-family: Verdana, Arial, Helvetica, sans-serif;
9
- font-size: 9pt;
10
- line-height: normal;
11
- }
12
-
13
- th {
14
- text-align: center;
15
- border-top: 1px solid #FB7A31;
16
- border-bottom: 1px solid #FB7A31;
17
- background: #FFC;
18
- padding: 0.3em;
19
- border-left: 1px solid silver;
20
- }
21
-
22
- tr.break td {
23
- border: 0;
24
- border-top: 1px solid #FB7A31;
25
- padding: 0;
26
- margin: 0;
27
- }
28
-
29
- tr.method td {
30
- font-weight: bold;
31
- }
32
-
33
- td {
34
- padding: 0.3em;
35
- }
36
-
37
- td:first-child {
38
- width: 190px;
39
- }
40
-
41
- td {
42
- border-left: 1px solid #CCC;
43
- text-align: center;
44
- }
45
- </style>
46
- </head>
47
- <body>
48
- <h1> Graph Profile</h1>
49
- <p>Graph profiles show how long each method runs, which methods call it
50
- and which methods it calls. To understand how to read a graph profile, refer to
51
- the <a href="graph.txt">documentation</a> for the text graph report. </p>
52
- <p>The main advantage of an HTML graph format versus the text format is the use of
53
- hyperlinks to jump between methods. This makes it easier to understand the flow
54
- of control through a program and which methods take the most time.</p>
55
- <p>Below is the output from running printers_test.rb reproduced in HTML. </p>
56
- <p>Profile Report</p>
57
-
58
- <table>
59
- <tr>
60
- <th>Thread ID</th>
61
- <th>Total Time</th>
62
- </tr>
63
- <tr>
64
- <td><a href="#21277412">21277412</a></td>
65
- <td>8.766</td>
66
- </tr>
67
- </table>
68
-
69
- <h2><a name="21277412">Thread 21277412</a></h2>
70
- <table>
71
- <tr>
72
- <th> %Total</th>
73
- <th> %Self</th>
74
- <th> Total</th>
75
- <th> Self</th>
76
- <th> Children</th>
77
- <th> Calls</th>
78
- <th>Name</th>
79
- </tr>
80
-
81
- <tr class="method">
82
- <td> 100.00%</td>
83
- <td> 0.00%</td>
84
- <td> 8.77</td>
85
- <td> 0.00</td>
86
- <td> 8.77</td>
87
- <td> 1</td>
88
- <td><a name="_toplevel_21277412">#toplevel</a></td>
89
- </tr>
90
-
91
- <tr>
92
- <td>&nbsp;</td>
93
- <td>&nbsp;</td>
94
- <td> 8.77</td>
95
- <td> 0.00</td>
96
- <td> 8.77</td>
97
- <td> 1/1</td>
98
- <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
99
- </tr>
100
-
101
- <tr class="break">
102
- <td colspan="7"></td>
103
- </tr>
104
-
105
- <tr>
106
- <td>&nbsp;</td>
107
- <td>&nbsp;</td>
108
- <td> 8.77</td>
109
- <td> 0.00</td>
110
- <td> 8.77</td>
111
- <td> 1/1</td>
112
- <td><a href="#_toplevel_21277412">#toplevel</a></td>
113
- </tr>
114
- <tr class="method">
115
- <td> 100.00%</td>
116
- <td> 0.00%</td>
117
- <td> 8.77</td>
118
- <td> 0.00</td>
119
- <td> 8.77</td>
120
- <td> 1</td>
121
- <td><a name="Object_run_primes_21277412">Object#run_primes</a></td>
122
- </tr>
123
-
124
- <tr>
125
- <td>&nbsp;</td>
126
- <td>&nbsp;</td>
127
- <td> 0.02</td>
128
- <td> 0.00</td>
129
- <td> 0.02</td>
130
- <td> 1/1</td>
131
- <td><a href="#Object_make_random_array_21277412">Object#make_random_array</a></td>
132
- </tr>
133
- <tr>
134
- <td>&nbsp;</td>
135
- <td>&nbsp;</td>
136
- <td> 2.09</td>
137
- <td> 0.00</td>
138
- <td> 2.09</td>
139
- <td> 1/1</td>
140
- <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
141
- </tr>
142
- <tr>
143
- <td>&nbsp;</td>
144
- <td>&nbsp;</td>
145
- <td> 6.66</td>
146
- <td> 0.00</td>
147
- <td> 6.66</td>
148
- <td> 1/1</td>
149
- <td><a href="#Object_find_primes_21277412">Object#find_primes</a></td>
150
- </tr>
151
-
152
- <tr class="break">
153
- <td colspan="7"></td>
154
- </tr>
155
-
156
- <tr>
157
- <td>&nbsp;</td>
158
- <td>&nbsp;</td>
159
- <td> 6.63</td>
160
- <td> 4.06</td>
161
- <td> 2.56</td>
162
- <td> 500/501</td>
163
- <td><a href="#Object_is_prime_21277412">Object#is_prime</a></td>
164
- </tr>
165
- <tr>
166
- <td>&nbsp;</td>
167
- <td>&nbsp;</td>
168
- <td> 2.09</td>
169
- <td> 0.00</td>
170
- <td> 2.09</td>
171
- <td> 1/501</td>
172
- <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
173
- </tr>
174
- <tr class="method">
175
- <td> 99.48%</td>
176
- <td> 46.34%</td>
177
- <td> 8.72</td>
178
- <td> 4.06</td>
179
- <td> 4.66</td>
180
- <td> 501</td>
181
- <td><a name="Integer_upto_21277412">Integer#upto</a></td>
182
- </tr>
183
-
184
- <tr>
185
- <td>&nbsp;</td>
186
- <td>&nbsp;</td>
187
- <td> 0.00</td>
188
- <td> 0.00</td>
189
- <td> 0.00</td>
190
- <td> 61/61</td>
191
- <td><a href="#Array_[]_21277412">Array#[]</a></td>
192
- </tr>
193
- <tr>
194
- <td>&nbsp;</td>
195
- <td>&nbsp;</td>
196
- <td> 0.00</td>
197
- <td> 0.00</td>
198
- <td> 0.00</td>
199
- <td> 61/61</td>
200
- <td><a href="#Fixnum_>_21277412">Fixnum#_</a></td>
201
- </tr>
202
- <tr>
203
- <td>&nbsp;</td>
204
- <td>&nbsp;</td>
205
- <td> 2.09</td>
206
- <td> 2.09</td>
207
- <td> 0.00</td>
208
- <td> 61/61</td>
209
- <td><a href="#Kernel_sleep_21277412">Kernel.sleep</a></td>
210
- </tr>
211
- <tr>
212
- <td>&nbsp;</td>
213
- <td>&nbsp;</td>
214
- <td> 1.24</td>
215
- <td> 1.24</td>
216
- <td> 0.00</td>
217
- <td> 250862/250862</td>
218
- <td><a href="#Fixnum____21277412">Fixnum#==</a></td>
219
- </tr>
220
- <tr>
221
- <td>&nbsp;</td>
222
- <td>&nbsp;</td>
223
- <td> 1.33</td>
224
- <td> 1.33</td>
225
- <td> 0.00</td>
226
- <td> 250862/250862</td>
227
- <td><a href="#Fixnum_%_21277412">Fixnum#%</a></td>
228
- </tr>
229
-
230
- <tr class="break">
231
- <td colspan="7"></td>
232
- </tr>
233
-
234
- <tr>
235
- <td>&nbsp;</td>
236
- <td>&nbsp;</td>
237
- <td> 6.66</td>
238
- <td> 0.01</td>
239
- <td> 6.64</td>
240
- <td> 1/1</td>
241
- <td><a href="#Object_find_primes_21277412">Object#find_primes</a></td>
242
- </tr>
243
- <tr class="method">
244
- <td> 75.93%</td>
245
- <td> 0.17%</td>
246
- <td> 6.66</td>
247
- <td> 0.01</td>
248
- <td> 6.64</td>
249
- <td> 1</td>
250
- <td><a name="Array_select_21277412">Array#select</a></td>
251
- </tr>
252
-
253
- <tr>
254
- <td>&nbsp;</td>
255
- <td>&nbsp;</td>
256
- <td> 6.64</td>
257
- <td> 0.01</td>
258
- <td> 6.63</td>
259
- <td> 500/500</td>
260
- <td><a href="#Object_is_prime_21277412">Object#is_prime</a></td>
261
- </tr>
262
-
263
- <tr class="break">
264
- <td colspan="7"></td>
265
- </tr>
266
-
267
- <tr>
268
- <td>&nbsp;</td>
269
- <td>&nbsp;</td>
270
- <td> 6.66</td>
271
- <td> 0.00</td>
272
- <td> 6.66</td>
273
- <td> 1/1</td>
274
- <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
275
- </tr>
276
- <tr class="method">
277
- <td> 75.93%</td>
278
- <td> 0.00%</td>
279
- <td> 6.66</td>
280
- <td> 0.00</td>
281
- <td> 6.66</td>
282
- <td> 1</td>
283
- <td><a name="Object_find_primes_21277412">Object#find_primes</a></td>
284
- </tr>
285
- <tr>
286
- <td>&nbsp;</td>
287
- <td>&nbsp;</td>
288
- <td> 6.66</td>
289
- <td> 0.01</td>
290
- <td> 6.64</td>
291
- <td> 1/1</td>
292
- <td><a href="#Array_select_21277412">Array#select</a></td>
293
- </tr>
294
- <tr class="break">
295
- <td colspan="7"></td>
296
- </tr>
297
-
298
- <tr>
299
- <td>&nbsp;</td>
300
- <td>&nbsp;</td>
301
- <td> 6.64</td>
302
- <td> 0.01</td>
303
- <td> 6.63</td>
304
- <td> 500/500</td>
305
- <td><a href="#Array_select_21277412">Array#select</a></td>
306
- </tr>
307
- <tr class="method">
308
- <td> 75.76%</td>
309
- <td> 0.17%</td>
310
- <td> 6.64</td>
311
- <td> 0.01</td>
312
- <td> 6.63</td>
313
- <td> 500</td>
314
- <td><a name="Object_is_prime_21277412">Object#is_prime</a></td>
315
- </tr>
316
-
317
- <tr>
318
- <td>&nbsp;</td>
319
- <td>&nbsp;</td>
320
- <td> 0.00</td>
321
- <td> 0.00</td>
322
- <td> 0.00</td>
323
- <td> 500/501</td>
324
- <td><a href="#Fixnum_-_21277412">Fixnum#-</a></td>
325
- </tr>
326
- <tr>
327
- <td>&nbsp;</td>
328
- <td>&nbsp;</td>
329
- <td> 6.63</td>
330
- <td> 4.06</td>
331
- <td> 2.56</td>
332
- <td> 500/501</td>
333
- <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
334
- </tr>
335
-
336
- <tr class="break">
337
- <td colspan="7"></td>
338
- </tr>
339
-
340
- <tr>
341
- <td>&nbsp;</td>
342
- <td>&nbsp;</td>
343
- <td> 2.09</td>
344
- <td> 0.00</td>
345
- <td> 2.09</td>
346
- <td> 1/1</td>
347
- <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
348
- </tr>
349
- <tr class="method">
350
- <td> 23.89%</td>
351
- <td> 0.00%</td>
352
- <td> 2.09</td>
353
- <td> 0.00</td>
354
- <td> 2.09</td>
355
- <td> 1</td>
356
- <td><a name="Object_find_largest_21277412">Object#find_largest</a></td>
357
- </tr>
358
-
359
- <tr>
360
- <td>&nbsp;</td>
361
- <td>&nbsp;</td>
362
- <td> 0.00</td>
363
- <td> 0.00</td>
364
- <td> 0.00</td>
365
- <td> 1/501</td>
366
- <td><a href="#Fixnum_-_21277412">Fixnum#-</a></td>
367
- </tr>
368
- <tr>
369
- <td>&nbsp;</td>
370
- <td>&nbsp;</td>
371
- <td> 2.09</td>
372
- <td> 0.00</td>
373
- <td> 2.09</td>
374
- <td> 1/501</td>
375
- <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
376
- </tr>
377
- <tr>
378
- <td>&nbsp;</td>
379
- <td>&nbsp;</td>
380
- <td> 0.00</td>
381
- <td> 0.00</td>
382
- <td> 0.00</td>
383
- <td> 1/1</td>
384
- <td><a href="#Array_first_21277412">Array#first</a></td>
385
- </tr>
386
- <tr>
387
- <td>&nbsp;</td>
388
- <td>&nbsp;</td>
389
- <td> 0.00</td>
390
- <td> 0.00</td>
391
- <td> 0.00</td>
392
- <td> 1/1</td>
393
- <td><a href="#Array_length_21277412">Array#length</a></td>
394
- </tr>
395
-
396
- <tr class="break">
397
- <td colspan="7"></td>
398
- </tr>
399
-
400
- <tr>
401
- <td>&nbsp;</td>
402
- <td>&nbsp;</td>
403
- <td> 2.09</td>
404
- <td> 2.09</td>
405
- <td> 0.00</td>
406
- <td> 61/61</td>
407
- <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
408
- </tr>
409
- <tr class="method">
410
- <td> 23.89%</td>
411
- <td> 23.89%</td>
412
- <td> 2.09</td>
413
- <td> 2.09</td>
414
- <td> 0.00</td>
415
- <td> 61</td>
416
- <td><a name="Kernel_sleep_21277412">Kernel.sleep</a></td>
417
- </tr>
418
-
419
-
420
- <tr class="break">
421
- <td colspan="7"></td>
422
- </tr>
423
-
424
- <tr>
425
- <td>&nbsp;</td>
426
- <td>&nbsp;</td>
427
- <td> 1.33</td>
428
- <td> 1.33</td>
429
- <td> 0.00</td>
430
- <td> 250862/250862</td>
431
- <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
432
- </tr>
433
- <tr class="method">
434
- <td> 15.12%</td>
435
- <td> 15.12%</td>
436
- <td> 1.33</td>
437
- <td> 1.33</td>
438
- <td> 0.00</td>
439
- <td> 250862</td>
440
- <td><a name="Fixnum_%_21277412">Fixnum#%</a></td>
441
- </tr>
442
-
443
- <tr class="break">
444
- <td colspan="7"></td>
445
- </tr>
446
-
447
- <tr>
448
- <td>&nbsp;</td>
449
- <td>&nbsp;</td>
450
- <td> 1.24</td>
451
- <td> 1.24</td>
452
- <td> 0.00</td>
453
- <td> 250862/250862</td>
454
- <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
455
- </tr>
456
- <tr class="method">
457
- <td> 14.13%</td>
458
- <td> 14.13%</td>
459
- <td> 1.24</td>
460
- <td> 1.24</td>
461
- <td> 0.00</td>
462
- <td> 250862</td>
463
- <td><a name="Fixnum____21277412">Fixnum#==</a></td>
464
- </tr>
465
-
466
-
467
- <tr class="break">
468
- <td colspan="7"></td>
469
- </tr>
470
-
471
- <tr>
472
- <td>&nbsp;</td>
473
- <td>&nbsp;</td>
474
- <td> 0.02</td>
475
- <td> 0.00</td>
476
- <td> 0.02</td>
477
- <td> 1/1</td>
478
- <td><a href="#Object_run_primes_21277412">Object#run_primes</a></td>
479
- </tr>
480
- <tr class="method">
481
- <td> 0.18%</td>
482
- <td> 0.00%</td>
483
- <td> 0.02</td>
484
- <td> 0.00</td>
485
- <td> 0.02</td>
486
- <td> 1</td>
487
- <td><a name="Object_make_random_array_21277412">Object#make_random_array</a></td>
488
- </tr>
489
-
490
- <tr>
491
- <td>&nbsp;</td>
492
- <td>&nbsp;</td>
493
- <td> 0.02</td>
494
- <td> 0.02</td>
495
- <td> 0.00</td>
496
- <td> 1/1</td>
497
- <td><a href="#Array_each_index_21277412">Array#each_index</a></td>
498
- </tr>
499
- <tr>
500
- <td>&nbsp;</td>
501
- <td>&nbsp;</td>
502
- <td> 0.00</td>
503
- <td> 0.00</td>
504
- <td> 0.00</td>
505
- <td> 1/1</td>
506
- <td><a href="#Class_new_21277412">Class#new</a></td>
507
- </tr>
508
-
509
- <tr class="break">
510
- <td colspan="7"></td>
511
- </tr>
512
-
513
- <tr>
514
- <td>&nbsp;</td>
515
- <td>&nbsp;</td>
516
- <td> 0.02</td>
517
- <td> 0.02</td>
518
- <td> 0.00</td>
519
- <td> 1/1</td>
520
- <td><a href="#Object_make_random_array_21277412">Object#make_random_array</a></td>
521
- </tr>
522
- <tr class="method">
523
- <td> 0.18%</td>
524
- <td> 0.18%</td>
525
- <td> 0.02</td>
526
- <td> 0.02</td>
527
- <td> 0.00</td>
528
- <td> 1</td>
529
- <td><a name="Array_each_index_21277412">Array#each_index</a></td>
530
- </tr>
531
-
532
- <tr>
533
- <td>&nbsp;</td>
534
- <td>&nbsp;</td>
535
- <td> 0.00</td>
536
- <td> 0.00</td>
537
- <td> 0.00</td>
538
- <td> 500/500</td>
539
- <td><a href="#Kernel_rand_21277412">Kernel.rand</a></td>
540
- </tr>
541
- <tr>
542
- <td>&nbsp;</td>
543
- <td>&nbsp;</td>
544
- <td> 0.00</td>
545
- <td> 0.00</td>
546
- <td> 0.00</td>
547
- <td> 500/500</td>
548
- <td><a href="#Array_[]__21277412">Array#[]=</a></td>
549
- </tr>
550
-
551
- <tr class="break">
552
- <td colspan="7"></td>
553
- </tr>
554
-
555
- <tr>
556
- <td>&nbsp;</td>
557
- <td>&nbsp;</td>
558
- <td> 0.00</td>
559
- <td> 0.00</td>
560
- <td> 0.00</td>
561
- <td> 500/501</td>
562
- <td><a href="#Object_is_prime_21277412">Object#is_prime</a></td>
563
- </tr>
564
- <tr>
565
- <td>&nbsp;</td>
566
- <td>&nbsp;</td>
567
- <td> 0.00</td>
568
- <td> 0.00</td>
569
- <td> 0.00</td>
570
- <td> 1/501</td>
571
- <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
572
- </tr>
573
- <tr class="method">
574
- <td> 0.00%</td>
575
- <td> 0.00%</td>
576
- <td> 0.00</td>
577
- <td> 0.00</td>
578
- <td> 0.00</td>
579
- <td> 501</td>
580
- <td><a name="Fixnum_-_21277412">Fixnum#-</a></td>
581
- </tr>
582
-
583
-
584
- <tr class="break">
585
- <td colspan="7"></td>
586
- </tr>
587
-
588
- <tr>
589
- <td>&nbsp;</td>
590
- <td>&nbsp;</td>
591
- <td> 0.00</td>
592
- <td> 0.00</td>
593
- <td> 0.00</td>
594
- <td> 1/1</td>
595
- <td><a href="#Kernel_rand_21277412">Kernel.rand</a></td>
596
- </tr>
597
- <tr class="method">
598
- <td> 0.00%</td>
599
- <td> 0.00%</td>
600
- <td> 0.00</td>
601
- <td> 0.00</td>
602
- <td> 0.00</td>
603
- <td> 1</td>
604
- <td><a name="Integer_to_int_21277412">Integer#to_int</a></td>
605
- </tr>
606
-
607
-
608
- <tr class="break">
609
- <td colspan="7"></td>
610
- </tr>
611
-
612
- <tr>
613
- <td>&nbsp;</td>
614
- <td>&nbsp;</td>
615
- <td> 0.00</td>
616
- <td> 0.00</td>
617
- <td> 0.00</td>
618
- <td> 1/1</td>
619
- <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
620
- </tr>
621
- <tr class="method">
622
- <td> 0.00%</td>
623
- <td> 0.00%</td>
624
- <td> 0.00</td>
625
- <td> 0.00</td>
626
- <td> 0.00</td>
627
- <td> 1</td>
628
- <td><a name="Array_first_21277412">Array#first</a></td>
629
- </tr>
630
-
631
-
632
- <tr class="break">
633
- <td colspan="7"></td>
634
- </tr>
635
-
636
- <tr>
637
- <td>&nbsp;</td>
638
- <td>&nbsp;</td>
639
- <td> 0.00</td>
640
- <td> 0.00</td>
641
- <td> 0.00</td>
642
- <td> 1/1</td>
643
- <td><a href="#Class_new_21277412">Class#new</a></td>
644
- </tr>
645
- <tr class="method">
646
- <td> 0.00%</td>
647
- <td> 0.00%</td>
648
- <td> 0.00</td>
649
- <td> 0.00</td>
650
- <td> 0.00</td>
651
- <td> 1</td>
652
- <td><a name="Array_initialize_21277412">Array#initialize</a></td>
653
- </tr>
654
-
655
-
656
- <tr class="break">
657
- <td colspan="7"></td>
658
- </tr>
659
-
660
- <tr>
661
- <td>&nbsp;</td>
662
- <td>&nbsp;</td>
663
- <td> 0.00</td>
664
- <td> 0.00</td>
665
- <td> 0.00</td>
666
- <td> 1/1</td>
667
- <td><a href="#Object_find_largest_21277412">Object#find_largest</a></td>
668
- </tr>
669
- <tr class="method">
670
- <td> 0.00%</td>
671
- <td> 0.00%</td>
672
- <td> 0.00</td>
673
- <td> 0.00</td>
674
- <td> 0.00</td>
675
- <td> 1</td>
676
- <td><a name="Array_length_21277412">Array#length</a></td>
677
- </tr>
678
-
679
-
680
- <tr class="break">
681
- <td colspan="7"></td>
682
- </tr>
683
-
684
- <tr>
685
- <td>&nbsp;</td>
686
- <td>&nbsp;</td>
687
- <td> 0.00</td>
688
- <td> 0.00</td>
689
- <td> 0.00</td>
690
- <td> 1/1</td>
691
- <td><a href="#Object_make_random_array_21277412">Object#make_random_array</a></td>
692
- </tr>
693
- <tr class="method">
694
- <td> 0.00%</td>
695
- <td> 0.00%</td>
696
- <td> 0.00</td>
697
- <td> 0.00</td>
698
- <td> 0.00</td>
699
- <td> 1</td>
700
- <td><a name="Class_new_21277412">Class#new</a></td>
701
- </tr>
702
-
703
- <tr>
704
- <td>&nbsp;</td>
705
- <td>&nbsp;</td>
706
- <td> 0.00</td>
707
- <td> 0.00</td>
708
- <td> 0.00</td>
709
- <td> 1/1</td>
710
- <td><a href="#Array_initialize_21277412">Array#initialize</a></td>
711
- </tr>
712
-
713
- <tr class="break">
714
- <td colspan="7"></td>
715
- </tr>
716
-
717
- <tr>
718
- <td>&nbsp;</td>
719
- <td>&nbsp;</td>
720
- <td> 0.00</td>
721
- <td> 0.00</td>
722
- <td> 0.00</td>
723
- <td> 61/61</td>
724
- <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
725
- </tr>
726
- <tr class="method">
727
- <td> 0.00%</td>
728
- <td> 0.00%</td>
729
- <td> 0.00</td>
730
- <td> 0.00</td>
731
- <td> 0.00</td>
732
- <td> 61</td>
733
- <td><a name="Fixnum_>_21277412">Fixnum#_</a></td>
734
- </tr>
735
-
736
-
737
- <tr class="break">
738
- <td colspan="7"></td>
739
- </tr>
740
-
741
- <tr>
742
- <td>&nbsp;</td>
743
- <td>&nbsp;</td>
744
- <td> 0.00</td>
745
- <td> 0.00</td>
746
- <td> 0.00</td>
747
- <td> 61/61</td>
748
- <td><a href="#Integer_upto_21277412">Integer#upto</a></td>
749
- </tr>
750
- <tr class="method">
751
- <td> 0.00%</td>
752
- <td> 0.00%</td>
753
- <td> 0.00</td>
754
- <td> 0.00</td>
755
- <td> 0.00</td>
756
- <td> 61</td>
757
- <td><a name="Array_[]_21277412">Array#[]</a></td>
758
- </tr>
759
-
760
-
761
- <tr class="break">
762
- <td colspan="7"></td>
763
- </tr>
764
-
765
- <tr>
766
- <td>&nbsp;</td>
767
- <td>&nbsp;</td>
768
- <td> 0.00</td>
769
- <td> 0.00</td>
770
- <td> 0.00</td>
771
- <td> 500/500</td>
772
- <td><a href="#Array_each_index_21277412">Array#each_index</a></td>
773
- </tr>
774
- <tr class="method">
775
- <td> 0.00%</td>
776
- <td> 0.00%</td>
777
- <td> 0.00</td>
778
- <td> 0.00</td>
779
- <td> 0.00</td>
780
- <td> 500</td>
781
- <td><a name="Array_[]__21277412">Array#[]=</a></td>
782
- </tr>
783
-
784
-
785
- <tr class="break">
786
- <td colspan="7"></td>
787
- </tr>
788
-
789
- <tr>
790
- <td>&nbsp;</td>
791
- <td>&nbsp;</td>
792
- <td> 0.00</td>
793
- <td> 0.00</td>
794
- <td> 0.00</td>
795
- <td> 500/500</td>
796
- <td><a href="#Array_each_index_21277412">Array#each_index</a></td>
797
- </tr>
798
- <tr class="method">
799
- <td> 0.00%</td>
800
- <td> 0.00%</td>
801
- <td> 0.00</td>
802
- <td> 0.00</td>
803
- <td> 0.00</td>
804
- <td> 500</td>
805
- <td><a name="Kernel_rand_21277412">Kernel.rand</a></td>
806
- </tr>
807
-
808
- <tr>
809
- <td>&nbsp;</td>
810
- <td>&nbsp;</td>
811
- <td> 0.00</td>
812
- <td> 0.00</td>
813
- <td> 0.00</td>
814
- <td> 1/1</td>
815
- <td><a href="#Integer_to_int_21277412">Integer#to_int</a></td>
816
- </tr>
817
-
818
- <tr class="break">
819
- <td colspan="7"></td>
820
- </tr>
821
- </table>
822
- </body>
823
- </html>