Add benchmark

This commit is contained in:
Flamefire committed 2014-10-25 00:37:09 +02:00
1 parent b044efe50e
commit 2452306e6c
1 file changed
+29 -10
+29 -10
View File
@@ -17,10 +17,12 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Serialization; using System.Xml.Serialization;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw; using VocaluxeLib.Draw;
@@ -175,17 +177,34 @@ namespace Vocaluxe.Base
private static void _TestNewLoad(string path) private static void _TestNewLoad(string path)
{ {
SThemeCover theme; SThemeCover themeCover;
using (var stream = new FileStream(path, FileMode.Open)) using (var stream = new FileStream(path, FileMode.Open))
theme = CMyXmlDeserializer.Deserialize<SThemeCover>(stream); themeCover = CMyXmlDeserializer.Deserialize<SThemeCover>(stream);
string cover = theme.Info.Author; string cover = themeCover.Info.Author;
STheme themescreen; STheme theme = new STheme();
using (var stream = new StreamReader(Path.Combine(CBase.Themes.GetThemeScreensPath(-1), "ScreenMain.xml"))) STheme theme2 = new STheme();
themescreen = CMyXmlDeserializer.Deserialize<STheme>(stream); Stopwatch watch = new Stopwatch();
TextReader textReader = new StreamReader(Path.Combine(CBase.Themes.GetThemeScreensPath(-1), "ScreenMain.xml")); watch.Start();
XmlSerializer deserializer = new XmlSerializer(typeof(STheme)); for (int i = 0; i < 10000; i++)
STheme theme2 = (STheme)deserializer.Deserialize(textReader); {
Foo(theme2, themescreen); using (var stream = new StreamReader(Path.Combine(CBase.Themes.GetThemeScreensPath(-1), "ScreenMain.xml")))
theme = CMyXmlDeserializer.Deserialize<STheme>(stream);
}
watch.Stop();
Stopwatch watch2 = new Stopwatch();
watch2.Start();
for (int i = 0; i < 100; i++)
{
using (TextReader textReader = new StreamReader(Path.Combine(CBase.Themes.GetThemeScreensPath(-1), "ScreenMain.xml")))
{
XmlSerializer deserializer = new XmlSerializer(typeof(STheme));
theme2 = (STheme)deserializer.Deserialize(textReader);
}
}
watch2.Stop();
Foo(theme, theme2);
MessageBox.Show(watch.ElapsedMilliseconds + "ms/5000=" + watch.ElapsedMilliseconds / 1000 + "ms vs " + watch2.ElapsedMilliseconds / 100);
} }
/// <summary> /// <summary>