Blog Post

World's first profiler for Windows Phone 7

Sign in to queue

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

Download

Download this episode

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 send us feedback you can Contact Us.