Added parsing benchmark.

This commit is contained in:
Jeremy Koritzinsky
2018-06-09 20:40:48 -05:00
parent 841efbcfce
commit 1133c3e46e
2 changed files with 35 additions and 0 deletions
@@ -1,5 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
@@ -0,0 +1,34 @@
using Avalonia.Controls;
using Avalonia.Markup.Parsers;
using BenchmarkDotNet.Attributes;
using System;
using System.Collections.Generic;
using System.Text;
namespace Avalonia.Benchmarks.Markup
{
[MemoryDiagnoser]
public class Parsing
{
[Benchmark]
public void ParseComplexSelector()
{
var selectorString = "ListBox > TextBox /template/ TextBlock[IsFocused=True]";
var parser = new SelectorParser((ns, s) =>
{
switch (s)
{
case "ListBox":
return typeof(ListBox);
case "TextBox":
return typeof(TextBox);
case "TextBlock":
return typeof(TextBlock);
default:
return null;
}
});
var selector = parser.Parse(selectorString);
}
}
}