Title: [1130] trunk/activerecord-jdbc/bench: Add remaining benchmarks from JRUBY-2184 and tidy up.

Diff

Copied: trunk/activerecord-jdbc/bench/bench_attributes.rb (from rev 1127, trunk/activerecord-jdbc/bench/bench_find_all.rb) (0 => 1130)


--- trunk/activerecord-jdbc/bench/bench_attributes.rb	                        (rev 0)
+++ trunk/activerecord-jdbc/bench/bench_attributes.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -0,0 +1,13 @@
+require File.dirname(__FILE__) + '/bench_model'
+
+puts "Widget.find(:first).attributes"
+Benchmark.bm do |make|
+  TIMES.times do
+    w = Widget.find(:first)
+    make.report do
+      10_000.times do
+        w.attributes # rails makes copy for every call
+      end
+    end
+  end
+end

Copied: trunk/activerecord-jdbc/bench/bench_attributes_new.rb (from rev 1127, trunk/activerecord-jdbc/bench/bench_find_all.rb) (0 => 1130)


--- trunk/activerecord-jdbc/bench/bench_attributes_new.rb	                        (rev 0)
+++ trunk/activerecord-jdbc/bench/bench_attributes_new.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -0,0 +1,14 @@
+require File.dirname(__FILE__) + '/bench_model'
+
+puts "w = Widget.find(:first); Widget.new(w.attributes)"
+Benchmark.bm do |make|
+  TIMES.times do
+    w = Widget.find(:first)
+    params = w.attributes
+    make.report do
+      10_000.times do
+        Widget.new(params)
+      end
+    end
+  end
+end

Modified: trunk/activerecord-jdbc/bench/bench_find_all.rb (1129 => 1130)


--- trunk/activerecord-jdbc/bench/bench_find_all.rb	2008-08-29 12:06:56 UTC (rev 1129)
+++ trunk/activerecord-jdbc/bench/bench_find_all.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -1,6 +1,6 @@
 require File.dirname(__FILE__) + '/bench_model'
 
-TIMES = (ARGV[0] || 5).to_i
+puts "Widget.find(:all)"
 Benchmark.bm do |make|
   TIMES.times do
     make.report do

Modified: trunk/activerecord-jdbc/bench/bench_find_all_mt.rb (1129 => 1130)


--- trunk/activerecord-jdbc/bench/bench_find_all_mt.rb	2008-08-29 12:06:56 UTC (rev 1129)
+++ trunk/activerecord-jdbc/bench/bench_find_all_mt.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -1,6 +1,5 @@
 require File.dirname(__FILE__) + '/bench_model'
 
-TIMES = (ARGV[0] || 5).to_i
 Benchmark.bm do |make|
   TIMES.times do
     make.report do

Modified: trunk/activerecord-jdbc/bench/bench_model.rb (1129 => 1130)


--- trunk/activerecord-jdbc/bench/bench_model.rb	2008-08-29 12:06:56 UTC (rev 1129)
+++ trunk/activerecord-jdbc/bench/bench_model.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -1,4 +1,9 @@
 =begin
+
+* Use ENV['LOGGER'] (=severe|warn|info|debug) to turn on the logger
+* Pass N as arg 1 to script to set the number of iterations.
+* Add ActiveRecord to load path to use a specific (non-gem version) for testing (e.g., edge).
+
 +----------+------+-----+---------+-----------------+----------------+
 | Field       | Type         | Null | Key | Default | Extra          |
 +-------------+--------------+------+-----+---------+----------------+
@@ -33,8 +38,15 @@
   require 'active_record/connection_adapters/jdbcmysql_adapter'
 end
 
-require 'logger'
-ActiveRecord::Base.logger = Logger.new(File.expand_path(File.dirname(__FILE__) + "/debug.log"))
+if ENV['LOGGER']
+  require 'logger'
+  ActiveRecord::Base.logger = Logger.new(File.expand_path(File.dirname(__FILE__) + "/debug.log"))
+  lvl = %(DEBUG INFO WARN ERROR FATAL).detect {|s| s =~ /#{ENV['LOGGER'].upcase}/}
+  ActiveRecord::Base.logger.level = lvl && Logger.const_get(lvl) || Logger::INFO
+else
+  ActiveRecord::Base.logger = Logger.new($stdout)
+  ActiveRecord::Base.logger.level = Logger::UNKNOWN
+end
 
 ActiveRecord::Base.establish_connection(
   :adapter => "mysql",
@@ -58,5 +70,8 @@
 CreateWidgets.up unless ActiveRecord::Base.connection.tables.include?("widgets")
 
 class Widget < ActiveRecord::Base; end
+Widget.create!(:name => "bench", :description => "Bench record") unless Widget.count > 0
 
 ActiveRecord::Base.clear_active_connections!
+
+TIMES = (ARGV[0] || 5).to_i

Modified: trunk/activerecord-jdbc/bench/bench_new.rb (1129 => 1130)


--- trunk/activerecord-jdbc/bench/bench_new.rb	2008-08-29 12:06:56 UTC (rev 1129)
+++ trunk/activerecord-jdbc/bench/bench_new.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -1,9 +1,9 @@
 require File.dirname(__FILE__) + '/bench_model'
 
-TIMES = (ARGV[0] || 5).to_i
-Benchmark.bm(30) do |make|
+puts "Widget.new"
+Benchmark.bm do |make|
   TIMES.times do
-    make.report("Widget.new") do
+    make.report do
       100_000.times do
         Widget.new
       end

Modified: trunk/activerecord-jdbc/bench/bench_new_valid.rb (1129 => 1130)


--- trunk/activerecord-jdbc/bench/bench_new_valid.rb	2008-08-29 12:06:56 UTC (rev 1129)
+++ trunk/activerecord-jdbc/bench/bench_new_valid.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -1,9 +1,9 @@
 require File.dirname(__FILE__) + '/bench_model'
 
-TIMES = (ARGV[0] || 5).to_i
-Benchmark.bm(30) do |make|
+puts "Widget.new.valid?"
+Benchmark.bm do |make|
   TIMES.times do
-    make.report("Widget.new.valid?") do
+    make.report do
       100_000.times do
         Widget.new.valid?
       end

Modified: trunk/activerecord-jdbc/bench/bench_valid.rb (1129 => 1130)


--- trunk/activerecord-jdbc/bench/bench_valid.rb	2008-08-29 12:06:56 UTC (rev 1129)
+++ trunk/activerecord-jdbc/bench/bench_valid.rb	2008-08-29 18:24:56 UTC (rev 1130)
@@ -1,9 +1,9 @@
 require File.dirname(__FILE__) + '/bench_model'
 
-TIMES = (ARGV[0] || 5).to_i
-Benchmark.bm(30) do |make|
+puts "Widget.new.valid?"
+Benchmark.bm do |make|
   TIMES.times do
-    make.report("Widget.new.valid?") do
+    make.report do
       widget = Widget.new
       100_000.times do
         widget.valid?
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to