Performance Testing - ideas?

Coordinator
Oct 28, 2008 at 1:07 AM
I asked the silverlight mailing list about Performance profiling tools for Silverlight and Jonas replied:
  1. Port it to WPF and use any .NET profiler. This actually works fine in many cases, specially if your code is not UI intensive (I.e. the UI is not your perf problem)
  2. Use xPerf (http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx)

I'm a big fan of JetBrain's dottrace but it doesn't yet support Silverlight. Since we have broken the project into Silverlight Classes I propose the following:

  1. Build a set of Unit Tests against our logic that emulate the UI as close as possible - eg Zoom event calls calls the change event 70 times etc. This not only allows us to automate testing and make sure we havn't broken something but gives us something to do performance testing with.
  2. Port the classes to a simple console app. This is easier said then done and really want to automate this. The issue is where we interact with the actual UI. Do we port to WPF as Jonas mentions, replacing the MSI with some placeholder type control.
  3. Use dottrace as usual to profile the unit tests.

The first thing I'm interested in profiling is the shape logic in regards to panning and zooming. Perhaps by starting on a focused test we can come up with something to use throughout.
Thoughts?

Developer
Oct 28, 2008 at 12:48 PM
Edited Oct 28, 2008 at 12:49 PM
I agree to start off with the base layer and work our way up to see where the bottleneck is.

Theres also Silverlight Spy for a silverlight profiler.