ruby-prof 0.11.0.rc1 → 0.11.0.rc2
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.
- data/CHANGES +20 -5
- data/README.rdoc +10 -3
- data/ext/ruby_prof/rp_call_info.c +108 -79
- data/ext/ruby_prof/rp_call_info.h +1 -0
- data/ext/ruby_prof/rp_measure_cpu_time.c +111 -111
- data/ext/ruby_prof/rp_measure_gc_runs.c +1 -1
- data/ext/ruby_prof/rp_measure_memory.c +1 -1
- data/ext/ruby_prof/rp_measure_process_time.c +71 -71
- data/ext/ruby_prof/rp_measure_wall_time.c +1 -1
- data/ext/ruby_prof/rp_method.c +143 -73
- data/ext/ruby_prof/rp_method.h +7 -4
- data/ext/ruby_prof/rp_stack.c +16 -1
- data/ext/ruby_prof/rp_stack.h +4 -1
- data/ext/ruby_prof/rp_thread.c +165 -35
- data/ext/ruby_prof/rp_thread.h +8 -2
- data/ext/ruby_prof/ruby_prof.c +164 -171
- data/ext/ruby_prof/ruby_prof.h +53 -54
- data/ext/ruby_prof/vc/ruby_prof.sln +26 -0
- data/ext/ruby_prof/vc/ruby_prof.vcxproj +109 -0
- data/ext/ruby_prof/vc/ruby_prof_18.vcxproj +105 -0
- data/lib/ruby-prof/aggregate_call_info.rb +9 -7
- data/lib/ruby-prof/call_info.rb +2 -27
- data/lib/ruby-prof/call_info_visitor.rb +42 -0
- data/lib/ruby-prof/{empty.png → images/empty.png} +0 -0
- data/lib/ruby-prof/{minus.png → images/minus.png} +0 -0
- data/lib/ruby-prof/{plus.png → images/plus.png} +0 -0
- data/lib/ruby-prof/method_info.rb +13 -15
- data/lib/ruby-prof/{abstract_printer.rb → printers/abstract_printer.rb} +36 -2
- data/lib/ruby-prof/printers/call_info_printer.rb +40 -0
- data/lib/ruby-prof/{call_stack_printer.rb → printers/call_stack_printer.rb} +11 -16
- data/lib/ruby-prof/{call_tree_printer.rb → printers/call_tree_printer.rb} +4 -4
- data/lib/ruby-prof/{dot_printer.rb → printers/dot_printer.rb} +11 -31
- data/lib/ruby-prof/{flat_printer.rb → printers/flat_printer.rb} +26 -35
- data/lib/ruby-prof/{flat_printer_with_line_numbers.rb → printers/flat_printer_with_line_numbers.rb} +14 -25
- data/lib/ruby-prof/printers/graph_html_printer.rb +248 -0
- data/lib/ruby-prof/{graph_printer.rb → printers/graph_printer.rb} +31 -73
- data/lib/ruby-prof/{multi_printer.rb → printers/multi_printer.rb} +0 -0
- data/lib/ruby-prof/profile.rb +27 -22
- data/lib/ruby-prof/rack.rb +22 -12
- data/ruby-prof.gemspec +58 -0
- data/test/aggregate_test.rb +6 -6
- data/test/call_info_visitor_test.rb +31 -0
- data/test/duplicate_names_test.rb +1 -1
- data/test/dynamic_method_test.rb +1 -1
- data/test/enumerable_test.rb +1 -1
- data/test/exclude_threads_test.rb +2 -2
- data/test/gc_test.rb +35 -0
- data/test/line_number_test.rb +2 -2
- data/test/measure_cpu_time_test.rb +5 -5
- data/test/measure_process_time_test.rb +5 -5
- data/test/measure_wall_time_test.rb +5 -5
- data/test/method_elimination_test.rb +3 -3
- data/test/module_test.rb +1 -1
- data/test/no_method_class_test.rb +1 -1
- data/test/printers_test.rb +16 -8
- data/test/recursive_test.rb +115 -91
- data/test/stack_test.rb +1 -1
- data/test/start_stop_test.rb +13 -13
- data/test/summarize_test.rb +48 -0
- data/test/test_suite.rb +1 -0
- data/test/thread_test.rb +16 -12
- data/test/unique_call_path_test.rb +10 -10
- metadata +64 -85
- data/lib/1.8/ruby_prof.so +0 -0
- data/lib/1.9/ruby_prof.exp +0 -0
- data/lib/1.9/ruby_prof.ilk +0 -0
- data/lib/1.9/ruby_prof.lib +0 -0
- data/lib/1.9/ruby_prof.pdb +0 -0
- data/lib/1.9/ruby_prof.so +0 -0
- data/lib/ruby-prof.rb +0 -70
- data/lib/ruby-prof/graph_html_printer.rb +0 -286
- data/lib/ruby-prof/symbol_to_proc.rb +0 -10
- data/lib/ruby_prof.exp +0 -0
- data/lib/ruby_prof.ilk +0 -0
- data/lib/ruby_prof.lib +0 -0
- data/lib/ruby_prof.pdb +0 -0
- data/lib/ruby_prof.so +0 -0
- data/lib/unprof.rb +0 -10
- data/test/do_nothing.rb +0 -0
data/test/stack_test.rb
CHANGED
@@ -46,7 +46,7 @@ class StackTest < Test::Unit::TestCase
|
|
46
46
|
# StackClass#c
|
47
47
|
# StackClass#b
|
48
48
|
|
49
|
-
methods = result.threads.
|
49
|
+
methods = result.threads.first.methods.sort.reverse
|
50
50
|
assert_equal(5, methods.length)
|
51
51
|
|
52
52
|
# Check StackTest#test_call_sequence
|
data/test/start_stop_test.rb
CHANGED
@@ -53,7 +53,7 @@ class StartStopTest < Test::Unit::TestCase
|
|
53
53
|
# StartStopTest#method3
|
54
54
|
# Kernel#sleep
|
55
55
|
|
56
|
-
methods = @result.threads.
|
56
|
+
methods = @result.threads.first.methods.sort.reverse
|
57
57
|
assert_equal(4, methods.length)
|
58
58
|
|
59
59
|
# Check StackTest#test_call_sequence
|
@@ -61,8 +61,8 @@ class StartStopTest < Test::Unit::TestCase
|
|
61
61
|
assert_equal('StartStopTest#method1', method.full_name)
|
62
62
|
assert_equal(1, method.called)
|
63
63
|
assert_in_delta(2, method.total_time, 0.05)
|
64
|
-
assert_in_delta(0, method.wait_time, 0.
|
65
|
-
assert_in_delta(0, method.self_time, 0.
|
64
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
65
|
+
assert_in_delta(0, method.self_time, 0.02)
|
66
66
|
assert_in_delta(2, method.children_time, 0.05)
|
67
67
|
assert_equal(1, method.call_infos.length)
|
68
68
|
|
@@ -74,8 +74,8 @@ class StartStopTest < Test::Unit::TestCase
|
|
74
74
|
assert_equal('StartStopTest#method2', method.full_name)
|
75
75
|
assert_equal(1, method.called)
|
76
76
|
assert_in_delta(2, method.total_time, 0.05)
|
77
|
-
assert_in_delta(0, method.wait_time, 0.
|
78
|
-
assert_in_delta(0, method.self_time, 0.
|
77
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
78
|
+
assert_in_delta(0, method.self_time, 0.02)
|
79
79
|
assert_in_delta(2, method.children_time, 0.05)
|
80
80
|
assert_equal(1, method.call_infos.length)
|
81
81
|
|
@@ -86,10 +86,10 @@ class StartStopTest < Test::Unit::TestCase
|
|
86
86
|
method = methods[2]
|
87
87
|
assert_equal('StartStopTest#method3', method.full_name)
|
88
88
|
assert_equal(1, method.called)
|
89
|
-
assert_in_delta(2, method.total_time, 0.
|
90
|
-
assert_in_delta(0, method.wait_time, 0.
|
91
|
-
assert_in_delta(0, method.self_time, 0.
|
92
|
-
assert_in_delta(2, method.children_time, 0.
|
89
|
+
assert_in_delta(2, method.total_time, 0.02)
|
90
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
91
|
+
assert_in_delta(0, method.self_time, 0.02)
|
92
|
+
assert_in_delta(2, method.children_time, 0.02)
|
93
93
|
assert_equal(1, method.call_infos.length)
|
94
94
|
|
95
95
|
call_info = method.call_infos[0]
|
@@ -99,10 +99,10 @@ class StartStopTest < Test::Unit::TestCase
|
|
99
99
|
method = methods[3]
|
100
100
|
assert_equal('Kernel#sleep', method.full_name)
|
101
101
|
assert_equal(1, method.called)
|
102
|
-
assert_in_delta(2, method.total_time, 0.
|
103
|
-
assert_in_delta(0, method.wait_time, 0.
|
104
|
-
assert_in_delta(2, method.self_time, 0.
|
105
|
-
assert_in_delta(0, method.children_time, 0.
|
102
|
+
assert_in_delta(2, method.total_time, 0.02)
|
103
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
104
|
+
assert_in_delta(2, method.self_time, 0.02)
|
105
|
+
assert_in_delta(0, method.children_time, 0.02)
|
106
106
|
assert_equal(1, method.call_infos.length)
|
107
107
|
|
108
108
|
call_info = method.call_infos[0]
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: UTF-8
|
3
|
+
|
4
|
+
require File.expand_path('../test_helper', __FILE__)
|
5
|
+
|
6
|
+
def slow
|
7
|
+
sleep(3)
|
8
|
+
end
|
9
|
+
|
10
|
+
def fast
|
11
|
+
sleep(3)
|
12
|
+
end
|
13
|
+
|
14
|
+
def slow_caller
|
15
|
+
1.times do
|
16
|
+
slow
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def fast_caller
|
21
|
+
1.times do
|
22
|
+
fast
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def parent
|
27
|
+
[1..10].each do
|
28
|
+
#slow_caller
|
29
|
+
fast_caller
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
class SummarizeTest < Test::Unit::TestCase
|
34
|
+
def setup
|
35
|
+
# Need to use wall time for this test due to the sleep calls
|
36
|
+
RubyProf::measure_mode = RubyProf::WALL_TIME
|
37
|
+
end
|
38
|
+
|
39
|
+
def test
|
40
|
+
result = RubyProf::Profile.profile do
|
41
|
+
parent
|
42
|
+
end
|
43
|
+
|
44
|
+
printer = RubyProf::GraphPrinter.new(result)
|
45
|
+
printer.print(STDOUT)
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
data/test/test_suite.rb
CHANGED
data/test/thread_test.rb
CHANGED
@@ -20,7 +20,7 @@ class ThreadTest < Test::Unit::TestCase
|
|
20
20
|
|
21
21
|
thread.join
|
22
22
|
result = RubyProf.stop
|
23
|
-
assert_equal(2, result.threads.
|
23
|
+
assert_equal(2, result.threads.length)
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_thread_identity
|
@@ -31,9 +31,9 @@ class ThreadTest < Test::Unit::TestCase
|
|
31
31
|
thread.join
|
32
32
|
result = RubyProf.stop
|
33
33
|
|
34
|
-
thread_ids = result.threads.
|
34
|
+
thread_ids = result.threads.map {|thread| thread.id}.sort
|
35
35
|
threads = [Thread.current, thread]
|
36
|
-
assert_equal(2,
|
36
|
+
assert_equal(2, result.threads.length)
|
37
37
|
|
38
38
|
assert(thread_ids.include?(threads[0].object_id))
|
39
39
|
assert(thread_ids.include?(threads[1].object_id))
|
@@ -59,7 +59,9 @@ class ThreadTest < Test::Unit::TestCase
|
|
59
59
|
|
60
60
|
# Check background thread
|
61
61
|
assert_equal(2, result.threads.length)
|
62
|
-
|
62
|
+
|
63
|
+
rp_thread = result.threads.detect {|athread| athread.id == thread.object_id}
|
64
|
+
methods = rp_thread.methods.sort.reverse
|
63
65
|
assert_equal(2, methods.length)
|
64
66
|
|
65
67
|
method = methods[0]
|
@@ -88,7 +90,8 @@ class ThreadTest < Test::Unit::TestCase
|
|
88
90
|
assert_equal(0, call_info.children.length)
|
89
91
|
|
90
92
|
# Check foreground thread
|
91
|
-
|
93
|
+
rp_thread = result.threads.detect {|athread| athread.id == Thread.current.object_id}
|
94
|
+
methods = rp_thread.methods.sort.reverse
|
92
95
|
assert_equal(4, methods.length)
|
93
96
|
methods = methods.sort.reverse
|
94
97
|
|
@@ -150,13 +153,14 @@ class ThreadTest < Test::Unit::TestCase
|
|
150
153
|
|
151
154
|
# useless test
|
152
155
|
def test_thread_back_and_forth
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
156
|
+
result = RubyProf.profile do
|
157
|
+
a = Thread.new { 100_000.times { sleep 0 }}
|
158
|
+
b = Thread.new { 100_000.times { sleep 0 }}
|
159
|
+
a.join
|
160
|
+
b.join
|
161
|
+
end
|
162
|
+
methods = result.threads.map {|thread| thread.methods}
|
163
|
+
assert(methods.flatten.sort[-1].total_time < 10) # 10s. Amazingly, this can fail in OS X at times. Amazing.
|
160
164
|
end
|
161
165
|
|
162
166
|
def test_thread
|
@@ -36,8 +36,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
36
36
|
end
|
37
37
|
|
38
38
|
root_methods = Array.new
|
39
|
-
result.threads.each do |
|
40
|
-
methods.each do | m |
|
39
|
+
result.threads.each do |thread|
|
40
|
+
thread.methods.each do | m |
|
41
41
|
if m.root?
|
42
42
|
root_methods.push(m)
|
43
43
|
end
|
@@ -57,8 +57,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
57
57
|
end
|
58
58
|
|
59
59
|
root_methods = Array.new
|
60
|
-
result.threads.each do |
|
61
|
-
methods.each do | m |
|
60
|
+
result.threads.each do |thread|
|
61
|
+
thread.methods.each do | m |
|
62
62
|
if m.root?
|
63
63
|
root_methods.push(m)
|
64
64
|
end
|
@@ -92,8 +92,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
92
92
|
end
|
93
93
|
|
94
94
|
root_methods = Array.new
|
95
|
-
result.threads.each do |
|
96
|
-
methods.each do | m |
|
95
|
+
result.threads.each do |thread|
|
96
|
+
thread.methods.each do | m |
|
97
97
|
if m.root?
|
98
98
|
root_methods.push(m)
|
99
99
|
end
|
@@ -150,8 +150,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
150
150
|
end
|
151
151
|
|
152
152
|
root_methods = Array.new
|
153
|
-
result.threads.each do |
|
154
|
-
methods.each do | m |
|
153
|
+
result.threads.each do |thread|
|
154
|
+
thread.methods.each do | m |
|
155
155
|
if m.root?
|
156
156
|
root_methods.push(m)
|
157
157
|
end
|
@@ -173,8 +173,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
173
173
|
end
|
174
174
|
|
175
175
|
root_methods = Array.new
|
176
|
-
result.threads.each do |
|
177
|
-
methods.each do | m |
|
176
|
+
result.threads.each do |thread|
|
177
|
+
thread.methods.each do | m |
|
178
178
|
if m.root?
|
179
179
|
root_methods.push(m)
|
180
180
|
end
|
metadata
CHANGED
@@ -1,58 +1,57 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-prof
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.11.0.rc2
|
5
5
|
prerelease: 7
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 11
|
9
|
-
- 0
|
10
|
-
- rc
|
11
|
-
- 1
|
12
|
-
version: 0.11.0.rc1
|
13
6
|
platform: ruby
|
14
|
-
authors:
|
7
|
+
authors:
|
15
8
|
- Shugo Maeda, Charlie Savage, Roger Pack, Stefan Kaes
|
16
9
|
autorequire:
|
17
10
|
bindir: bin
|
18
11
|
cert_chain: []
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-03-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: rake-compiler
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
26
17
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
segments:
|
32
|
-
- 0
|
33
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
34
22
|
type: :development
|
35
|
-
|
36
|
-
|
37
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: ! 'ruby-prof is a fast code profiler for Ruby. It is a C extension and
|
31
|
+
|
38
32
|
therefore is many times faster than the standard Ruby profiler. It
|
33
|
+
|
39
34
|
supports both flat and graph profiles. For each method, graph profiles
|
35
|
+
|
40
36
|
show how long the method ran, which methods called it and which
|
37
|
+
|
41
38
|
methods it called. RubyProf generate both text and html and can output
|
39
|
+
|
42
40
|
it to standard out or to a file.
|
43
41
|
|
42
|
+
'
|
44
43
|
email: shugo@ruby-lang.org, cfis@savagexi.com, rogerdpack@gmail.com, skaes@railsexpress.de
|
45
|
-
executables:
|
44
|
+
executables:
|
46
45
|
- ruby-prof
|
47
|
-
extensions:
|
46
|
+
extensions:
|
48
47
|
- ext/ruby_prof/extconf.rb
|
49
48
|
extra_rdoc_files: []
|
50
|
-
|
51
|
-
|
49
|
+
files:
|
50
|
+
- CHANGES
|
51
|
+
- LICENSE
|
52
52
|
- Rakefile
|
53
53
|
- README.rdoc
|
54
|
-
-
|
55
|
-
- CHANGES
|
54
|
+
- ruby-prof.gemspec
|
56
55
|
- bin/ruby-prof
|
57
56
|
- examples/empty.png
|
58
57
|
- examples/flat.txt
|
@@ -67,6 +66,7 @@ files:
|
|
67
66
|
- examples/multi.stack.html
|
68
67
|
- examples/plus.png
|
69
68
|
- examples/stack.html
|
69
|
+
- ext/ruby_prof/extconf.rb
|
70
70
|
- ext/ruby_prof/rp_call_info.c
|
71
71
|
- ext/ruby_prof/rp_measure.c
|
72
72
|
- ext/ruby_prof/rp_measure_allocations.c
|
@@ -87,50 +87,42 @@ files:
|
|
87
87
|
- ext/ruby_prof/rp_thread.h
|
88
88
|
- ext/ruby_prof/ruby_prof.h
|
89
89
|
- ext/ruby_prof/version.h
|
90
|
-
-
|
91
|
-
-
|
92
|
-
-
|
93
|
-
- lib/1.9/ruby_prof.lib
|
94
|
-
- lib/1.9/ruby_prof.pdb
|
95
|
-
- lib/1.9/ruby_prof.so
|
96
|
-
- lib/ruby-prof/abstract_printer.rb
|
90
|
+
- ext/ruby_prof/vc/ruby_prof.sln
|
91
|
+
- ext/ruby_prof/vc/ruby_prof.vcxproj
|
92
|
+
- ext/ruby_prof/vc/ruby_prof_18.vcxproj
|
97
93
|
- lib/ruby-prof/aggregate_call_info.rb
|
98
94
|
- lib/ruby-prof/call_info.rb
|
99
|
-
- lib/ruby-prof/
|
100
|
-
- lib/ruby-prof/call_tree_printer.rb
|
95
|
+
- lib/ruby-prof/call_info_visitor.rb
|
101
96
|
- lib/ruby-prof/compatibility.rb
|
102
|
-
- lib/ruby-prof/dot_printer.rb
|
103
|
-
- lib/ruby-prof/empty.png
|
104
|
-
- lib/ruby-prof/flat_printer.rb
|
105
|
-
- lib/ruby-prof/flat_printer_with_line_numbers.rb
|
106
|
-
- lib/ruby-prof/graph_html_printer.rb
|
107
|
-
- lib/ruby-prof/graph_printer.rb
|
108
97
|
- lib/ruby-prof/method_info.rb
|
109
|
-
- lib/ruby-prof/minus.png
|
110
|
-
- lib/ruby-prof/multi_printer.rb
|
111
|
-
- lib/ruby-prof/plus.png
|
112
98
|
- lib/ruby-prof/profile.rb
|
113
99
|
- lib/ruby-prof/rack.rb
|
114
|
-
- lib/ruby-prof/symbol_to_proc.rb
|
115
100
|
- lib/ruby-prof/task.rb
|
116
101
|
- lib/ruby-prof/test.rb
|
117
|
-
- lib/ruby-prof.
|
118
|
-
- lib/
|
119
|
-
- lib/
|
120
|
-
- lib/
|
121
|
-
- lib/
|
122
|
-
- lib/
|
123
|
-
- lib/
|
102
|
+
- lib/ruby-prof/images/empty.png
|
103
|
+
- lib/ruby-prof/images/minus.png
|
104
|
+
- lib/ruby-prof/images/plus.png
|
105
|
+
- lib/ruby-prof/printers/abstract_printer.rb
|
106
|
+
- lib/ruby-prof/printers/call_info_printer.rb
|
107
|
+
- lib/ruby-prof/printers/call_stack_printer.rb
|
108
|
+
- lib/ruby-prof/printers/call_tree_printer.rb
|
109
|
+
- lib/ruby-prof/printers/dot_printer.rb
|
110
|
+
- lib/ruby-prof/printers/flat_printer.rb
|
111
|
+
- lib/ruby-prof/printers/flat_printer_with_line_numbers.rb
|
112
|
+
- lib/ruby-prof/printers/graph_html_printer.rb
|
113
|
+
- lib/ruby-prof/printers/graph_printer.rb
|
114
|
+
- lib/ruby-prof/printers/multi_printer.rb
|
124
115
|
- test/aggregate_test.rb
|
125
116
|
- test/basic_test.rb
|
126
117
|
- test/bug_test.rb
|
127
|
-
- test/
|
118
|
+
- test/call_info_visitor_test.rb
|
128
119
|
- test/duplicate_names_test.rb
|
129
120
|
- test/dynamic_method_test.rb
|
130
121
|
- test/enumerable_test.rb
|
131
122
|
- test/exceptions_test.rb
|
132
123
|
- test/exclude_threads_test.rb
|
133
124
|
- test/exec_test.rb
|
125
|
+
- test/gc_test.rb
|
134
126
|
- test/line_number_test.rb
|
135
127
|
- test/measure_allocations_test.rb
|
136
128
|
- test/measure_cpu_time_test.rb
|
@@ -151,48 +143,35 @@ files:
|
|
151
143
|
- test/stack_printer_test.rb
|
152
144
|
- test/stack_test.rb
|
153
145
|
- test/start_stop_test.rb
|
146
|
+
- test/summarize_test.rb
|
154
147
|
- test/test_helper.rb
|
155
148
|
- test/test_suite.rb
|
156
149
|
- test/thread_test.rb
|
157
150
|
- test/unique_call_path_test.rb
|
158
|
-
- ext/ruby_prof/extconf.rb
|
159
151
|
homepage: https://github.com/rdp/ruby-prof
|
160
152
|
licenses: []
|
161
|
-
|
162
153
|
post_install_message:
|
163
154
|
rdoc_options: []
|
164
|
-
|
165
|
-
require_paths:
|
155
|
+
require_paths:
|
166
156
|
- lib
|
167
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
168
158
|
none: false
|
169
|
-
requirements:
|
170
|
-
- -
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
hash: 57
|
173
|
-
segments:
|
174
|
-
- 1
|
175
|
-
- 8
|
176
|
-
- 7
|
159
|
+
requirements:
|
160
|
+
- - ! '>='
|
161
|
+
- !ruby/object:Gem::Version
|
177
162
|
version: 1.8.7
|
178
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
164
|
none: false
|
180
|
-
requirements:
|
181
|
-
- -
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
hash: 25
|
184
|
-
segments:
|
185
|
-
- 1
|
186
|
-
- 3
|
187
|
-
- 1
|
165
|
+
requirements:
|
166
|
+
- - ! '>'
|
167
|
+
- !ruby/object:Gem::Version
|
188
168
|
version: 1.3.1
|
189
169
|
requirements: []
|
190
|
-
|
191
170
|
rubyforge_project:
|
192
|
-
rubygems_version: 1.8.
|
171
|
+
rubygems_version: 1.8.21
|
193
172
|
signing_key:
|
194
173
|
specification_version: 3
|
195
174
|
summary: Fast Ruby profiler
|
196
|
-
test_files:
|
175
|
+
test_files:
|
197
176
|
- test/test_helper.rb
|
198
177
|
- test/test_suite.rb
|