Scottj1s/dp-perf

Dependency Property Perf Anlysis

★ 0Forks 0C#GitHub ↗Compare

README

Dependency Property Perf Analysis

Issues:

Projects:

  • AppDpWpfCs: WPF C#
  • AppDpUwpCs: UWP C#, .NET Native and CLR
  • AppDpUwpCx: UWP C++/CX
  • AppDpPr087Cpp: Project Reunion 0.8.7 Preview1 C++
  • AppDpPr087Cs: Project Reunion 0.8.7 Preview1 C#
  • AppDpPr086Cpp: Project Reunion 0.8.6 C++
  • AppDpPr086Cs: Project Reunion 0.8.6 C#
  • AppDpWas1Cs: Windows App SDK 1.0 C#
100K Writes, msec WPF C# UWP C# Ntv UWP C# Clr UWP CX WAS 1 C# PR .8.6 C# PR .8.7 C# PR .8.6 C++ PR .8.7 C++
Min 21 2935 2085 382 2101 1526 1471 306 245
WPF C# 21 1.00 0.01 0.01 0.05 0.01 0.01 0.01 0.07 0.09
UWP C# Ntv 2935 139.76 1.00 1.41 7.68 1.40 1.92 2.00 9.59 11.98
UWP C# Clr 2085 99.29 0.71 1.00 5.46 0.99 1.37 1.42 6.81 8.51
UWP CX 382 18.19 0.13 0.18 1.00 0.18 0.25 0.26 1.25 1.56
WAS 1 C# 2101 100.05 0.72 1.01 5.50 1.00 1.38 1.43 6.87 8.58
PR .8.6 C# 1526 72.67 0.52 0.73 3.99 0.73 1.00 1.04 4.99 6.23
PR .8.7 C# 1471 70.05 0.50 0.71 3.85 0.70 0.96 1.00 4.81 6.00
PR .8.6 C++ 306 14.57 0.10 0.15 0.80 0.15 0.20 0.21 1.00 1.25
PR .8.7 C++ 245 11.67 0.08 0.12 0.64 0.12 0.16 0.17 0.80 1.00
100K Reads, msec WPF C# UWP C# Ntv UWP C# Clr UWP CX WAS 1 C# PR .8.6 C# PR .8.7 C# PR .8.6 C++ PR .8.7 C++
Min 3 37 108 56 125 103 79 19 17
WPF C# 3 1.00 0.08 0.03 0.05 0.02 0.03 0.04 0.16 0.18
UWP C# Ntv 37 12.33 1.00 0.34 0.66 0.30 0.36 0.47 1.95 2.18
UWP C# Clr 108 36.00 2.92 1.00 1.93 0.86 1.05 1.37 5.68 6.35
UWP CX 56 18.67 1.51 0.52 1.00 0.45 0.54 0.71 2.95 3.29
WAS 1 C# 125 41.67 3.38 1.16 2.23 1.00 1.21 1.58 6.58 7.35
PR .8.6 C# 103 34.33 2.78 0.95 1.84 0.82 1.00 1.30 5.42 6.06
PR .8.7 C# 74 26.33 2.14 0.73 1.41 0.63 0.77 1.00 4.16 4.65
PR .8.6 C++ 19 6.33 0.51 0.18 0.34 0.15 0.18 0.24 1.00 1.12
PR .8.7 C++ 17 5.67 0.46 0.16 0.30 0.14 0.17 0.22 0.89 1.00

Notes:

Above benchmarks taken with Release builds, with best of 5 samples.

WPF does not cross the ABI, thus the low numbers there.

The PropertyChanged handler accounts for most of the time in the C# scenarios:

100K Writes, msec
UWP C# Ntv, with handler 2935
UWP C# Ntv, no handler 541
PR .8.7 C#, with handler 1471
PR .8.7 C#, no handler 455

PR .8.7 C# Diagnostic Traces:

VS Performance Profiler Issues:

Workaround for both is:

  • Choose Target
    • Installed App ...
    • Launch an installed Windows Store App

Contributors

Scottj1s

Issues