git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2012-02-23 23:35:21 +00:00
Родитель b52b1f6a7d
Коммит 455c23fa01
1 изменённых файлов: 18 добавлений и 18 удалений

Просмотреть файл

@ -1,51 +1,51 @@
# Profile provides a way to Profile your Ruby application. # Profile provides a way to Profile your Ruby application.
# #
# Profiling your program is a way of determining which methods are called and # Profiling your program is a way of determining which methods are called and
# how long each method takes to complete. This way you can detect which # how long each method takes to complete. This way you can detect which
# methods are possible bottlenecks. # methods are possible bottlenecks.
# #
# Profiling your program will slow down your execution time considerably, # Profiling your program will slow down your execution time considerably,
# so activate it only when you need it. Don't confuse benchmarking with # so activate it only when you need it. Don't confuse benchmarking with
# profiling. # profiling.
# #
# There are two ways to activate Profiling: # There are two ways to activate Profiling:
# #
# == Command line # == Command line
# #
# Run your Ruby script with <code>-rprofile</code>: # Run your Ruby script with <code>-rprofile</code>:
# #
# ruby -rprofile example.rb # ruby -rprofile example.rb
# #
# If you're profiling an executable in your <code>$PATH</code> you can use # If you're profiling an executable in your <code>$PATH</code> you can use
# <code>ruby -S</code>: # <code>ruby -S</code>:
# #
# ruby -rprofile -S some_executable # ruby -rprofile -S some_executable
# #
# == From code # == From code
# #
# Just require 'profile': # Just require 'profile':
# #
# require 'profile' # require 'profile'
# #
# def slow_method # def slow_method
# 5000.times do # 5000.times do
# 9999999999999999*999999999 # 9999999999999999*999999999
# end # end
# end # end
# #
# def fast_method # def fast_method
# 5000.times do # 5000.times do
# 9999999999999999+999999999 # 9999999999999999+999999999
# end # end
# end # end
# #
# slow_method # slow_method
# fast_method # fast_method
# #
# The output in both cases is a report when the execution is over: # The output in both cases is a report when the execution is over:
# #
# ruby -rprofile example.rb # ruby -rprofile example.rb
# #
# % cumulative self self total # % cumulative self self total
# time seconds seconds calls ms/call ms/call name # time seconds seconds calls ms/call ms/call name
# 68.42 0.13 0.13 2 65.00 95.00 Integer#times # 68.42 0.13 0.13 2 65.00 95.00 Integer#times