From 6d1321192acda6133408a0d8bbf6abc3abc818e5 Mon Sep 17 00:00:00 2001 From: Sam <sam.saffron@gmail.com> Date: Thu, 4 Dec 2014 09:30:44 +1100 Subject: [PATCH] micro bench template --- script/micro_bench.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 script/micro_bench.rb diff --git a/script/micro_bench.rb b/script/micro_bench.rb new file mode 100644 index 00000000000..b7caadf01e1 --- /dev/null +++ b/script/micro_bench.rb @@ -0,0 +1,27 @@ +require 'benchmark/ips' +require File.expand_path("../../config/environment", __FILE__) + +conn = ActiveRecord::Base.connection.raw_connection + +Benchmark.ips do |b| + b.report("simple") do + User.first.name + end + + b.report("simple with select") do + User.select("name").first.name + end + + b.report("pluck with first") do + User.pluck(:name).first + end + + b.report("pluck with limit") do + User.limit(1).pluck(:name).first + end + + b.report("raw") do + conn.exec("SELECT name FROM users LIMIT 1").getvalue(0,0) + end +end +