1 changed files with 47 additions and 0 deletions
@ -0,0 +1,47 @@ |
|||||
|
using System; |
||||
|
using System.Runtime.CompilerServices; |
||||
|
using Avalonia.Controls; |
||||
|
using Avalonia.UnitTests; |
||||
|
using BenchmarkDotNet.Attributes; |
||||
|
|
||||
|
namespace Avalonia.Benchmarks.Styling |
||||
|
{ |
||||
|
[MemoryDiagnoser] |
||||
|
public class StyleAttachBenchmark : IDisposable |
||||
|
{ |
||||
|
private readonly IDisposable _app; |
||||
|
private readonly TestRoot _root; |
||||
|
private readonly TextBox _control; |
||||
|
|
||||
|
public StyleAttachBenchmark() |
||||
|
{ |
||||
|
_app = UnitTestApplication.Start( |
||||
|
TestServices.StyledWindow.With( |
||||
|
renderInterface: new NullRenderingPlatform(), |
||||
|
threadingInterface: new NullThreadingPlatform())); |
||||
|
|
||||
|
_root = new TestRoot(true, null) |
||||
|
{ |
||||
|
Renderer = new NullRenderer(), |
||||
|
}; |
||||
|
|
||||
|
_control = new TextBox(); |
||||
|
} |
||||
|
|
||||
|
[Benchmark] |
||||
|
[MethodImpl(MethodImplOptions.NoInlining)] |
||||
|
public void AttachTextBoxStyles() |
||||
|
{ |
||||
|
var styles = UnitTestApplication.Current.Styles; |
||||
|
|
||||
|
styles.Attach(_control, UnitTestApplication.Current); |
||||
|
|
||||
|
styles.Detach(); |
||||
|
} |
||||
|
|
||||
|
public void Dispose() |
||||
|
{ |
||||
|
_app.Dispose(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue