Understanding Software Dynamics
Understanding Software Dynamics
Proud to be B-Corp
Our business meets the highest standards of verified social and environmental performance, public transparency and legal accountability to balance profit and purpose. In short, we care about people and the planet.
The feel-good place to buy books
- Free delivery in Ireland
- Supporting authors with AuthorSHARE
- 100% recyclable packaging
- Proud to be a B Corp – A Business for good
- Buy-back with Ziffit

Understanding Software Dynamics by Richard Sites
An Expert Guide to Software Performance Optimization From mobile and cloud apps to video games to driverless vehicle control, more and more software is time-constrained: It must deliver reliable results seamlessly, consistently, and virtually instantaneously. If it doesn't, customers are unhappy--and sometimes lives are put at risk. When complex software underperforms or fails, software engineers need to identify and address the root causes. This is difficult and, historically, few tools have been available to help. In Understanding Software Dynamics, performance expert Richard L. Sites tackles the problem head on, offering expert methods and advanced tools for understanding complex, time-constrained software dynamics, improving reliability and troubleshooting challenging performance problems. Sites draws on several decades of experience pioneering software performance optimization, as well as extensive experience teaching graduate-level developers. He introduces principles and techniques for use in any environment, from embedded devices to datacenters, illuminating them with examples based on x86 or ARM processors running Linux and linked by Ethernet. He also guides readers through building and applying a powerful, new, extremely low-overhead open-source software tool, KUtrace, to precisely trace executions on every CPU core. Using insights gleaned from this tool, readers can apply nuanced solutions--not merely brute-force techniques such as turning off caches or cores. Measure and address issues associated with CPUs, memory, disk/SSD, networks, and their interactions Fix programs that are always too slow, and those that sometimes lag for no apparent reason Design useful observability, logging, and time-stamping capabilities into your code Reason more effectively about performance data to see why reality differs from expectations Identify problems such as excess execution, slow instruction execution, waiting for resources, and software locks Understanding Software Dynamics will be valuable to experienced software professionals, including application and OS developers, hardware and system architects, real-time system designers, and game developers, as well as advanced students. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details."Complex software often uses threads, events, and I/O to produce resultsEven intermittent performance bugs can lead to functional failures when results are time sensitive. Here Sites shares his methods from decades of experience as a real-world performance detective to enable you to approach the deduction skills of an IT Sherlock Holmes."
—Mark D. Hill, Partner Hardware Architect at Microsoft and Professor Emeritus at the University of Wisconsin-Madison
"I think that any senior CS student or professional can benefit by reading this book. While all the material in the first half of the book leads up to the use of KUTrace, the first two parts are worth reading on their own by anyone who wants to better understand the systems they are building and using."—Rik Farrow, ;login
| SKU | Unavailable |
| ISBN 13 | 9780137589739 |
| ISBN 10 | 0137589735 |
| Title | Understanding Software Dynamics |
| Author | Richard Sites |
| Series | Addison-Wesley Professional Computing Series |
| Condition | Unavailable |
| Binding Type | Paperback |
| Publisher | Pearson Education (US) |
| Year published | 2022-02-23 |
| Number of pages | 464 |
| Cover note | Book picture is for illustrative purposes only, actual binding, cover or edition may vary. |
| Note | Unavailable |