Renci.SshNet.Tests.SshMessageFactoryTest.Performance_DisableNonKeyExchangeMessages C# (CSharp) Method

Performance_DisableNonKeyExchangeMessages() private method

private Performance_DisableNonKeyExchangeMessages ( ) : void
return void
        public void Performance_DisableNonKeyExchangeMessages()
        {
            const int runCount = 1000000;

            _sshMessageFactory.EnableAndActivateMessage("SSH_MSG_USERAUTH_BANNER");
            _sshMessageFactory.EnableAndActivateMessage("SSH_MSG_DEBUG");
            _sshMessageFactory.EnableAndActivateMessage("SSH_MSG_UNIMPLEMENTED");
            _sshMessageFactory.EnableAndActivateMessage("SSH_MSG_SERVICE_ACCEPT");

            _sshMessageFactoryOriginal.EnableAndActivateMessage("SSH_MSG_USERAUTH_BANNER");
            _sshMessageFactoryOriginal.EnableAndActivateMessage("SSH_MSG_DEBUG");
            _sshMessageFactoryOriginal.EnableAndActivateMessage("SSH_MSG_UNIMPLEMENTED");
            _sshMessageFactoryOriginal.EnableAndActivateMessage("SSH_MSG_SERVICE_ACCEPT");

            // warm-up
            for (var i = 0; i < 3; i++)
            {
                _sshMessageFactory.DisableNonKeyExchangeMessages();
                _sshMessageFactory.EnableActivatedMessages();

                _sshMessageFactoryOriginal.DisableNonKeyExchangeMessages();
                _sshMessageFactoryOriginal.EnableActivatedMessages();
            }

            //Console.WriteLine("Starting test");

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            var stopwatch = new Stopwatch();
            stopwatch.Start();

            for (var i = 0; i < runCount; i++)
            {
                _sshMessageFactory.DisableNonKeyExchangeMessages();
                _sshMessageFactory.EnableActivatedMessages();
            }

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            stopwatch.Stop();

            Console.WriteLine(stopwatch.ElapsedMilliseconds);

            stopwatch.Reset();
            stopwatch.Start();

            for (var i = 0; i < runCount; i++)
            {
                _sshMessageFactoryOriginal.DisableNonKeyExchangeMessages();
                _sshMessageFactoryOriginal.EnableActivatedMessages();
            }

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            stopwatch.Stop();

            Console.WriteLine(stopwatch.ElapsedMilliseconds);
        }
SshMessageFactoryTest