Monday, March 27, 2006

About startup time

On my device, a Qtek 9100 Pocket PC phone, YaRPNcalc takes about 10 seconds to start up. The Qtek 9100 uses a processor with a fairly low clock speed. For a phone, this is obviously a good thing, since it improves running time. Nevertheless, I would very much like YaRPNcalc to startup faster. To do performance improvement on software, you first need measurements. So that's what I did. What I found out is the following: About half of those 10 seconds pass before the first line of my code is even called. I guess this is the load time of the .NET compact framework plus the first bunch of just-in-time compilation. Of the other 5 seconds, the big parts are loading the files (constants, conversions and settings) and creating the forms. It might be possible to improve the loading of the files by making them smaller, or by changing to a different format (not xml). For the forms I thought I found something really good, an old MSDN article (from March 2002) called 'Improving Microsoft .NET Compact Framework-based Application Form Load Performance'. The result was quite disappointing. Of the resulting overall performance improvement of 55% I got about 0% (nothing that is). What I suspect now is that those performance improvements might have been implemented in a newer version of the .NET Compact Framework (maybe in SP2). Those changes had something good nevertheless; they made the code cleaner.

0 Comments:

Post a Comment

<< Home