Common Design Patterns for Symbian OS: The Foundations of Smartphone Software
by Adrian A. I. Issott
Chapter 8. Optimizing Execution Time
This chapter is all about making the device appear faster to the end user. This is a separate idea from optimizing your component as that can also include reducing resource usage or drawing less power. This chapter is based on the recognition that it is pretty much impossible to create an optimal system in which every concern you might have has been addressed and its negative aspects minimized. You have to make trade-offs to optimize those attributes of your component that are most important. The patterns described in this chapter make the assumption that optimizing execution time is your top priority. Of course you will still be bound by factors such as limitations on the resources you use but they are assumed to be of secondary importance. So for instance, you might choose to introduce a cache[] so that a frequently executed task can be done more quickly at the cost of increased RAM usage.
Another characteristic of optimizations is that they often only work in particular situations such as for a specific CPU architecture, a particular usage pattern or where there is high bandwidth available. This can make them fragile as, if the situation changes, the approach taken may not be the best choice, and in fact might make the task slower! Optimizations also introduce complexity as they tend to rely on special cases and therefore are likely to increase your maintenance costs. Hence a general recommendation is that ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access