Wedivided the istnetcodinand designf Thensetcontains understand the overall design.In Chapter we discuss various items of that nature The second set contains design optimizations that are global in nature.Those optimizations modify code that is spread across the source code,and are the subject of Chapter 14 Chapter 15 covers scalability issues.unique performance considerations present in a multiprocessor envrom that we dot np scusses design and coding issues ming and sy to th ept in several other places in the book.If your exposure to those concepts,help level the playing field xiv xiv frequently. We divided the list into two sets: coding and design inefficiencies. The coding set contains "low-hanging fruit"—small-scale, local coding optimizations you can perform without needing to understand the overall design. In Chapter 13 we discuss various items of that nature. The second set contains design optimizations that are global in nature. Those optimizations modify code that is spread across the source code, and are the subject of Chapter 14. Chapter 15 covers scalability issues, unique performance considerations present in a multiprocessor environment that we don't encounter on a uniprocessor. This chapter discusses design and coding issues aimed at exploiting parallelism. This chapter will also provide some help with the terminology and concepts of multithreaded programming and synchronization. We refer to thread synchronization concepts in several other places in the book. If your exposure to those concepts is limited, Chapter 15 should help level the playing field. Chapter 16 takes a look at the underlying system. Top-notch performance also necessitates a rudimentary understanding of underlying operating systems and processor architectures. Issues such as caching, paging, and threading are discussed here