Don't Forget the Profiler
I love tracing through code in the debugger… Every developer should spend some time walking through the execution of their code to see how it REALLY behaves. While there is no substitute for good design and planning, watching code execute always seems to reveal some surprises and insights. When a good development idea gets lost in translation to code, performance is often the cost. Maybe I could make it faster if I did this… do I really need to pass that around? Tracing through code execution is only part of it though. What about resource consumption and general performance? When the NETCF team released Remote Performance Monitor, it was a very good day for Windows Mobile Developers. The tool is useful on so many levels, it’s hard to give it enough credit. My favorite feature is the ability to take a snapshot of memory in time… giving you not only the ability to compare memory growth over time with other snapshots, but to see exactly what objects are resource hogs. If you haven’t run RPM on your apps, you need to. You will see resource usage in a new light and have a much better understanding of whether you app is a good WM citizen or not. This is all good stuff, but the NETCF team polished the performance tool belt when they released the NETCF 3.5 Power Toys which included a NETCF Profiler. Now you can get a good idea of how the flow of execution in your app might be playing into your performance results. I’m calling that routine HOW MANY times? The NETCF Profile is a pretty good V1 release, but I’ve had a few developers asking for more. I commonly refer them over to the EQATEC NETCF Profiler tool. It’s easy to use, it’s extremely useful, and it’s free. Better yet, it works on earlier versions of NETCF. Check it out.