Exemple #1
0
        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}");
        }
Exemple #2
0
        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();
        }