public void Performance_DisableAndDeactivateMessage()
{
const int runCount = 1000000;
const string messageName = "SSH_MSG_CHANNEL_CLOSE";
// warm-up
for (var i = 0; i < 3; i++)
{
_sshMessageFactory.DisableAndDeactivateMessage(messageName);
_sshMessageFactoryOriginal.DisableAndDeactivateMessage(messageName);
}
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
var stopwatch = new Stopwatch();
stopwatch.Start();
for (var i = 0; i < runCount; i++)
_sshMessageFactory.DisableAndDeactivateMessage(messageName);
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
stopwatch.Reset();
stopwatch.Start();
for (var i = 0; i < runCount; i++)
_sshMessageFactoryOriginal.DisableAndDeactivateMessage(messageName);
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
}