示例#1
0
        public void CompressionCompare()
        {
            var data = RandInt(16000, 0, 2047);
            var ser  = new Serializer <int[]>();
            var c1   = ser.Serialize(data);

            var gzipInt = new GZipCompression <int[]>();
            var c2      = gzipInt.Serialize(data);

            var proto    = new ProtobufSerializer <int[]>();
            var gzipByte = new GZipCompression <byte[]>();
            var c3       = gzipByte.Serialize(proto.Serialize(data));

            var protogzip = new ProtoBufGZipCompression <int[]>();
            var c4        = protogzip.Serialize(data);

            var protozlib = new ProtoBufZlibCompression <int[]>();
            var c5        = protozlib.Serialize(data);

            var zlib = new ZlibCompression <int[]>();
            var c6   = zlib.Serialize(data);

            var d1 = ser.Deserialize(c1);
            var d2 = gzipInt.Deserialize(c2);
            var d3 = proto.Deserialize(gzipByte.Deserialize(c3));
            var d4 = protogzip.Deserialize(c4);
            var d5 = protozlib.Deserialize(c5);
            var d6 = zlib.Deserialize(c6);

            AssertSame(d1, d2);
            AssertSame(d3, d4);
            AssertSame(d5, d6);
            AssertSame(d1, d3);
            AssertSame(d1, d5);
        }
示例#2
0
        public void CompressIncreasingRedundanceTest()
        {
            const int compressions = 1024;
            var       ser          = new ProtoBufZlibCompression <double[]>();
            var       result       = new byte[compressions][];

            for (var i = 0; i < result.Length; i++)
            {
                result[i] = ser.Serialize(RandDouble(8193, i + 1));
            }
        }