RubyGems.org

zenprofile

1.3.1

zenprofiler helps answer WHAT is being called the most. spy_on helps answer WHERE those calls are being made. ZenProfiler provides a faster version of the standard library ruby profiler. It is otherwise pretty much the same as before. spy_on provides a clean way to redefine a bottleneck method so you can account for and aggregate all the calls to it. % ruby -Ilib bin/zenprofile misc/factorial.rb 50000 Total time = 3.056884 Total time = 2.390000 total self self total % time seconds seconds calls ms/call ms/call name 50.70 1.64 1.64 50000 0.03 0.05 Integer#downto 19.63 2.27 0.63 200000 0.00 0.00 Fixnum#* 14.19 2.73 0.46 50000 0.01 0.05 Factorial#factorial 9.93 3.05 0.32 1 320.36 3047.10 Range#each 5.54 3.23 0.18 2 89.40 178.79 ZenProfiler#start_hook Once you know that Integer#downto takes 50% of the entire run, you can use spy_on to find it. (See misc/factorial.rb for the actual code): % SPY=1 ruby -Ilib misc/factorial.rb 50000 Spying on Integer#downto Integer.downto 50000: total 50000: ./misc/factorial.rb:6:in `factorial' via ./misc/factorial.rb:6:in `factorial'

installgem install zenprofile -v 1.3.1
Authors

Ryan Davis

7,845 total downloads 1,211 for this version
Owners

5a837592409354297424994e8d62f722

Gemfile
gem 'zenprofile', '~> 1.3.1'
Versions
  1. 1.3.2 April 7, 2012 (13 KB)
  2. 1.3.1 February 18, 2011 (13 KB)
  3. 1.3.0 September 2, 2010 (13 KB)
  4. 1.2.0 August 14, 2009 (10 KB)
  5. 1.1.0 June 23, 2009 (13 KB)
Show all versions (6 total)
Development Dependencies
  1. hoe >= 2.9.1
  2. minitest >= 2.0.2