ruby-prof 0.8.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/CHANGES +221 -0
  2. data/LICENSE +23 -0
  3. data/README +432 -0
  4. data/Rakefile +159 -0
  5. data/bin/ruby-prof +224 -0
  6. data/examples/flat.txt +55 -0
  7. data/examples/graph.html +823 -0
  8. data/examples/graph.txt +170 -0
  9. data/ext/ruby_prof/measure_allocations.h +58 -0
  10. data/ext/ruby_prof/measure_cpu_time.h +152 -0
  11. data/ext/ruby_prof/measure_gc_runs.h +76 -0
  12. data/ext/ruby_prof/measure_gc_time.h +57 -0
  13. data/ext/ruby_prof/measure_memory.h +101 -0
  14. data/ext/ruby_prof/measure_process_time.h +52 -0
  15. data/ext/ruby_prof/measure_wall_time.h +53 -0
  16. data/ext/ruby_prof/mingw/Rakefile +23 -0
  17. data/ext/ruby_prof/mingw/build.rake +38 -0
  18. data/ext/ruby_prof/ruby_prof.c +1747 -0
  19. data/ext/ruby_prof/ruby_prof.h +188 -0
  20. data/ext/ruby_prof/version.h +4 -0
  21. data/lib/1.8/ruby_prof.so +0 -0
  22. data/lib/1.9/ruby_prof.so +0 -0
  23. data/lib/ruby-prof.rb +56 -0
  24. data/lib/ruby-prof/abstract_printer.rb +41 -0
  25. data/lib/ruby-prof/aggregate_call_info.rb +62 -0
  26. data/lib/ruby-prof/call_info.rb +47 -0
  27. data/lib/ruby-prof/call_tree_printer.rb +84 -0
  28. data/lib/ruby-prof/flat_printer.rb +78 -0
  29. data/lib/ruby-prof/flat_printer_with_line_numbers.rb +72 -0
  30. data/lib/ruby-prof/graph_html_printer.rb +256 -0
  31. data/lib/ruby-prof/graph_printer.rb +157 -0
  32. data/lib/ruby-prof/method_info.rb +111 -0
  33. data/lib/ruby-prof/symbol_to_proc.rb +8 -0
  34. data/lib/ruby-prof/task.rb +146 -0
  35. data/lib/ruby-prof/test.rb +148 -0
  36. data/lib/unprof.rb +8 -0
  37. data/rails/environment/profile.rb +24 -0
  38. data/rails/example/example_test.rb +9 -0
  39. data/rails/profile_test_helper.rb +21 -0
  40. data/test/aggregate_test.rb +121 -0
  41. data/test/basic_test.rb +290 -0
  42. data/test/current_failures_windows +8 -0
  43. data/test/do_nothing.rb +0 -0
  44. data/test/duplicate_names_test.rb +32 -0
  45. data/test/enumerable_test.rb +16 -0
  46. data/test/exceptions_test.rb +15 -0
  47. data/test/exclude_threads_test.rb +54 -0
  48. data/test/exec_test.rb +14 -0
  49. data/test/line_number_test.rb +73 -0
  50. data/test/measurement_test.rb +121 -0
  51. data/test/module_test.rb +54 -0
  52. data/test/no_method_class_test.rb +13 -0
  53. data/test/prime.rb +58 -0
  54. data/test/prime_test.rb +13 -0
  55. data/test/printers_test.rb +130 -0
  56. data/test/recursive_test.rb +275 -0
  57. data/test/ruby-prof-bin +20 -0
  58. data/test/singleton_test.rb +37 -0
  59. data/test/stack_test.rb +138 -0
  60. data/test/start_stop_test.rb +95 -0
  61. data/test/test_suite.rb +23 -0
  62. data/test/thread_test.rb +173 -0
  63. data/test/unique_call_path_test.rb +225 -0
  64. metadata +143 -0
data/Rakefile ADDED
@@ -0,0 +1,159 @@
1
+ require 'rubygems'
2
+ require 'rake/gempackagetask'
3
+ require 'rake/rdoctask'
4
+ require 'rake/testtask'
5
+ require 'date'
6
+
7
+ # ------- Version ----
8
+ # Read version from header file
9
+ version_header = File.read('ext/ruby_prof/version.h')
10
+ match = version_header.match(/RUBY_PROF_VERSION\s*["](\d.+)["]/)
11
+ raise(RuntimeError, "Could not determine RUBY_PROF_VERSION") if not match
12
+ RUBY_PROF_VERSION = match[1]
13
+
14
+
15
+ # ------- Default Package ----------
16
+ FILES = FileList[
17
+ 'Rakefile',
18
+ 'README',
19
+ 'LICENSE',
20
+ 'CHANGES',
21
+ 'bin/*',
22
+ 'doc/**/*',
23
+ 'examples/*',
24
+ 'ext/ruby_prof/*.c',
25
+ 'ext/ruby_prof/*.h',
26
+ 'ext/ruby_prof/mingw/Rakefile',
27
+ 'ext/ruby_prof/mingw/build.rake',
28
+ 'ext/vc/*.sln',
29
+ 'ext/vc/*.vcproj',
30
+ 'lib/**/*',
31
+ 'rails/**/*',
32
+ 'test/*'
33
+ ]
34
+
35
+ # Default GEM Specification
36
+ default_spec = Gem::Specification.new do |spec|
37
+ spec.name = "ruby-prof"
38
+
39
+ spec.homepage = "http://rubyforge.org/projects/ruby-prof/"
40
+ spec.summary = "Fast Ruby profiler"
41
+ spec.description = <<-EOF
42
+ ruby-prof is a fast code profiler for Ruby. It is a C extension and
43
+ therefore is many times faster than the standard Ruby profiler. It
44
+ supports both flat and graph profiles. For each method, graph profiles
45
+ show how long the method ran, which methods called it and which
46
+ methods it called. RubyProf generate both text and html and can output
47
+ it to standard out or to a file.
48
+ EOF
49
+
50
+ spec.version = RUBY_PROF_VERSION
51
+
52
+ spec.author = "Shugo Maeda, Charlie Savage, Roger Pack"
53
+ spec.email = "shugo@ruby-lang.org, cfis@savagexi.com, rogerdpack@gmail.com"
54
+ spec.platform = Gem::Platform::RUBY
55
+ spec.require_path = "lib"
56
+ spec.bindir = "bin"
57
+ spec.executables = ["ruby-prof"]
58
+ spec.extensions = ["ext/ruby_prof/extconf.rb"]
59
+ spec.files = FILES.to_a
60
+ spec.test_files = Dir["test/test_*.rb"]
61
+ spec.required_ruby_version = '>= 1.8.4'
62
+ spec.date = DateTime.now
63
+ spec.rubyforge_project = 'ruby-prof'
64
+ spec.add_development_dependency 'os'
65
+ spec.add_development_dependency 'rake-compiler'
66
+
67
+ end
68
+
69
+ require 'rake/extensiontask'
70
+
71
+ desc 'build native .gem files -- use like native_gems clobber cross native gem RUBY_CC_VERSION=1.8.6:1.9.1--for non native use native_gems clobber && clean gem'
72
+ task :native_gems do
73
+ Rake::ExtensionTask.new('ruby_prof', default_spec) do |ext|
74
+ ext.cross_compile = true
75
+ ext.cross_platform = ['x86-mswin32', 'i386-mingw32']
76
+ end
77
+ end
78
+
79
+ # Rake task to build the default package
80
+ Rake::GemPackageTask.new(default_spec) do |pkg|
81
+ pkg.need_tar = true
82
+ #pkg.need_zip = true
83
+ end
84
+
85
+
86
+
87
+
88
+ # --------- RDoc Documentation ------
89
+ desc "Generate rdoc documentation"
90
+ Rake::RDocTask.new("rdoc") do |rdoc|
91
+ rdoc.rdoc_dir = 'doc'
92
+ rdoc.title = "ruby-prof"
93
+ # Show source inline with line numbers
94
+ rdoc.options << "--inline-source" << "--line-numbers"
95
+ # Make the readme file the start page for the generated html
96
+ rdoc.options << '--main' << 'README'
97
+ rdoc.rdoc_files.include('bin/**/*',
98
+ 'doc/*.rdoc',
99
+ 'examples/flat.txt',
100
+ 'examples/graph.txt',
101
+ 'examples/graph.html',
102
+ 'lib/**/*.rb',
103
+ 'ext/ruby_prof/ruby_prof.c',
104
+ 'ext/ruby_prof/version.h',
105
+ 'ext/ruby_prof/measure_*.h',
106
+ 'README',
107
+ 'LICENSE')
108
+ end
109
+
110
+ task :default => :package
111
+
112
+ desc 'Run the ruby-prof test suite'
113
+ Rake::TestTask.new do |t|
114
+ t.libs += %w(lib ext test)
115
+ t.test_files = Dir['test/test_suite.rb']
116
+ t.verbose = true
117
+ t.warning = true
118
+ end
119
+
120
+ require 'fileutils'
121
+
122
+ desc 'Buildr ruby_prof.so'
123
+ task :build do
124
+ build(false)
125
+ end
126
+
127
+ def build(with_debug)
128
+ Dir.chdir('ext/ruby_prof') do
129
+ unless File.exist? 'Makefile'
130
+ if with_debug
131
+ system(Gem.ruby + " -d extconf.rb")
132
+ else
133
+ system(Gem.ruby + " extconf.rb")
134
+ end
135
+ system("make clean")
136
+ end
137
+ system("make")
138
+ FileUtils.cp 'ruby_prof.so', '../../lib'
139
+ end
140
+ end
141
+
142
+ desc 'build ruby_prof.so with verbose debugging enabled'
143
+ task :build_debug do
144
+ build(true)
145
+ end
146
+
147
+ task :cleanr do
148
+ FileUtils.rm 'lib/ruby_prof.so' if File.exist? 'lib/ruby_prof.so'
149
+ Dir.chdir('ext/ruby_prof') do
150
+ if File.exist? 'Makefile'
151
+ system("make clean")
152
+ FileUtils.rm 'Makefile'
153
+ end
154
+ Dir.glob('*~') do |file|
155
+ FileUtils.rm file
156
+ end
157
+ end
158
+ system("rm -rf pkg")
159
+ end
data/bin/ruby-prof ADDED
@@ -0,0 +1,224 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ # == Synopsis
4
+ #
5
+ # Profiles a Ruby program.
6
+ #
7
+ # == Usage
8
+ #
9
+ # ruby_prof [options] <script.rb> [--] [script-options]"
10
+ #
11
+ # Options:
12
+ # -p, --printer=printer Select a printer:
13
+ # flat - Prints a flat profile as text (default).
14
+ # flat_with_line_numbers - Above, with line numbers
15
+ # graph - Prints a graph profile as text.
16
+ # graph_html - Prints a graph profile as html.
17
+ # call_tree - format for KCacheGrind
18
+ # -f, --file=path Output results to a file instead of standard out.
19
+ # -m, --min_percent=min_percent The minimum percent a method must take before ',
20
+ # being included in output reports. Should be an
21
+ # integer between 1 and 100. 0 means all methods are printed.
22
+ # --mode=measure_mode Select a measurement mode:
23
+ # process - Use process time (default).
24
+ # wall - Use wall time.
25
+ # cpu - Use the CPU clock counter
26
+ # (only supported on Pentium and PowerPCs).
27
+ # allocations - Tracks object allocations
28
+ # (requires a patched Ruby interpreter).
29
+ # memory - Tracks total memory size
30
+ # (requires a patched Ruby interpreter).
31
+ # gc_runs - Tracks number of garbage collection runs
32
+ # (requires a patched Ruby interpreter).
33
+ # gc_time - Tracks time spent doing garbage collection
34
+ # (requires a patched Ruby interpreter).
35
+ # --replace-progname Replace $0 when loading the .rb files.
36
+ # --specialized-instruction Turn on specialized instruction.
37
+ # -h, --help Show help message
38
+ # --version Show version
39
+ # -v Show version, set $VERBOSE to true, run file
40
+ # -d Set $DEBUG to true
41
+ #
42
+ #
43
+ # See also: {flat profiles}[link:files/examples/flat_txt.html], {graph profiles}[link:files/examples/graph_txt.html], {html graph profiles}[link:files/examples/graph_html.html]
44
+ #
45
+
46
+ require 'ostruct'
47
+ require 'optparse'
48
+ require 'ruby-prof'
49
+
50
+ options = OpenStruct.new
51
+ options.measure_mode = RubyProf::PROCESS_TIME
52
+ options.printer = RubyProf::FlatPrinter
53
+ options.min_percent = 0
54
+ options.file = nil
55
+ options.replace_prog_name = false
56
+ options.specialized_instruction = false
57
+
58
+ opts = OptionParser.new do |opts|
59
+ opts.banner = "ruby_prof #{RubyProf::VERSION}\n" +
60
+ "Usage: ruby_prof [options] <script.rb> [--] [script-options]"
61
+
62
+ opts.separator ""
63
+ opts.separator "Options:"
64
+
65
+
66
+ opts.on('-p printer', '--printer=printer', [:flat, :flat_with_line_numbers, :graph, :graph_html, :call_tree],
67
+ 'Select a printer:',
68
+ ' flat - Prints a flat profile as text (default).',
69
+ ' flat_with_line_numbers - same as flat, with line numbers.',
70
+ ' graph - Prints a graph profile as text.',
71
+ ' graph_html - Prints a graph profile as html.',
72
+ ' call_tree - format for KCacheGrind'
73
+ ) do |printer|
74
+
75
+
76
+ case printer
77
+ when :flat
78
+ options.printer = RubyProf::FlatPrinter
79
+ when :flat_with_line_numbers
80
+ options.printer = RubyProf::FlatPrinterWithLineNumbers
81
+ when :graph
82
+ options.printer = RubyProf::GraphPrinter
83
+ when :graph_html
84
+ options.printer = RubyProf::GraphHtmlPrinter
85
+ when :call_tree
86
+ options.printer = RubyProf::CallTreePrinter
87
+ end
88
+ end
89
+
90
+ opts.on('-m min_percent', '--min_percent=min_percent', Float,
91
+ 'The minimum percent a method must take before ',
92
+ ' being included in output reports.',
93
+ ' this option is not supported for call tree.') do |min_percent|
94
+ options.min_percent = min_percent
95
+ end
96
+
97
+ opts.on('-f path', '--file=path',
98
+ 'Output results to a file instead of standard out.') do |file|
99
+ options.file = file
100
+ end
101
+
102
+ opts.on('--mode=measure_mode',
103
+ [:process, :wall, :cpu, :allocations, :memory, :gc_runs, :gc_time],
104
+ 'Select what ruby-prof should measure:',
105
+ ' process - Process time (default).',
106
+ ' wall - Wall time.',
107
+ ' cpu - CPU time (Pentium and PowerPCs only).',
108
+ ' allocations - Object allocations (requires patched Ruby interpreter).',
109
+ ' memory - Allocated memory in KB (requires patched Ruby interpreter).',
110
+ ' gc_runs - Number of garbage collections (requires patched Ruby interpreter).',
111
+ ' gc_time - Time spent in garbage collection (requires patched Ruby interpreter).') do |measure_mode|
112
+
113
+ case measure_mode
114
+ when :process
115
+ options.measure_mode = RubyProf::PROCESS_TIME
116
+ when :wall
117
+ options.measure_mode = RubyProf::WALL_TIME
118
+ when :cpu
119
+ options.measure_mode = RubyProf::CPU_TIME
120
+ when :allocations
121
+ options.measure_mode = RubyProf::ALLOCATIONS
122
+ when :memory
123
+ options.measure_mode = RubyProf::MEMORY
124
+ when :gc_runs
125
+ options.measure_mode = RubyProf::GC_RUNS
126
+ when :gc_time
127
+ options.measure_mode = RubyProf::GC_TIME
128
+ end
129
+ end
130
+
131
+ opts.on("--replace-progname", "Replace $0 when loading the .rb files.") do
132
+ options.replace_prog_name = true
133
+ end
134
+
135
+ if defined?(VM)
136
+ opts.on("--specialized-instruction", "Turn on specified instruction.") do
137
+ options.specialized_instruction = true
138
+ end
139
+ end
140
+
141
+ opts.on_tail("-h", "--help", "Show help message") do
142
+ puts opts
143
+ exit
144
+ end
145
+
146
+ opts.on_tail("--version", "Show version #{RubyProf::VERSION}") do
147
+ puts "ruby_prof " + RubyProf::VERSION
148
+ exit
149
+ end
150
+
151
+ opts.on("-v","Show version, set $VERBOSE to true, profile script") do
152
+ puts "ruby_prof " + RubyProf::VERSION
153
+ puts "ruby " + RUBY_DESCRIPTION
154
+ $VERBOSE= true
155
+ end
156
+
157
+ opts.on("-d", "Set $DEBUG to true") do
158
+ $DEBUG = true
159
+ end
160
+ end
161
+
162
+ begin
163
+ opts.parse! ARGV
164
+ rescue OptionParser::InvalidOption, OptionParser::InvalidArgument,
165
+ OptionParser::MissingArgument => e
166
+ puts opts
167
+ puts
168
+ puts e.message
169
+ exit(-1)
170
+ end
171
+
172
+ # Make sure the user specified at least one file
173
+ if ARGV.length < 1
174
+ puts opts
175
+ puts ""
176
+ puts "Must specify a script to run"
177
+ exit(-1)
178
+ end
179
+
180
+
181
+ # Install at_exit handler. It is important that we do this
182
+ # before loading the scripts so our at_exit handler run
183
+ # *after* any other one that will be installed.
184
+
185
+ at_exit {
186
+ # Stop profiling
187
+ result = RubyProf.stop
188
+
189
+ # Create a printer
190
+ printer = options.printer.new(result)
191
+
192
+ # Get output
193
+ if options.file
194
+ File.open(options.file, 'w') do |file|
195
+ printer.print(file, {:min_percent => options.min_percent})
196
+ end
197
+ else
198
+ # Print out results
199
+ printer.print(STDOUT, {:min_percent => options.min_percent})
200
+ end
201
+ }
202
+
203
+ # Now set measure mode
204
+ RubyProf.measure_mode = options.measure_mode
205
+
206
+ # Set VM compile option
207
+ if defined?(VM)
208
+ VM::InstructionSequence.compile_option = {
209
+ :trace_instruction => true,
210
+ :specialized_instruction => options.specialized_instruction
211
+ }
212
+ end
213
+
214
+ # Get the script we will execute
215
+ script = ARGV.shift
216
+ if options.replace_prog_name
217
+ $0 = File.expand_path(script)
218
+ end
219
+
220
+ # Start profiling
221
+ RubyProf.start
222
+
223
+ # Load the script
224
+ load script
data/examples/flat.txt ADDED
@@ -0,0 +1,55 @@
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
+ * MyObject#test - An instance method "test" of the class "MyObject"
51
+ * <Object:MyObject>#test - The <> characters indicate a singleton method on a singleton class.
52
+
53
+ For example, wee can see that Integer#upto took the most time, 4.06 seconds. An additional
54
+ 4.66 seconds were spent in its children, for a total time of 8.72 seconds.
55
+
@@ -0,0 +1,823 @@
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>