Skip to content

Instantly share code, notes, and snippets.

@n0ts
Created February 14, 2011 13:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save n0ts/825897 to your computer and use it in GitHub Desktop.
Save n0ts/825897 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'benchmark'
gem 'memcache-client', '=1.8.5'
require 'memcache'
TEST_DATA_NUM = 100
$memcached = MemCache::new('localhost:11211')
# ベンチマークを計測する
Benchmark.bm do |x|
x.report('memcache-client - set') {
a = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a
TEST_DATA_NUM.times {|i|
data = ''
((i + 1) * 10).times { data += a[rand(a.size)] }
if !$memcached.set((i + 1).to_s, data)
raise 'Could not set data to memcached server.'
end
}
}
x.report('memcache-client - get_multi 1 key') {
1.step(TEST_DATA_NUM, 1){|i|
if $memcached.get_multi(i.to_s) == nil
raise 'Could not get data from memcached - memcache-client - 1'
end
}
}
x.report('memcache-client - get_multi 5 keys') {
1.step(TEST_DATA_NUM, 5){|i|
keys = []
5.times {|ii| keys << (i + ii).to_s }
if $memcached.get_multi(keys) == nil
raise 'Could not get data from memcached - memcache-client - 5'
end
}
}
x.report('memcache-client - get_multi 10 keys') {
1.step(TEST_DATA_NUM, 10){|i|
keys = []
10.times {|ii| keys << (i + ii).to_s }
if $memcached.get_multi(keys) == nil
raise 'Could not get data from memcached - memcache-client - 10'
end
}
}
x.report('memcache-client - get_multi 100 keys') {
1.step(TEST_DATA_NUM, 100){|i|
keys = []
100.times {|ii| keys << (i + ii).to_s }
if $memcached.get_multi(keys) == nil
raise 'Could not get data from memcached - memcache-client - 100'
end
}
}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment