public void PerformanceTest()
{
byte[] payload;
using (var memoryStream = new MemoryStream())
{
using (var resourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(
typeof(EmberPayloads), "BigPayload.ember"))
{
resourceStream.CopyTo(memoryStream);
}
payload = memoryStream.ToArray();
}
var stopwatch = new Stopwatch();
var converter = new EmberConverter(GlowTypes.Instance);
GC.Collect();
GC.WaitForPendingFinalizers();
for (int index = 0; index < 100; ++index)
{
using (var writer = XmlWriter.Create(TextWriter.Null))
{
stopwatch.Start();
using (var stream = new MemoryStream(payload))
using (var reader = new EmberReader(stream))
{
converter.ToXml(reader, writer);
}
stopwatch.Stop();
}
}
stopwatch.Start();
GC.Collect();
GC.WaitForPendingFinalizers();
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
}