diff options
author | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2011-04-19 23:03:29 +0200 |
---|---|---|
committer | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2011-04-19 23:03:29 +0200 |
commit | 178024244d4040a4c760527bb58fcf5bdc962b02 (patch) | |
tree | 611a3c47503e791b55dba8850b220563081fa77f | |
parent | cd7063e85b3f7b32f7e37585615d4180a1188cba (diff) |
Use variable for throughput test iteration count
-rw-r--r-- | test.c | 40 |
1 files changed, 21 insertions, 19 deletions
@@ -336,7 +336,7 @@ static void test_reply_reader(void) { } static void test_throughput(void) { - int i; + int i, num; long long t1, t2; redisContext *c = blocking_context; redisReply **replies; @@ -345,55 +345,57 @@ static void test_throughput(void) { for (i = 0; i < 500; i++) freeReplyObject(redisCommand(c,"LPUSH mylist foo")); - replies = malloc(sizeof(redisReply*)*1000); + num = 1000; + replies = malloc(sizeof(redisReply*)*num); t1 = usec(); - for (i = 0; i < 1000; i++) { + for (i = 0; i < num; i++) { replies[i] = redisCommand(c,"PING"); assert(replies[i] != NULL && replies[i]->type == REDIS_REPLY_STATUS); } t2 = usec(); - for (i = 0; i < 1000; i++) freeReplyObject(replies[i]); + for (i = 0; i < num; i++) freeReplyObject(replies[i]); free(replies); - printf("\t(1000x PING: %.3fs)\n", (t2-t1)/1000000.0); + printf("\t(%dx PING: %.3fs)\n", num, (t2-t1)/1000000.0); - replies = malloc(sizeof(redisReply*)*1000); + replies = malloc(sizeof(redisReply*)*num); t1 = usec(); - for (i = 0; i < 1000; i++) { + for (i = 0; i < num; i++) { replies[i] = redisCommand(c,"LRANGE mylist 0 499"); assert(replies[i] != NULL && replies[i]->type == REDIS_REPLY_ARRAY); assert(replies[i] != NULL && replies[i]->elements == 500); } t2 = usec(); - for (i = 0; i < 1000; i++) freeReplyObject(replies[i]); + for (i = 0; i < num; i++) freeReplyObject(replies[i]); free(replies); - printf("\t(1000x LRANGE with 500 elements: %.3fs)\n", (t2-t1)/1000000.0); + printf("\t(%dx LRANGE with 500 elements: %.3fs)\n", num, (t2-t1)/1000000.0); - replies = malloc(sizeof(redisReply*)*10000); - for (i = 0; i < 10000; i++) + num = 10000; + replies = malloc(sizeof(redisReply*)*num); + for (i = 0; i < num; i++) redisAppendCommand(c,"PING"); t1 = usec(); - for (i = 0; i < 10000; i++) { + for (i = 0; i < num; 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]); + for (i = 0; i < num; i++) freeReplyObject(replies[i]); free(replies); - printf("\t(10000x PING (pipelined): %.3fs)\n", (t2-t1)/1000000.0); + printf("\t(%dx PING (pipelined): %.3fs)\n", num, (t2-t1)/1000000.0); - replies = malloc(sizeof(redisReply*)*10000); - for (i = 0; i < 10000; i++) + replies = malloc(sizeof(redisReply*)*num); + for (i = 0; i < num; i++) redisAppendCommand(c,"LRANGE mylist 0 499"); t1 = usec(); - for (i = 0; i < 10000; i++) { + for (i = 0; i < num; 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]); + for (i = 0; i < num; i++) freeReplyObject(replies[i]); free(replies); - printf("\t(10000x LRANGE with 500 elements: %.3fs)\n", (t2-t1)/1000000.0); + printf("\t(%dx LRANGE with 500 elements (pipelined): %.3fs)\n", num, (t2-t1)/1000000.0); } static void cleanup(void) { |