Rubyの下でMemcachedの2つのクライアントの対比
コード:
テスト結果:
参照
Rehearsal ---------------------------------------------------
EM 4.350000 0.140000 4.490000 ( 4.532573)
memcache-client 34.970000 5.760000 40.730000 ( 42.958925)
----------------------------------------- total: 45.220000sec
user system total real
EM 12.030000 0.180000 12.210000 ( 12.330900)
memcache-client 57.510000 6.220000 63.730000 ( 65.870205)
EventmachineはMemcache-clientよりずっと速いですね.この反射モデルに基づく中間部品は潜在力をよく発掘することができます.
require "rubygems"
require 'eventmachine'
require "benchmark"
require "memcache"
cache_proc = proc{|cache,n|
proc{
n.times do |t|
cache.set "a", 'hello'
cache.set "b", 'hi'
cache.set "c", 'how are you?'
cache.set "d", ''
# => EM client's get() must require a block,nnd.
cache.get("a"){}
cache.get("missing"){}
cache.set("missing", 'abc')
cache.get("missing"){}
cache.delete("missing")
cache.get("missing"){}
end
}
}
# => memcache-client v1.7.0
cache_client = MemCache.new('localhost:10001')
# => Eventmachine Memcache Protocol
EM.run{
cache_em = EM::P::Memcache.connect 'localhost', 10001
Benchmark.bmbm do |x|
x.report('EM',&cache_proc.call(cache_em,10000))
x.report('memcache-client',&cache_proc.call(cache_client,10000))
end
}
テスト結果:
参照
Rehearsal ---------------------------------------------------
EM 4.350000 0.140000 4.490000 ( 4.532573)
memcache-client 34.970000 5.760000 40.730000 ( 42.958925)
----------------------------------------- total: 45.220000sec
user system total real
EM 12.030000 0.180000 12.210000 ( 12.330900)
memcache-client 57.510000 6.220000 63.730000 ( 65.870205)
EventmachineはMemcache-clientよりずっと速いですね.この反射モデルに基づく中間部品は潜在力をよく発掘することができます.