Categories: None [Edit]
zenprofile
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'
Total
Ranking: 46,752 of 183,107
Downloads: 22,056
Daily
Ranking: 53,556 of 183,092
Downloads: 1
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
Rank | Downloads | Name |
---|
Depends on
Rank | Downloads | Name |
---|---|---|
19 | 895,194,587 | minitest |
210 | 167,990,555 | rdoc |
1,902 | 10,977,779 | ZenTest |
2,086 | 8,574,300 | hoe |
2,218 | 7,620,603 | RubyInline |
55,761 | 17,359 | event_hook |
Owners
# | Gravatar | Handle |
---|---|---|
1 | zenspider |