Skip to content

Commit

Permalink
[Grammar] 0-2 Preface.md
Browse files Browse the repository at this point in the history
  • Loading branch information
dendibakh authored Aug 11, 2024
1 parent c3118ea commit 259ea4a
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions chapters/0-Preface/0-2 Preface.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Denis Bakhvalov is a performance engineer at Intel, where he works on optimizing various widespread production applications and benchmarks. Before that, he was a part of the Intel compiler team, that develops C++ compilers for a variety of different architectures. Denis started his career as a software developer in 2008, working on a large C++ enterprise financial application. Before joining Intel, he worked for three years at Nokia, where he was writing embedded software.

Performance engineering and compilers were always among his primary interests. In 2016 Denis started his `easyperf.net` blog, where he writes about low-level performance optimizations, C/C++ compilers, and CPU microarchitecture. Denis is a big proponent of an active lifestyle: he plays soccer, tennis, and chess.
Performance engineering and compilers were always among his primary interests. In 2016 Denis started his `easyperf.net` blog, writing about low-level performance optimizations, C/C++ compilers, and CPU microarchitecture. Denis is a big proponent of an active lifestyle: he plays soccer, tennis, and chess.

Contacts:

Expand All @@ -24,7 +24,7 @@ The first edition was released in November 2020. It was well-received by the com

Specifically, I want to highlight the exercises that I added to the second edition of the book. I created a supplementary online course "Performance Ninja", which has more than 20 lab assignments. You can use these small puzzles to practice optimization techniques and check your understanding of the material. I consider it the best part that differentiates this book from others. I hope it will make your learning process more entertaining. More details about the online course can be found in [@sec:chapter1Exercises].

Low-level performance optimizations are not easy, I know it first-hand. I tried to explain everything as clearly as possible, however the topic is very complex. It requires a fair amount of experimentation and practice to fully understand the material. I encourage you to take your time, read through the chapters and experiment with examples provided in the online course.
Low-level performance optimizations are not easy, I know it first-hand. I tried to explain everything as clearly as possible, however the topic is very complex. It requires a fair amount of experimentation and practice to fully understand the material. I encourage you to take your time, read through the chapters, and experiment with examples provided in the online course.

I joined Intel in 2017, but even before that I never shied away from software optimization tasks. I always got a dopamine hit when I saw the running time of my program went from 10 seconds down to 1 second. That feeling of excitement of discovering something, feeling proud of yourself. It made me even more curious and craving for more. I've been doing performance-related work a lot more chaotic back then. Now I do it more professionally, however, I still feel very happy when I make the software run faster. I wish you too experience the joy of discovering performance issues in your application and the satisfaction of fixing them.

Expand All @@ -42,8 +42,8 @@ This book will also be useful for any developer who wants to understand the perf

Readers are expected to have a minimal background in C/C++ programming languages to understand the book's examples. The ability to read basic x86/ARM assembly is desired but is not a strict requirement. I also expect familiarity with basic concepts of computer architecture and operating systems like central processor, memory, process, thread, virtual and physical memory, context switch, etc. If any of the mentioned terms are new to you, I suggest studying this material first.

I suggest you read the book chapter by chapter, starting from the beginning. If you consider yourself a beginner in performance analysis, I do not recommend skipping chapters. After you finish reading, you can use this book as a a source of ideas whenever you face a performance issue and it's not immediately clear how to fix it. You can skim through the second part of the book to see which optimizations techniques can be applied to your code.
I suggest you read the book chapter by chapter, starting from the beginning. If you consider yourself a beginner in performance analysis, I do not recommend skipping chapters. After you finish reading, you can use this book as a source of ideas whenever you face a performance issue and it's not immediately clear how to fix it. You can skim through the second part of the book to see which optimization techniques can be applied to your code.

[TODO]: put a link to an errata webpage

\sectionbreak
\sectionbreak

0 comments on commit 259ea4a

Please sign in to comment.