Far too many programmers and software designers consider efficient C++ to be an oxymoron. They regard C++ as inherently slow and inappropriate for performance-critical applications. Consequently, C++ has had little success penetrating domains such as networking, operating system kernels, device drivers, and others. Efficient C++ explodes that myth. Written by two authors with first-hand experience wringing the last ounce of performance from commercial C++ applications, this book demonstrates the potential of C++ to produce highly efficient programs. The book reveals practical, everyday object-oriented design principles and C++ coding techniques that can yield large performance improvements. It points out common pitfalls in both design and code that generate hidden operating costs. This book focuses on combining C++'s power and flexibility with high performance and scalability, resulting in the best of both worlds. Specific topics include temporary objects, memory management, templates, inheritance, virtual functions, inlining, reference-counting, STL, and much more. With this book, you will have a valuable compendium of the best performance techniques at your fingertips.
Dov Bulka Boeken


Java(TM) Performance and Scalability - 1: Server-Side Programming Techniques
- 320bladzijden
- 12 uur lezen
This book aims to equip Java programmers with the skills necessary to develop efficient, scalable code. The author shares insights from his experience in server-side performance tuning, focusing on measured performance assessments known as optimizations. Each optimization presents techniques to enhance code performance and scalability, supported by concrete data and evaluations. The content is organized into 48 concise lessons addressing common performance pitfalls, offering a wealth of practical tips to improve program efficiency. Key topics include memory management, garbage collection, caching, and multithreading. Specific lessons cover reserving StringBuffer capacity, avoiding premature object creation, creating an efficient vector class, designing caching into APIs, understanding synchronization costs, managing parallel subtasks, optimizing JNI efficiency, varying server workloads, and utilizing ServletOutputStream and JDBC connection caching. The author concludes with a practical application that demonstrates the effectiveness of these optimizations, showcasing how a typical program's performance can be quadrupled through a series of steps that integrate the lessons discussed. This resource provides both the methodology and evidence needed for improved coding practices.