import time def bench(fn): begin = time.time() fn() return time.time() - begin n = 100000 def setwork(cl): for i in range(0, n): cl.set(str(i), i) def getwork(cl): for i in range(0, n): cl.get(str(i)) def set_and_get(module): cl = module.Client(['127.0.0.1:11211']) content = (("set",setwork), ("get", getwork)) for item in content: time = bench(lambda :item[1](cl)) print item[0] + ":" + str(n/time) + " qps." import cmemcached print "cmemcached:" set_and_get(cmemcached) print "pylibmc:" import pylibmc set_and_get(pylibmc) import memcache print "memcache:" set_and_get(memcache)