Blog Post

World's first profiler for Windows Phone 7

Play World's first profiler for Windows Phone 7
Sign in to queue


Performance of Windows Phone 7 apps are often vastly different on the emulator than on the actual device. Many things - I/O, networking, libraries, floating point math etc - are even different from what we're used to for full desktop .NET apps. For instance, on some devices floating point math is much faster than integer math, unlike for desktop apps. That makes it rather hard to guess your WP7 app's performance bottlenecks, and some "optimizations" can actually slow things down on the real device.

From EQATEC now comes a code-profiler that can profile your WP7 Silverlight app on real phone hardware, as well as on the emulator. The profiler is free for single-assembly applications. You can download it now from The profiler also does full desktop, NETCF, and Silverlight profiling.

This short video show how we profiled a few apps on an actual WP7 phone on loan from Microsoft Denmark. During our test we even found a real, unexpected bottleneck in a large WP7-app. The developer was quite surprised that the app's performance problem was in the database-layer, and was just about to start optimizing somewhere else. Lesson learned: "If you cannot measure it, you cannot improve it".



Right click to download this episode

The Discussion

  • User profile image

    Awesome! ;D Been waiting for this for a while now Smiley

  • User profile image

    I wish that I had a profiler for Windows Mobile 6.5.3. There is only so much optimizing that you can do by putting timers everywhere.

    What was the guy using for a database? It certainly wasn't SQL Compact or any other Microsoft database, since they are not supported on Windows Phone 7.


    Hey! These guys make a Compact Framework profiler!


  • User profile image

    @JoshRoss: Yes, we sure do, and it's the same one Smiley And it's the only profiler for NETCF 2.0 and above. Actually, the profiler started 2-3 years ago as an internal tool at our company because we did some really large embedded NETCF apps so we're indeed eating our own dog food, which shows in the UI - we want it ourselves to be quick and easy to work with.

    The database was actually a port of SQLite, but I'm not privy to the particulars of how it was used. It may have been used in the wrong way. Bottom line was that database-writes took longer and longer and call-counts in the profiling-report indicated that a table was being written and synced to disk row by row. At least that's what it sure looked like, but we didn't have time to really delve into it. But it really does happen over and over again that the bottleneck turns out to be somewhere completely different.


  • User profile image

    excellent tool for window mobile 7
    i was looking for thanks

Add Your 2 Cents