Commit b4f85484 authored by Pieter Noordhuis's avatar Pieter Noordhuis
Browse files

Add pipelined throughput tests

parent aeeea007
......@@ -354,7 +354,7 @@ static void test_throughput(void) {
t2 = usec();
for (i = 0; i < 1000; i++) freeReplyObject(replies[i]);
free(replies);
printf("\t(1000x PING: %.2fs)\n", (t2-t1)/1000000.0);
printf("\t(1000x PING: %.3fs)\n", (t2-t1)/1000000.0);
replies = malloc(sizeof(redisReply*)*1000);
t1 = usec();
......@@ -366,7 +366,34 @@ static void test_throughput(void) {
t2 = usec();
for (i = 0; i < 1000; i++) freeReplyObject(replies[i]);
free(replies);
printf("\t(1000x LRANGE with 500 elements: %.2fs)\n", (t2-t1)/1000000.0);
printf("\t(1000x LRANGE with 500 elements: %.3fs)\n", (t2-t1)/1000000.0);
replies = malloc(sizeof(redisReply*)*10000);
for (i = 0; i < 10000; i++)
redisAppendCommand(c,"PING");
t1 = usec();
for (i = 0; i < 10000; i++) {
assert(redisGetReply(c, (void*)&replies[i]) == REDIS_OK);
assert(replies[i] != NULL && replies[i]->type == REDIS_REPLY_STATUS);
}
t2 = usec();
for (i = 0; i < 10000; i++) freeReplyObject(replies[i]);
free(replies);
printf("\t(10000x PING (pipelined): %.3fs)\n", (t2-t1)/1000000.0);
replies = malloc(sizeof(redisReply*)*10000);
for (i = 0; i < 10000; i++)
redisAppendCommand(c,"LRANGE mylist 0 499");
t1 = usec();
for (i = 0; i < 10000; i++) {
assert(redisGetReply(c, (void*)&replies[i]) == REDIS_OK);
assert(replies[i] != NULL && replies[i]->type == REDIS_REPLY_ARRAY);
assert(replies[i] != NULL && replies[i]->elements == 500);
}
t2 = usec();
for (i = 0; i < 10000; i++) freeReplyObject(replies[i]);
free(replies);
printf("\t(10000x LRANGE with 500 elements: %.3fs)\n", (t2-t1)/1000000.0);
}
static void cleanup(void) {
......
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