public void TestPerfomenceStrongTypeWithJsonNet() { IStrongStructure entity = new StrongStructure(); StrongTypeFormatter serializer = new StrongTypeFormatter(); var watch = Stopwatch.StartNew(); for (int i = 0; i < 1000; i++) { var buffer = serializer.Serialize(entity); serializer.Deserialize(buffer); } watch.Stop(); var jsonWatch = Stopwatch.StartNew(); for (int i = 0; i < 1000; i++) { var buffer = JsonConvert.SerializeObject(entity); var obj = JsonConvert.DeserializeObject(buffer); } jsonWatch.Stop(); var message = $"StrongTypeFormatter {watch.ElapsedMilliseconds} ms\r\nJsonConvert {jsonWatch.ElapsedMilliseconds} ms"; Assert.IsTrue(watch.ElapsedTicks < jsonWatch.ElapsedTicks, message); TestContext.WriteLine(message); }
public void TestPerfomenceStrongType() { IStrongStructure entity = new StrongStructure(); StrongTypeFormatter serializer = new StrongTypeFormatter(); var watch = Stopwatch.StartNew(); for (int i = 0; i < 1000; i++) { var buffer = serializer.Serialize(entity); serializer.Deserialize(buffer); } watch.Stop(); BinaryFormatter binary = new BinaryFormatter(); var binaryWatch = Stopwatch.StartNew(); for (int i = 0; i < 1000; i++) { using (MemoryStream mStream = new MemoryStream()) { binary.Serialize(mStream, entity); mStream.Position = 0; var obj = binary.Deserialize(mStream); } } binaryWatch.Stop(); var message = $"StrongTypeFormatter {watch.ElapsedMilliseconds} ms\r\nBinaryFormatter {binaryWatch.ElapsedMilliseconds} ms"; Assert.IsTrue(watch.ElapsedTicks < binaryWatch.ElapsedTicks, message); TestContext.WriteLine(message); }
public void TestPerfomenceStrongTypeWithMsgPack() { var entity = new StrongStructure(); var serializer = new DynamicFormatter <StrongStructure>(); { var buffer = serializer.Serialize(entity); var result = serializer.Deserialize(buffer); } var watch = Stopwatch.StartNew(); for (int i = 0; i < 1000; i++) { var buffer = serializer.Serialize(entity); var result = serializer.Deserialize(buffer); } watch.Stop(); long ms = watch.ElapsedMilliseconds; { var bin = MessagePackSerializer.Serialize(entity); // Okay to deserialize immutable obejct var point = MessagePackSerializer.Deserialize <StrongStructure>(bin); } var msgPackWatch = Stopwatch.StartNew(); for (int i = 0; i < 1000; i++) { var bin = MessagePackSerializer.Serialize(entity); // Okay to deserialize immutable obejct var point = MessagePackSerializer.Deserialize <StrongStructure>(bin); } msgPackWatch.Stop(); var message = $"StrongTypeFormatter {watch.ElapsedMilliseconds} ms\r\nMessagePackSerializer {msgPackWatch.ElapsedMilliseconds} ms"; Assert.IsTrue(watch.ElapsedTicks < msgPackWatch.ElapsedTicks, message); TestContext.WriteLine(message); }
public void AdebugTest() { var entity = new StrongStructure(); var serializer = new DynamicFormatter <StrongStructure>(); var watch = Stopwatch.StartNew(); for (int i = 0; i < 50; i++) { var buffer = serializer.Serialize(entity); var result = serializer.Deserialize(buffer); } watch.Stop(); long ms = watch.ElapsedMilliseconds; }
public void TestPerfomenceStrongTypeWithProtoBuf() { var entity = new StrongStructure(); var serializer = new DynamicFormatter <StrongStructure>(); var watch = Stopwatch.StartNew(); for (int i = 0; i < 1000; i++) { var buffer = serializer.Serialize(entity); serializer.Deserialize(buffer); } watch.Stop(); long ms = watch.ElapsedMilliseconds; var protoBuf = Stopwatch.StartNew(); { var buffer = ProtoBufHelper.ProtoSerialize(entity); var obj = ProtoBufHelper.ProtoDeserialize <StrongStructure>(buffer); } for (int i = 0; i < 1000; i++) { var buffer = ProtoBufHelper.ProtoSerialize(entity); var obj = ProtoBufHelper.ProtoDeserialize <StrongStructure>(buffer); } protoBuf.Stop(); var message = $"StrongTypeFormatter {watch.ElapsedMilliseconds} ms\r\nprotoBuf {protoBuf.ElapsedMilliseconds} ms"; Assert.IsTrue(watch.ElapsedTicks < protoBuf.ElapsedTicks, message); TestContext.WriteLine(message); }