Blog Post

World's first profiler for Windows Phone 7

Download this episode

Download Video

Description

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 www.eqatec.com. 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".

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      martinmine

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

    • User profile image
      JoshRoss

      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.

      EDIT:

      Hey! These guys make a Compact Framework profiler!

      -Josh

    • User profile image
      Richard​Flamsholt

      @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.

      -Richard

    • User profile image
      SALIL NAYAK

      excellent tool for window mobile 7
      i was looking for thanks
       
      SALIL NAYAK
      WINDOW MOBILE DEVLOPER

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.