From 7f854ffb9f69aebb7627eb0be02910d866ad1e24 Mon Sep 17 00:00:00 2001 From: BohuTANG Date: Sun, 17 May 2015 11:17:18 +0800 Subject: [PATCH] add ZLIB/QUICKLZ/LZMA compress ratio and performance to test --- ft/tests/compress-test.cc | 86 ++++++++++++++++++++++++++++++--------- 1 file changed, 66 insertions(+), 20 deletions(-) diff --git a/ft/tests/compress-test.cc b/ft/tests/compress-test.cc index 7f7a97274..50b68f5dc 100644 --- a/ft/tests/compress-test.cc +++ b/ft/tests/compress-test.cc @@ -90,10 +90,15 @@ PATENT RIGHTS GRANT: #ident "Copyright (c) 2010-2013 Tokutek Inc. All rights reserved." #ident "$Id$" +#include #include "test.h" #include "serialize/compress.h" -static void test_compress_buf_method (unsigned char *buf, int i, enum toku_compression_method m) { +static float tdiff (struct timeval *start, struct timeval *end) { + return (end->tv_sec-start->tv_sec) + 1e-6*(end->tv_usec - start->tv_usec); +} + +static uLongf test_compress_buf_method (unsigned char *buf, int i, enum toku_compression_method m) { int bound = toku_compress_bound(m, i); unsigned char *MALLOC_N(bound, cb); uLongf actual_clen = bound; @@ -103,41 +108,82 @@ static void test_compress_buf_method (unsigned char *buf, int i, enum toku_compr assert(0==memcmp(ubuf, buf, i)); toku_free(ubuf); toku_free(cb); + return actual_clen; } -static void test_compress_buf (unsigned char *buf, int i) { - test_compress_buf_method(buf, i, TOKU_ZLIB_METHOD); - test_compress_buf_method(buf, i, TOKU_ZLIB_WITHOUT_CHECKSUM_METHOD); - test_compress_buf_method(buf, i, TOKU_QUICKLZ_METHOD); - test_compress_buf_method(buf, i, TOKU_LZMA_METHOD); -} - -static void test_compress_i (int i) { +static void test_compress_i (int i, enum toku_compression_method m, uLongf *compress_size, uLongf *uncompress_size) { unsigned char *MALLOC_N(i, b); for (int j=0; j