Example #1
0
        public void Invoke()
        {
            var graph = DataBlock.Filled();

            var watch = new Stopwatch();

            watch.Start();
            Console.WriteLine("Initializing ProtoBuf.NET serialization test...");
            var protobuf = new ProtocolBuffer.ProtocolBufferBinaryConverter <DataBlock>();
            var length   = protobuf.Convert(graph).Length;

            Console.WriteLine("Initialization time: " + watch.Elapsed);
            Console.WriteLine("MinSize of data: " + length);
            watch.Restart();

            for (var i = 0; i < 10000; i++)
            {
                protobuf.Convert(graph);
            }

            Console.WriteLine("Serialization time: " + watch.Elapsed);
            watch.Restart();

            Parallel.For(0, 10000, new ParallelOptions {
                MaxDegreeOfParallelism = 4
            }, (idx) => {
                protobuf.Convert(graph);
            });

            Console.WriteLine("Parallel serialization time: " + watch.Elapsed);

            Console.WriteLine("Enigma serialization test completed");
        }
Example #2
0
        public void WriteDynamicTravelTest()
        {
            var bytes = _context.Pack(DataBlock.Filled());

            Assert.NotNull(bytes);
            Assert.True(bytes.Length > 0);
            var hex = "0x" + string.Join("", bytes.Select(b => b.ToString("X")));

            Assert.NotNull(hex);
            var expected = BinarySerializationTestContext.GetFilledDataBlockHexString();

            Assert.Equal(expected, hex);
        }
        public static byte[] GetFilledDataBlockBlob()
        {
            var stream = new MemoryStream();

            using (var buffer = new BinaryWriteBuffer(1024, stream)) {
                var visitor   = new PackedDataWriteVisitor(buffer);
                var traveller = DataBlockHardCodedTraveller.Create();
                traveller.Travel(visitor, DataBlock.Filled());
            }

            var bytes = stream.ToArray();

            return(bytes);
        }
        public void ReadHardCodedTravelTest()
        {
            var bytes   = BinarySerializationTestContext.GetFilledDataBlockBlob();
            var stream  = new MemoryStream(bytes);
            var visitor = new PackedDataReadVisitor(stream);

            var traveller = DataBlockHardCodedTraveller.Create();

            var graph = new DataBlock();

            traveller.Travel(visitor, graph);

            var expected = DataBlock.Filled();

            graph.AssertEqualTo(expected);
        }
        public void ReadDynamicTravelTest()
        {
            var bytes   = BinarySerializationTestContext.GetFilledDataBlockBlob();
            var stream  = new MemoryStream(bytes);
            var visitor = new PackedDataReadVisitor(stream);

            var context   = new DynamicTravellerContext();
            var traveller = context.GetInstance <DataBlock>();

            var graph = new DataBlock();

            traveller.Travel(visitor, graph);

            var expected = DataBlock.Filled();

            graph.AssertEqualTo(expected);
        }
Example #6
0
        public void Invoke()
        {
            var graph = DataBlock.Filled();

            var watch = new Stopwatch();

            watch.Start();
            Console.WriteLine("Initializing enigma serialization test...");

            long length;
            var  serializer = new PackedDataSerializer <DataBlock>();

            using (var stream = new MemoryStream()) {
                serializer.Serialize(stream, graph);
                length = stream.Length;
            }

            Console.WriteLine("Initialization time: " + watch.Elapsed);
            Console.WriteLine("MinSize of data: " + length);
            watch.Restart();

            for (var i = 0; i < 10000; i++)
            {
                serializer.Serialize(new MemoryStream(), graph);
            }

            Console.WriteLine("Serialization time: " + watch.Elapsed);
            watch.Restart();

            Parallel.For(0, 10000, new ParallelOptions {
                MaxDegreeOfParallelism = 4
            }, (idx) => {
                serializer.Serialize(new MemoryStream(), graph);
            });

            Console.WriteLine("Parallel serialization time: " + watch.Elapsed);

            Console.WriteLine("Enigma serialization test completed");
        }