Hi,
I have an application that takes a little to long to execute. I would
like to know where I could gain most.
Whenever a metod is called, I would like to store the execution time and
number of executions. Then, at the end of the applications execution,
print it out. Something like:
Object1 =>
method1 => called 10 times, 30 milliseconds total time
method2 => called 1 times, 5 milliseconds total time
Object2 =>
method1 => called 1 times, 2 milliseconds total time
method2 => called 30 times, 500 milliseconds total time
…
How would I do this?
Regards
Emil
On 3/13/07, Emil S. [email protected] wrote:
Hi,
I have an application that takes a little to long to execute. I would
like to know where I could gain most.
The best way is ruby-prof (http://ruby-prof.rubyforge.org). It will
generate ascii or html formatted output showing the time spent in
methods. See
http://www.oreillynet.com/ruby/blog/2006/08/profiling_ruby_code_with_rubyp.html
for links to a series of 3 blog posts describing its use.
Alex
Emil S. wrote:
method2 => called 1 times, 5 milliseconds total time
Object2 =>
method1 => called 1 times, 2 milliseconds total time
method2 => called 30 times, 500 milliseconds total time
…
How would I do this?
Investigate ‘profile’ in the standard library
(http://www.rubycentral.com/book/trouble.html) or ruby-prof
(http://ruby-prof.rubyforge.org/). Both do what you want, but the
latter is more comprehensive.
Thank you for your quick replies, I will look into this at once.
/Emil