private static void BenchMarkMethod(SerializerService serializer) { Stopwatch watch = new Stopwatch(); Span <byte> buffer = new Span <byte>(new byte[10000]); int offset = 0; watch.Start(); for (int i = 0; i < 5000000; i++) { AuthPacketBaseTest packet = serializer.Read <AuthPacketBaseTest>(realWorldBytes, 0); serializer.Write(packet, buffer, ref offset); offset = 0; } watch.Stop(); Console.WriteLine($"MS: {watch.ElapsedMilliseconds}"); }
static void Main(string[] args) { realWorldBytes = realWorldBytes .Take(1) .Concat(new byte[5000]) .Concat(realWorldBytes.Skip(1)) .ToArray(); Span <byte> buffer = new Span <byte>(new byte[10000]); int offset = 0; SerializerService serializer = new SerializerService(); serializer.RegisterPolymorphicSerializer <AuthPacketBaseTest, AuthPacketBaseTest_AutoGeneratedTemplateSerializerStrategy>(); //JIT AuthPacketBaseTest packet = serializer.Read <AuthPacketBaseTest>(realWorldBytes, 0); serializer.Write(packet, buffer, ref offset); BenchMarkMethod(serializer); Console.ReadKey(); }