4Software architecture

4.1Design for performance

Working with software, PC as well as embedded, for more than 30 years, has led me to realize that a system designed for performance is often also a simple system, easy to explain, easy to understand, and robust. On the other hand, code that is performance-optimal is mostly difficult to create, even more difficult to read a year later, and often prone to bugs. Add to this that the performance gain in a good design, compared to a bad design, may be a factor of 10, whereas performance improvements in code optimization are measured in percentages and 25 percent is a “boost.”

There are typically very few “inner loops” such as the ones in digital filters discussed in Chapter 11. This all leads to the ...

Get Embedded Software for the IoT now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.