Add pipelined throughput tests
This commit is contained in:
parent
aeeea0076d
commit
b4f85484ea
31
test.c
31
test.c
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue