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
+