Sha256: aa62fe7a7d8f16e6cac75b1a33cd818d0088055ed53542cf929cb4eaa7ec6385
Contents?: true
Size: 909 Bytes
Versions: 4
Compression:
Stored size: 909 Bytes
Contents
#!/usr/local/bin/ruby if ARGV.empty? $stderr.puts "Usage: profiler 'Person.expensive_method(10)' [times]" exit(1) end # Keep the expensive require out of the profile. $stderr.puts 'Loading Rails...' require File.dirname(__FILE__) + '/../config/environment' # Define a method to profile. if ARGV[1] and ARGV[1].to_i > 1 eval "def profile_me() #{ARGV[1]}.times { #{ARGV[0]} } end" else eval "def profile_me() #{ARGV[0]} end" end # Use the ruby-prof extension if available. Fall back to stdlib profiler. begin require 'prof' $stderr.puts 'Using the ruby-prof extension.' Prof.clock_mode = Prof::GETTIMEOFDAY Prof.start profile_me results = Prof.stop require 'rubyprof_ext' Prof.print_profile(results, $stderr) rescue LoadError $stderr.puts 'Using the standard Ruby profiler.' Profiler__.start_profile profile_me Profiler__.stop_profile Profiler__.print_profile($stderr) end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
rails-0.13.0 | bin/profiler |
rails-0.13.1 | bin/profiler |
rails_product-0.6 | bin/profiler |
rails_product-0.5 | bin/profiler |