2007-01-22 14:43:50 +01:00
|
|
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
|
|
|
if ARGV[2]
|
|
|
|
require 'rubygems'
|
2007-02-09 09:04:31 +01:00
|
|
|
gem 'activerecord', ARGV[2]
|
2007-01-22 14:43:50 +01:00
|
|
|
else
|
|
|
|
require 'active_record'
|
|
|
|
end
|
|
|
|
|
|
|
|
ActiveRecord::Base.establish_connection(:adapter => "mysql", :database => "basecamp")
|
|
|
|
|
|
|
|
class Post < ActiveRecord::Base; end
|
|
|
|
|
|
|
|
require 'benchmark'
|
|
|
|
|
|
|
|
RUNS = ARGV[0].to_i
|
|
|
|
if ARGV[1] == "profile" then require 'profile' end
|
|
|
|
|
|
|
|
runtime = Benchmark::measure {
|
|
|
|
RUNS.times {
|
|
|
|
Post.find_all(nil,nil,100).each { |p| p.title }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
puts "Runs: #{RUNS}"
|
|
|
|
puts "Avg. runtime: #{runtime.real / RUNS}"
|
|
|
|
puts "Requests/second: #{RUNS / runtime.real}"
|