Browse Source

Add benchmarks for TextBox and Button.

pull/3676/head
Dariusz Komosinski 7 years ago
parent
commit
4b13d3c04a
  1. 26
      tests/Avalonia.Benchmarks/Layout/ControlsBenchmark.cs

26
tests/Avalonia.Benchmarks/Layout/CalendarBenchmark.cs → tests/Avalonia.Benchmarks/Layout/ControlsBenchmark.cs

@ -7,12 +7,12 @@ using BenchmarkDotNet.Attributes;
namespace Avalonia.Benchmarks.Layout
{
[MemoryDiagnoser]
public class CalendarBenchmark : IDisposable
public class ControlsBenchmark : IDisposable
{
private readonly IDisposable _app;
private readonly TestRoot _root;
public CalendarBenchmark()
public ControlsBenchmark()
{
_app = UnitTestApplication.Start(
TestServices.StyledWindow.With(
@ -38,6 +38,28 @@ namespace Avalonia.Benchmarks.Layout
_root.LayoutManager.ExecuteLayoutPass();
}
[Benchmark]
[MethodImpl(MethodImplOptions.NoInlining)]
public void CreateButton()
{
var button = new Button();
_root.Child = button;
_root.LayoutManager.ExecuteLayoutPass();
}
[Benchmark]
[MethodImpl(MethodImplOptions.NoInlining)]
public void CreateTextBox()
{
var textBox = new TextBox();
_root.Child = textBox;
_root.LayoutManager.ExecuteLayoutPass();
}
public void Dispose()
{
_app.Dispose();
Loading…
Cancel
Save