Я просто написал простой кусок кода, чтобы перенести тест Redis + gevent, чтобы увидеть, как async помогает перфорировать, и я был удивлен, обнаружив плохую производительность. вот мой код. Если вы избавитесь от первых двух строк, чтобы обезглавить этот код, вы увидите время "нормального выполнения".
На Ubuntu 12.04 LTS VM, я вижу время
без патча обезьяны - 54 сек. С патчем обезьяны - 61 секунд
Что-то не так с моим кодом/подходом? Здесь есть проблема?
#!/usr/bin/python
from gevent import monkey
monkey.patch_all()
import timeit
import redis
from redis.connection import UnixDomainSocketConnection
def UxDomainSocket():
pool = redis.ConnectionPool(connection_class=UnixDomainSocketConnection, path = '/var/redis/redis.sock')
r = redis.Redis(connection_pool = pool)
r.set("testsocket", 1)
for i in range(100):
r.incr('testsocket', 10)
r.get('testsocket')
r.delete('testsocket')
print timeit.Timer(stmt='UxDomainSocket()',
setup='from __main__ import UxDomainSocket').timeit(number=1000)