]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tetst/compression_zlib: add simple benchmark
authorPiotr Dałek <git@predictor.org.pl>
Sat, 17 Sep 2016 19:08:06 +0000 (21:08 +0200)
committerPiotr Dałek <git@predictor.org.pl>
Sat, 17 Sep 2016 21:38:41 +0000 (23:38 +0200)
Simple benchmark testing performance of 1024, 2048, 4096, 8192 and
16384 byte block compression and decompression.

Signed-off-by: Piotr Dałek <git@predictor.org.pl>
src/test/compressor/test_compression_zlib.cc

index 6eff6815cc4f8e3cdd2eaf2de3d1c3a772c77ad5..daec78ebdd200db408d7378994a03c6d4435111a 100644 (file)
@@ -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<const char*> args;
   argv_to_vec(argc, (const char **)argv, args);