Commit cc30e368 authored by antirez's avatar antirez
Browse files

benchmarking with different number of LRANGE elements. Ability to change the...

benchmarking with different number of LRANGE elements. Ability to change the glue output buffer limit by #define
parent ccb5332c
......@@ -574,6 +574,24 @@ int main(int argc, char **argv) {
aeMain(config.el);
endBenchmark("LRANGE (first 300 elements)");
prepareForBenchmark();
c = createClient();
if (!c) exit(1);
c->obuf = sdscat(c->obuf,"LRANGE mylist 0 449\r\n");
prepareClientForReply(c,REPLY_MBULK);
createMissingClients(c);
aeMain(config.el);
endBenchmark("LRANGE (first 450 elements)");
prepareForBenchmark();
c = createClient();
if (!c) exit(1);
c->obuf = sdscat(c->obuf,"LRANGE mylist 0 599\r\n");
prepareClientForReply(c,REPLY_MBULK);
createMissingClients(c);
aeMain(config.el);
endBenchmark("LRANGE (first 600 elements)");
printf("\n");
} while(config.loop);
......
......@@ -1349,6 +1349,7 @@ static void freeClient(redisClient *c) {
zfree(c);
}
#define GLUEREPLY_UP_TO (1024)
static void glueReplyBuffersIfNeeded(redisClient *c) {
int totlen = 0;
listNode *ln;
......@@ -1360,10 +1361,10 @@ static void glueReplyBuffersIfNeeded(redisClient *c) {
totlen += sdslen(o->ptr);
/* This optimization makes more sense if we don't have to copy
* too much data */
if (totlen > 1024) return;
if (totlen > GLUEREPLY_UP_TO) return;
}
if (totlen > 0) {
char buf[1024];
char buf[GLUEREPLY_UP_TO];
int copylen = 0;
listRewind(c->reply);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment