test/profile/benchmark.rb in couchbase-jruby-client-0.1.1 vs test/profile/benchmark.rb in couchbase-jruby-client-0.1.2
- old
+ new
@@ -52,10 +52,11 @@
@k4 = "Medium" * 8,
@k5 = "Medium2" * 8,
@k6 = "Long3" * 40]
@cb = Couchbase.new
+ @cl = @cb.client
# Ensure it is JITed
2_000.times do
@cb.set(@k1, 'a')
@cb.get(@k1)
@@ -69,95 +70,103 @@
@cb.set @k2, @value
@cb.set @k3, @value
end
x.report('java set') do
- @cb.client.set(@k1, MultiJson.dump(@value)).get
- @cb.client.set(@k2, MultiJson.dump(@value)).get
- @cb.client.set(@k3, MultiJson.dump(@value)).get
+ @cl.set(@k1, MultiJson.dump(@value)).get
+ @cl.set(@k2, MultiJson.dump(@value)).get
+ @cl.set(@k3, MultiJson.dump(@value)).get
end
x.report('jruby get') do
@cb.get @k1
@cb.get @k2
@cb.get @k3
end
x.report('java get') do
- MultiJson.load @cb.client.get(@k1)
- MultiJson.load @cb.client.get(@k2)
- MultiJson.load @cb.client.get(@k3)
+ MultiJson.load @cl.get(@k1)
+ MultiJson.load @cl.get(@k2)
+ MultiJson.load @cl.get(@k3)
end
+ x.report('jruby get multi') do
+ @cb.get([@k1, @k2, @k3])
+ end
+
+ x.report('java get multi') do
+ @cl.getBulk([@k1, @k2, @k3])
+ end
+
x.report('jruby delete') do
@cb.set @k1, ''
@cb.set @k2, ''
@cb.set @k3, ''
@cb.delete(@k1)
@cb.delete(@k2)
@cb.delete(@k3)
end
x.report('java delete') do
- @cb.set @k1, ''
- @cb.set @k2, ''
- @cb.set @k3, ''
- @cb.client.delete @k1
- @cb.client.delete @k2
- @cb.client.delete @k3
+ @cl.set @k1, ''
+ @cl.set @k2, ''
+ @cl.set @k3, ''
+ @cl.delete @k1
+ @cl.delete @k2
+ @cl.delete @k3
end
x.report('jruby get missing') do
@cb.get(@k1, quiet: true)
@cb.get(@k2, quiet: true)
@cb.get(@k3, quiet: true)
end
x.report('java get missing') do
- @cb.client.get @k1
- @cb.client.get @k2
- @cb.client.get @k3
+ @cl.get @k1
+ @cl.get @k2
+ @cl.get @k3
end
- x.report('jruby async set') do
- @cb.run do
- 100.times do
- @cb.set @k1, @value
- @cb.set @k2, @value
- @cb.set @k3, @value
- end
- end
- end
+ # x.report('jruby async set') do
+ # @cb.run do
+ # 100.times do
+ # @cb.set @k1, @value
+ # @cb.set @k2, @value
+ # @cb.set @k3, @value
+ # end
+ # end
+ # end
- x.report('java async set') do
- futures = []
- 100.times do
- futures << @cb.client.set(@k1, MultiJson.dump(@value))
- futures << @cb.client.set(@k2, MultiJson.dump(@value))
- futures << @cb.client.set(@k3, MultiJson.dump(@value))
- end
- futures.each(&:get)
- end
+ # x.report('java async set') do
+ # futures = []
+ # 100.times do
+ # futures << @cb.client.set(@k1, MultiJson.dump(@value))
+ # futures << @cb.client.set(@k2, MultiJson.dump(@value))
+ # futures << @cb.client.set(@k3, MultiJson.dump(@value))
+ # end
+ # futures.each(&:get)
+ # end
- x.report('jruby async get') do
- @cb.run do
- 100.times do
- @cb.get @k1
- @cb.get @k2
- @cb.get @k3
- end
- end
- end
+ # x.report('jruby async get') do
+ # @cb.run do
+ # 100.times do
+ # @cb.get @k1
+ # @cb.get @k2
+ # @cb.get @k3
+ # end
+ # end
+ # end
- x.report('java async get') do
- futures = []
- 100.times do
- futures << @cb.client.asyncGet(@k1)
- futures << @cb.client.asyncGet(@k2)
- futures << @cb.client.asyncGet(@k3)
- end
- futures.each(&:get)
- end
+ # x.report('java async get') do
+ # futures = []
+ # 100.times do
+ # futures << @cb.client.asyncGet(@k1)
+ # futures << @cb.client.asyncGet(@k2)
+ # futures << @cb.client.asyncGet(@k3)
+ # end
+ # futures.each(&:get)
+ # end
end
@cb.disconnect
end