diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2004-11-24 01:04:44 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2004-11-24 01:04:44 +0000 |
commit | db045dbbf60b53dbe013ef25554fd013baf88134 (patch) | |
tree | 257830e3c76458c8ff3d1329de83f32b23926028 /activerecord/benchmarks | |
download | rails-db045dbbf60b53dbe013ef25554fd013baf88134.tar.gz rails-db045dbbf60b53dbe013ef25554fd013baf88134.tar.bz2 rails-db045dbbf60b53dbe013ef25554fd013baf88134.zip |
Initial
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/benchmarks')
-rw-r--r-- | activerecord/benchmarks/benchmark.rb | 26 | ||||
-rw-r--r-- | activerecord/benchmarks/mysql_benchmark.rb | 19 |
2 files changed, 45 insertions, 0 deletions
diff --git a/activerecord/benchmarks/benchmark.rb b/activerecord/benchmarks/benchmark.rb new file mode 100644 index 0000000000..241d915208 --- /dev/null +++ b/activerecord/benchmarks/benchmark.rb @@ -0,0 +1,26 @@ +$:.unshift(File.dirname(__FILE__) + '/../lib') +if ARGV[2] + require 'rubygems' + require_gem 'activerecord', ARGV[2] +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}" diff --git a/activerecord/benchmarks/mysql_benchmark.rb b/activerecord/benchmarks/mysql_benchmark.rb new file mode 100644 index 0000000000..2f9e0e6999 --- /dev/null +++ b/activerecord/benchmarks/mysql_benchmark.rb @@ -0,0 +1,19 @@ +require 'mysql' + +conn = Mysql::real_connect("localhost", "root", "", "basecamp") + +require 'benchmark' + +require 'profile' if ARGV[1] == "profile" +RUNS = ARGV[0].to_i + +runtime = Benchmark::measure { + RUNS.times { + result = conn.query("SELECT * FROM posts LIMIT 100") + result.each_hash { |p| p["title"] } + } +} + +puts "Runs: #{RUNS}" +puts "Avg. runtime: #{runtime.real / RUNS}" +puts "Requests/second: #{RUNS / runtime.real}"
\ No newline at end of file |