X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/59132e42125c43299c428e86f9107493e173883e..9eb3a7bc6ba041ee8f14427a68087459fc8e66f9:/src/redis-benchmark.c?ds=sidebyside diff --git a/src/redis-benchmark.c b/src/redis-benchmark.c index 19eb4915..d95bfd8e 100644 --- a/src/redis-benchmark.c +++ b/src/redis-benchmark.c @@ -201,7 +201,10 @@ static void readHandler(aeEventLoop *el, int fd, void *privdata, int mask) { if (config.requests_finished < config.requests) config.latency[config.requests_finished++] = c->latency; c->pending--; - if (c->pending == 0) clientDone(c); + if (c->pending == 0) { + clientDone(c); + break; + } } else { break; } @@ -263,6 +266,8 @@ static client createClient(char *cmd, size_t len) { fprintf(stderr,"%s: %s\n",config.hostsocket,c->context->errstr); exit(1); } + /* Suppress hiredis cleanup of unused buffers for max speed. */ + c->context->reader->maxbuf = 0; /* Queue N requests accordingly to the pipeline size. */ c->obuf = sdsempty(); for (j = 0; j < config.pipeline; j++)