From the Publisher: Revealing the secrets of the software tuning process, The Software Optimization Cookbook provides recipes for high-performance applications on the Intel® Pentium® III and Pentium® 4 processors. Simple explanations and C language examples show you how to address performance issues with algorithms, memory access, branching, SIMD instructions, multiple threads, and floating-point calculations. With this book, you need not be a processor architect or assembly language expert to get the full power out of your software on the 32-bit Intel® Architecture. Learn how to: Use performance tools and tested concepts to analyze and improve applications. Determine which portions of an application should be given highest priority for optimizations. Identify the reasons that certain portions of your application are slower than they should be. Improve an application by working directly on the root cause of a software bottleneck. Design an application from the ground up for maximum performance.
Cited By
- Lathrop S (2009). Dynamic analysis of branch mispredictions in Ada, ACM SIGAda Ada Letters, 29:3, (79-84), Online publication date: 9-Nov-2009.
- Lathrop S Dynamic analysis of branch mispredictions in Ada Proceedings of the ACM SIGAda annual international conference on Ada and related technologies, (79-84)
- Sha X, Fortin M and Rousseau J Calligraphic video Proceedings of the 17th ACM international conference on Multimedia, (1091-1100)
- Willhalm T, Popovici N, Boshmaf Y, Plattner H, Zeier A and Schaffner J (2009). SIMD-scan, Proceedings of the VLDB Endowment, 2:1, (385-394), Online publication date: 1-Aug-2009.
- Kejariwal A, Veidenbaum A, Nicolau A, Girkar M, Tian X and Saito H (2009). On the exploitation of loop-level parallelism in embedded applications, ACM Transactions on Embedded Computing Systems (TECS), 8:2, (1-34), Online publication date: 1-Jan-2009.
- Kejariwal A, Tian X, Girkar M, Li W, Kozhukhov S, Banerjee U, Nicolau A, Veidenbaum A and Polychronopoulos C Tight analysis of the performance potential of thread speculation using spec CPU 2006 Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming, (215-225)
- Dudek R, Cuenca C and Quintana F Accelerating space variant Gaussian filtering on graphics processing unit Proceedings of the 11th international conference on Computer aided systems theory, (984-991)
- Santos C and Santos C 5Cam Proceedings of the 12th Brazilian Symposium on Multimedia and the web, (99-107)
- Kejariwal A, Veidenbaum A, Nicolau A, Girkarmark M, Tian X and Saito H Challenges in exploitation of loop parallelism in embedded applications Proceedings of the 4th international conference on Hardware/software codesign and system synthesis, (173-180)
- Wang Z, Xue Q, Chen G, Zeng W, Fang Z and Wu S A new color image enhancement algorithm for camera-equipped mobile telephone Proceedings of the 10th international conference on Knowledge-Based Intelligent Information and Engineering Systems - Volume Part I, (631-638)
- Fung Y, Cheung W, Singh G and Ercan M An empirical study of bi-level parallel computing on a PC Proceedings of the 2nd WSEAS International Conference on Electronics, Control and Signal Processing, (1-5)
- Ngassam E, Watson B and Kourie D Hardcoding finite state automata processing Proceedings of the 2003 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology, (111-121)
Recommendations
Speculative software management of datapath-width for energy optimization
LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsThis paper evaluates managing the processor's datapath-width at the compiler level by means of exploiting dynamic narrow-width operands. We capitalize on the large occurrence of these operands in multimedia programs to build static narrow-width regions ...
Speculative software management of datapath-width for energy optimization
LCTES '04This paper evaluates managing the processor's datapath-width at the compiler level by means of exploiting dynamic narrow-width operands. We capitalize on the large occurrence of these operands in multimedia programs to build static narrow-width regions ...