forked from ruby-prof/ruby-prof
-
Notifications
You must be signed in to change notification settings - Fork 7
/
CHANGES
273 lines (211 loc) · 7.94 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
0.10.7
======================
Fix a bug with REE's GC stats. Issue #53 [thanks graaff]
0.10.6
======================
Slightly more normalized url for linux/windows links to files.
0.10.5
=======================
1.8.6 compat for -v command (bug fix)
0.10.4
=======================
Faster load time for ruby-prof itself.
0.10.3
=======================
Can cleanly load before rubygems now.
0.10.2
=======================
Fix for 1.9.2, os x for latest commits (thanks skaes!)
0.10.1
=======================
Fix bug in linux wall time, also load with only relative paths so that you can use it to benchmark rubygems startup overhead,
itself.
0.10.0
=======================
Some rdoc changes, for linux wall time attempt to use higher granularity (thanks to all the contributors for this round!)
0.9.2
=======================
Make graphviz work on 1.8.6
roll back some 1.9.2 optimizations until I can figure out what caused them.
0.9.1
=======================
Add a graphviz output
0.9.0
=======================
* measurements for recursive methods are now correct
* gave up on splitting up recursive methods according to call depth
* made it possible to eliminate methods from profiling results
* new printer for call stack visualization
* new printer to print several profiles in one run
* HTML profiles contain Textmate links so you can jump to the source code easily
* producing an event log is now a runtime option
0.7.10 (2009-01-22)
=======================
* fix SEGFAULT in 1.9
* add new printer flat_printer_with_line_numbers
0.7.7 (2009-01-13)
======================
* "fix" multi threading support for 1.9 http://redmine.ruby-lang.org/issues/show/2012
* speedups
0.7.6 (2009-12-31)
======================
* fix some tests for 1.9 (no real code changes)
0.7.5 (2009-12)
========================
* fix a GC collection bug (nobu's patch).
* correctly report recursive call depths (Kevin Scaldeferri).
* sort methods on output (Kevin Scaldeferri).
0.7.3 (2008-12-09)
========================
* Fixed compile error with new x86_64 code using GCC.
0.7.2 (2008-12-08)
========================
* Fixed major bug in printing child methods in graph reports.
* Fixes for supporting x86_64 machines (Diego Pettenò)
0.7.1 (2008-11-28)
========================
* Added new AggregateCallInfo class for printers to
make results easier to read. Take this call sequence
for example:
A B C
| | |
Z A A
| |
Z Z
By default, ruby-prof will show that Z was called by 3 separate
instances of A. In an IDE that is helpful but in a text report
it is not since it makes the report much harder to read.
As a result, printers now aggregate together callers (and children),
matching ruby-prof's output from versions prior to 0.7.0.
* Fixes for supporting x86_64 machines (Matt Sanford)
0.7.0 (2008-11-04)
========================
Features
--------
* Added two new methods - RubyProf.resume and RubyProf.pause.
RubyProf.resume takes an optional block, which ensures that
RubyProf.pause is called. For example:
10.times do |i|
RubyProf.resume do
# Some long process
end
end
result = RubyProf.stop
* Added support for profiling tests that use Ruby's built-in
unit test framework (ie, test derived from
Test::Unit::TestCase). To enable profiling simply add
the following line of code to your test class:
include RubyProf::Test
By default, profiling results are written to the current
processes working directory. To change this, or other
profiling options, simply modify the PROFILE_OPTIONS hash
table as needed.
* Used the new support for profiling test cases to revamp
the way that Rails profiling works. For more information
please refer to RubyProf's documentation.
* Keep track of call stack for each method to enable more
powerful profile visualizations in Integrated Development
Environments (Hin Boean, work supported by CodeGear).
* Expose measurements to Ruby (Jeremy Kemper).
* Add support for additional memory measurements modes in Ruby 1.9 (Jeremy Kemper).
* Add support for Lloyd Hilaiel's Ruby patch for measuring total heap size.
See http://lloydforge.org/projects/ruby. (Jeremy Kemper).
Fixes
-------
* RubyProf.profile no longer crashes if an exception is
thrown during a profiling run.
* Measure memory in fractional kilobytes rather than rounding down (Jeremy Kemper)
0.6.0 (2008-02-03)
========================
ruby-prof 0.6.0 adds support for Ruby 1.9 and memory profiling.
Features
--------
* Added support for ruby 1.9 (Shugo Maeda)
* Added support for outputting printer results to a String, Array or IO
object (Michael Granger)
* Add new memory profiling mode. Note this mode depends on a
patched Ruby interpreter (Alexander Dymo)
Fixes
-------
* Improvements to GraphHtmlPrinter including updated documentation,
fixes for min_time support, ability to specify templates using
strings or filenames, and table layout fixes (Makoto Kuwata)
* Fixes to scaling factor for calltrees so that precision is not lost
due to the conversion to doubles (Sylvain Joyeux)
* Changed constant ALLOCATED_OBJECTS to ALLOCATIONS in the C code to
match the Ruby code (Sylvain Joyeux)
* Added support for calltree printer to ruby-prof binary script (Sylvain Joyeux)
* Fix support for the allocator measure mode to extconf.rb (Sylvain Joyeux)
* Honor measure mode when specified on the command line (Sylvain Joyeux)
* Sorting of methods by total time was incorrect (Dan Fitch, Charlie Savage)
* Fix ruby-prof to work with the latest version of GEMS (Alexander Dymo)
* Always define MEASURE_CPU_TIME and MEASURE_ALLOCATIONS in Ruby code, but
set their values to nil if the functionality is not available.
0.5.2 (2007-07-19)
========================
ruby-prof 0.5.2 is a bug fix release.
Fixes
-------
* Include missing rails plugin
0.5.1 (2007-07-18)
========================
ruby-prof 0.5.1 is a bug fix and performance release.
Performance
--------
* Significantly reduced the number of thread lookups by
caching the last executed thread.
Fixes
-------
* Properly escape method names in HTML reports
* Fix use of -m and --min-percent command line switches
* Default source file information to ruby_runtime#0 for c calls
* Moved rails_plugin to top level so it is more obvious
* Updated rails_plugin to write reports to the current
Rails log directory
* Added additional tests
0.5.0 (2007-07-09)
========================
Features
--------
* Added support for timing multi-threaded applications
* Added support for 64 bit systems (patch from Diego 'Flameeyes' Petten)
* Added suport for outputting data in the format used by
KCacheGrind (patch from Carl Shimer)
* Add filename and line numbers to call tree information (patch from Carl Shimer)
* Added Visual Studio 2005 project file.
* Added replace-progname switch, als rcov.
* Added better support for recursive methods
* Added better support for profiling Rails applications
Fixes
-------
* Fixes bug when the type of an attached object (singleton) is inherited
from T_OBJECT as opposed to being a T_OBJECT (identified by Francis Cianfrocca)
* ruby-prof now works in IRB.
* Fix sort order in reports.
* Fixed rdoc compile error.
* Fix tabs in erb template for graph html report on windows.
0.4.1 (2006-06-26)
========================
Features
--------
* Added a RubyProf.running? method to indicate whether a profile is in progress.
* Added tgz and zip archives to release
Fixes
-------
* Duplicate method names are now allowed
* The documentation has been updated to show the correct API usage is RubyProf.stop not RubyProf.end
0.4.0 (2006-06-16)
========================
Features
--------
* added support for call graphs
* added support for printers. Currently there is a FlatPrinter,
GraphPrinter and GraphHtmlPrinter.
* added support for recursive methods
* added Windows support
* now packaged as a RubyGem
Fixes
-------
* Fixes bug where RubyProf would crash depending on the
way it was invoked - for example, it did not run when
used with Arachno Ruby's customized version of Ruby.