Information Technology Reference
In-Depth Information
CHAPTER 17
SOFTWARE OPTIMIZATION
TECHNIQUES
17.1
INTRODUCTION
Optimization is the third phase of the software identify, conceptualize, optimize,
and verify/validate (ICOV) process (Chapter 11). Optimization is linked directly to
software metrics (Chapter 5). In hardware, optimization has a very specific objective:
minimizing variation and adjusting performance mean to the target, which may be
static or dynamic in nature (El-Haik & Mekki, 2008). The DFSS methodology to
achieve such an objective is called robust design. Application of robust design to
software is presented in Chapter 18. However, software optimization is the process
of modifying a software system in an effort to improve its efficiency. 1 One way
software can be optimized is by identifying and removing wasteful computation
in code, thereby reducing code execution time (LaPlante, 2005). However, there
are several ways that software can be optimized, especially for real-time systems.
Moreover, it also should be noted that software optimization can be executed on
several different levels. That is, software can be optimized on a design level, a source
code level, or even on a run-time level.
It is important to note that there may be tradeoffs when optimizing a system. For
example, a very high level of memory may be compromised by another important
factor, such as speed. More specifically, if a system's cache is increased, it improves
the run-time performance but also will increase the memory consumption.
1 http://www.wordiq.com/definition/Software optimization
 
Search WWH ::




Custom Search