Skip to content
You are not logged in |Login  
     
Record:   Prev Next
Resources
More Information
Bestseller
BestsellerE-book
Author Andrist, Bjö.

Title C++ High Performance [electronic resource] : Master the Art of Optimizing the Functioning of Your C++ Code, 2nd Edition.

Imprint Birmingham : Packt Publishing, Limited, 2020.

Item Status

Edition 2nd ed.
Description 1 online resource (541 p.)
Note Description based upon print version of record.
Summary C++ High Performance, Second Edition enables you to measure and identify bottlenecks in the code and eradicate them to amplify your application's working speed without compromising the readability of your C++ codebase.
Contents Intro -- Copyright -- Packt Page -- Contributors -- Table of Contents -- Preface -- Chapter 1: A Brief Introduction to C++ -- Why C++? -- Zero-cost abstractions -- Programming languages and machine code abstractions -- Abstractions in other languages -- The zero-overhead principle -- Portability -- Robustness -- C++ of today -- C++ compared with other languages -- Competing languages and performance -- Non-performance-related C++ language features -- Value semantics -- Const correctness -- Object ownership -- Deterministic destruction in C++ -- Avoiding null objects using C++ references
Drawbacks of C++ -- Libraries and compilers used in this book -- Summary -- Chapter 2: Essential C++ Techniques -- Automatic type deduction with the auto keyword -- Using auto in function signatures -- Forwarding the return type using decltype(auto) -- Using auto for variables -- A const reference -- A mutable reference -- A forwarding reference -- Practices for ease of use -- Const propagation for pointers -- Move semantics explained -- Copy-construction, swap, and move -- Copy-constructing an object -- Resource acquisition and the rule of five -- Named variables and rvalues
Default move semantics and the rule of zero -- Rule of zero in a real code base -- A common pitfall -- moving non-resources -- Applying the && modifier to class member functions -- Don't move when copies are elided anyway -- Pass by value when applicable -- Cases where pass-by-value is not applicable -- Moving constructor parameters -- Designing interfaces with error handling -- Contracts -- Class invariants -- Maintaining contracts -- Error handling -- Programming error or runtime error? -- Programming errors (bugs) -- Recoverable runtime errors -- Function objects and lambda expressions
The basic syntax of a C++ lambda -- The capture clause -- Capture by reference versus capture by value -- Similarities between a lambda and a class -- Initializing variables in capture -- Mutating lambda member variables -- Capture all -- Assigning C function pointers to lambdas -- Lambda types -- Lambdas and std::function -- Implementing a simple Button class with std::function -- Performance consideration of std::function -- Generic lambdas -- Summary -- Chapter 3: Analyzing and Measuring Performance -- Asymptotic complexity and big O notation -- Growth rates -- Amortized time complexity
What to measure and how? -- Performance properties -- Speedup of execution time -- Performance counters -- Performance testing -- best practices -- Knowing your code and hot spots -- Instrumentation profilers -- Sampling profilers -- Microbenchmarking -- Amdahl's law -- Pitfalls of microbenchmarking -- A microbenchmark example -- Summary -- Chapter 4: Data Structures -- The properties of computer memory -- The standard library containers -- Sequence containers -- Vectors and arrays -- Deque -- List and forward_list -- The basic_string -- Associative containers -- Ordered sets and maps
Local Note eBooks on EBSCOhost EBSCO eBook Subscription Academic Collection - North America
Subject Application software -- Development.
C++ (Computer program language)
Algorithms & data structures.
Programming & scripting languages: general.
Parallel processing.
Computers -- Programming Languages -- C.
Computers -- Programming -- Parallel.
Computers -- Programming -- Algorithms.
Application software -- Development
C++ (Computer program language)
Added Author Sehr, Viktor.
Garney, Ben.
Other Form: Print version: Andrist, Bjö C++ High Performance Birmingham : Packt Publishing, Limited,c2020
ISBN 9781839212581
1839212586