From: Piotr Dałek Date: Sat, 17 Sep 2016 19:08:06 +0000 (+0200) Subject: tetst/compression_zlib: add simple benchmark X-Git-Tag: v11.0.1~140^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a32a1670e5e62828b5d4ddafc3acfcdf539df426;p=ceph.git tetst/compression_zlib: add simple benchmark Simple benchmark testing performance of 1024, 2048, 4096, 8192 and 16384 byte block compression and decompression. Signed-off-by: Piotr Dałek --- diff --git a/src/test/compressor/test_compression_zlib.cc b/src/test/compressor/test_compression_zlib.cc index 6eff6815cc4f..daec78ebdd20 100644 --- a/src/test/compressor/test_compression_zlib.cc +++ b/src/test/compressor/test_compression_zlib.cc @@ -93,8 +93,6 @@ TEST(ZlibCompressor, compress_decompress_chunk) bufferlist exp; exp.append("This is test text1234567890"); EXPECT_TRUE(exp.contents_equal(after)); - - } TEST(ZlibCompressor, compress_decompress_isal) @@ -177,6 +175,92 @@ TEST(ZlibCompressor, zlib_isal_compatibility) EXPECT_TRUE(exp.contents_equal(after)); } +void test_compress(size_t size) +{ + ZlibCompressor sp(false); + EXPECT_STREQ(sp.get_type().c_str(), "zlib"); + char* data = (char*) malloc(size); + for (size_t t = 0; t < size; t++) { + data[t] = (t & 0xff) | (t >> 8); + } + bufferlist in; + in.append(data, size); + for (size_t t = 0; t < 100000; t++) { + bufferlist out; + int res = sp.compress(in, out); + EXPECT_EQ(res, 0); + } +} + +void test_decompress(size_t size) +{ + ZlibCompressor sp(false); + EXPECT_STREQ(sp.get_type().c_str(), "zlib"); + char* data = (char*) malloc(size); + for (size_t t = 0; t < size; t++) { + data[t] = (t & 0xff) | (t >> 8); + } + bufferlist in, out; + in.append(data, size); + int res = sp.compress(in, out); + EXPECT_EQ(res, 0); + for (size_t t = 0; t < 100000; t++) { + bufferlist out_dec; + int res = sp.decompress(out, out_dec); + EXPECT_EQ(res, 0); + } +} + +TEST(ZlibCompressor, compress_1024) +{ + test_compress(1024); +} + +TEST(ZlibCompressor, compress_2048) +{ + test_compress(2048); +} + +TEST(ZlibCompressor, compress_4096) +{ + test_compress(4096); +} + +TEST(ZlibCompressor, compress_8192) +{ + test_compress(8192); +} + +TEST(ZlibCompressor, compress_16384) +{ + test_compress(16384); +} + +TEST(Zlibdecompressor, decompress_1024) +{ + test_decompress(1024); +} + +TEST(Zlibdecompressor, decompress_2048) +{ + test_decompress(2048); +} + +TEST(Zlibdecompressor, decompress_4096) +{ + test_decompress(4096); +} + +TEST(Zlibdecompressor, decompress_8192) +{ + test_decompress(8192); +} + +TEST(Zlibdecompressor, decompress_16384) +{ + test_decompress(16384); +} + int main(int argc, char **argv) { vector args; argv_to_vec(argc, (const char **)argv, args);