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) | |
| download | hiredict-178024244d4040a4c760527bb58fcf5bdc962b02.tar.xz | |
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) { | 
