diff options
| -rw-r--r-- | test.c | 31 | 
1 files changed, 29 insertions, 2 deletions
| @@ -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) { | 
