SynopsisThis book covers methods that can be used to increase the speed of programs via optimization. Typical mistakes, made by programmers, that lessen the performance of the system are discussed along with easily implemented solutions. Detailed descriptions of the devices and mechanisms of interaction between the computer components, effective ways of programming, and a technique for optimizing programs are provided. Programmers also will learn how to effectively implement, in a high-level language, programming methods that are usually done in the assembler. Particular attention is given to the RAM and cache subsystems. The working principles of RAM and the way in which it is coupled with the processor, as well as descriptions of programming methods that allow programmers to overclock the memory to reach maximum performance, are included. The book is oriented toward application programmers with some experience in C/C++ programming, as well as toward system programmers with knowledge of the assembly language. However, the optimization techniques described here are not bound to any high-level programming language. Thus, knowledge of C is required only for understanding the source code provided in this book. The book also will be useful to hardware specialists and technicians-especially those who build and fine-tune computers. It provides detailed descriptions of the hardware operating principles and discusses the bottlenecks of the most common hardware components. Book jacket.