Add benchmark
This commit is contained in:
1 parent
b044efe50e
commit
2452306e6c
1 file changed
+29
-10
+29
-10
@@ -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>
|
||||||
|
|||||||
Reference in new issue
Block a user