diff --git a/chapters/1-Introduction/1-5 What is performance tuning.md b/chapters/1-Introduction/1-5 What is performance tuning.md index f848f1194f..5f965fb7ab 100644 --- a/chapters/1-Introduction/1-5 What is performance tuning.md +++ b/chapters/1-Introduction/1-5 What is performance tuning.md @@ -8,8 +8,8 @@ This is what I mean by "low-level optimizations". This is a type of optimization > "During the post-Moore era, it will become ever more important to make code run fast and, in particular, to tailor it to the hardware on which it runs." [@Leisersoneaam9744] -In the past, software developers had more mechanical sympathy as they often had to deal with nuances of the hardware implementation. During the PC era, developers usually were programming directly on top of the operating system, with possibly a few libraries in between. As the world moved to the cloud era, the software stack got deeper and more complex. The top layer of the stack (on which most developers work) has moved further away from the hardware. The negative side of such evolution is that developers of modern applications have less affinity to the actual hardware on which their software is running. This book will help you build a strong connection with modern processors. +In the past, software developers had more mechanical sympathy, as they often had to deal with nuances of the hardware implementation. During the PC era, developers usually were programming directly on top of the operating system, with possibly a few libraries in between. As the world moved to the cloud era, the software stack grew deeper, broader, and more complex. The top layer of the stack (on which most developers work) has moved further away from the hardware. The negative side of such evolution is that developers of modern applications have less affinity for the actual hardware on which their software is running. This book will help you build a strong connection with modern processors. -There is a famous quote by Donald Knuth: "Premature optimization is the root of all evil". But the opposite is often true as well. Postponed performance engineering may be too late and cause as much evil as premature optimization. For developers working with performance-critical projects, it is crucial to know how underlying hardware works. In such industries, it is a failure from the start when a program is being developed without a hardware focus. ClickHouse DB is an example of a successful software product that was built around a small but very efficient core. Performance characteristics of software must be a first-class citizen along with correctness and security starting from day 1. Poor performance can kill a product just as easily as security vulnerabilities. +There is a famous quote by Donald Knuth: "Premature optimization is the root of all evil". But the opposite is often true as well. Postponed performance engineering may be too late and cause as much evil as premature optimization. For developers working with performance-critical projects, it is crucial to know how underlying hardware works. In such roles, program development without a hardware focus is a failure from the beginning. Performance characteristics of software must be a primary objective alongside correctness and security from day 1. Poor performance can kill a product just as easily as security vulnerabilities. -Performance engineering is important and rewarding work, but it may be very time-consuming. In fact, performance optimization is a never-ending game. There will always be something to optimize. Inevitably, a developer will reach the point of diminishing returns at which further improvement comes at a very high engineering cost and likely will not be worth the effort. Knowing when to stop optimizing is a critical aspect of performance work. +Performance engineering is important and rewarding work, but it may be very time-consuming. In fact, performance optimization is a game with no end. There will always be something to optimize. Inevitably, a developer will reach the point of diminishing returns at which further improvement is not justified by expected engineering costs. Knowing when to stop optimizing is a critical aspect of performance work.