Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; OK LightBlue Dim b1 As New Button b1.Content = "OK" b1.Background = New SolidColorBrush(Colors.LightBlue) b1.Width = 100
Composition = Power
Measure, measure, measure Identify key scenarios and set clear goals Start measuring early on representative hardware Low hanging fruit Let measurements be your guide “Premature optimization is the root of all evil” Perceived performance Make it feel fast “An art, not a science” Trade-offs CPU versus memory, etc “To ship is to choose”
demo
Cold start Warm start Runtime Memory Image size Memory leaks Element count
demo
Cold start Warm start Runtime Memory Disk I/O Module loads NGen
demo
Cold start Warm start Runtime Memory Avoid blocking Delay work Perceived perf
demo
Cold start Warm start Runtime Memory Excessive *.* Beware of IRTs Eventing
Excessive *.* Beware of IRTs Eventing Avoid blocking Delay work Perceived perf Disk I/O Module loads NGen Image size Memory leaks Element count Composition + Measurement = Power Memory Cold start Warm start Runtime
Q & A
Built by Developers for Developers….
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.