Sha256: c14b0db5a465129418c648b8b578f4f2b75bcbf721ad17149b8be878f00ed7f0
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
require_relative "helper" Ohm.flush class User < Ohm::Model attribute :fname attribute :lname attribute :bday attribute :gender attribute :city attribute :state attribute :country attribute :zip end create = lambda do |i| User.new(fname: "John#{i}", lname: "Doe#{i}", bday: Time.now.to_s, gender: "Male", city: "Los Angeles", state: "CA", country: "US", zip: "90210").save end 10.times(&create) require "benchmark" t1 = Benchmark.realtime do User.all.sort_by(:fname, order: "DESC ALPHA").each do |user| end end t2 = Benchmark.realtime do ids = User.key[:all].smembers ids.each do |id| User[id] end end test "pipelined approach should be 1.5 at least times faster for 10 records" do assert(t2 / t1 >= 1.5) end 90.times(&create) t1 = Benchmark.realtime do User.all.sort_by(:fname, order: "DESC ALPHA").each do |user| end end t2 = Benchmark.realtime do ids = User.key[:all].smembers ids.each do |id| User[id] end end test "the pipelined approach should be faster for 100 records" do assert(t2 > t1) end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ohm-1.0.0.rc1 | test/pipeline-performance.rb |
ohm-1.0.0.alpha2 | test/pipeline-performance.rb |