Warehouse Stock Clearance Sale

Grab a bargain today!


Efficient C++
By

Rating

Product Description
Product Details

Table of Contents

(Each chapter concludes with Key Points.)

Preface.


Introduction.


Roots of Software Inefficiency.


Our Goal.


Software Efficiency: Does It Matter?


Terminology.


Organization of This Book.


1. The Tracing War Story.
Our Initial Trace Implementation.What Went Wrong.The Recovery Plan.

2. Constructors and Destructors.
Inheritance.Composition.Lazy Construction.Redundant Construction.Key Points.

3. Virtual Functions.
Virtual Function Mechanics.Templates and Inheritance.Hard Coding.Inheritance.Templates.

4. The Return Value Optimization.
The Mechanics of Return-by-Value.The Return Value Optimization.Computational Constructors.

5. Temporaries.
Object Definition.Type Mismatch.Pass by Value.Return by Value.Eliminate Temporaries with op=().

6. Single-Threaded Memory Pooling.
Version 0: The Global new() and delete().Version 1: Specialized Rational Memory Manager.Version 2: Fixed-Size Object Memory Pool.Version 3: Single-Threaded Variable-Size Memory Manager.

7. Multithreaded Memory Pooling.
Version 4: Implementation.Version 5: Faster Locking.

8. Inlining Basics.
What Is Inlining?Method Invocation Costs.Why Inline?Inlining Details.Inlining Virtual Methods.Performance Gains from Inlining.

9. Inlining—Performance Considerations.
Cross-Call Optimization.Why Not Inline?Development and Compile-Time InliningConsiderations. Profile-BasedInlining.Inlining Rules.Singletons.Trivials.

10. Inlining Tricks.
Conditional Inlining.Selective Inlining.Recursive Inlining.Inlining with Static Local Variables.Architectural Caveat: Multiple Register Sets.

11. Standard Template Library.
Asymptotic Complexity.Insertion.Deletion.Traversal.Find.Function Objects.Better than STL?

12. Reference Counting
Implementation Details.Preexisting Classes.Concurrent Reference Counting.

13. Coding Optimizations.
Caching.Precompute.Reduce Flexibility.80-20 Rule: Speed Up the Common Path.Lazy Evaluation.Useless Computations.System Architecture.Memory Management.Library and System Calls.Compiler Optimization.

14. Design Optimizations.
Design Flexibility.Caching.Web Server Timestamps.Data Expansion.The Common Code Trap.Efficient Data Structures.Lazy Evaluation.getpeername().Useless Computations.Obsolete Code.

15. Scalability.
The SMP Architecture.Amdahl’s Law.Multithreaded and Synchronization Terminology.Break Up a Task into Multiple Subtasks.Cache Shared Data.Share Nothing.Partial Sharing.Lock Granularity.False Sharing.Thundering Herd.Reader/Writer Locks.

16. System Architecture Dependencies
Memory Hierarchies.Registers: Kings of Memory.Disk and Memory Structures.Cache Effects.Cache Thrash.Avoid Branching.Prefer Simple Calculations to Small Branches.Threading Effects.Context Switching.Kernel Crossing.Threading Choices.

Bibliography.


Index. 0201379503T04062001

About the Author

Dov Bulka has spent fifteen years in the trenches of software development delivering large-scale software products to market. He was the performance architect of the IBM Domino-Go Web server that has powered some of the biggest Web sites ever hosted on the Internet, including that of the 1996 Atlanta Olympics. He received his Ph.D. in computer science from Duke University.

David Mayhew is Principal Architect of StarBridge Technologies, Inc., where he concentrates on interconnection fabrics, peer processing, and PCI bus evolution. Previously, he worked for IBM's Networking Software Division. He received his Ph.D. in computer science from Virginia Tech.



0201379503AB04062001

Ask a Question About this Product More...
 
Look for similar items by category
Home » Books » Computers » Programming » C++
Home » Books » Computers » Programming » General
People also searched for
This title is unavailable for purchase as none of our regular suppliers have stock available. If you are the publisher, author or distributor for this item, please visit this link.

Back to top
We use essential and some optional cookies to provide you the best shopping experience. Visit our cookies policy page for more information.