ENGLISH

C++ High Performance

Book information

Publisher
Packt
Year
2018
ISBN
978-1-78712-095-2
Language
english
Format
PDF
Filesize
4 MB (4319058 bytes)
Pages
355\355
Time added
2019-08-28 08:02:25

Description

Foreword......Page 3 Contents......Page 5 Preface......Page 14 Why C++?......Page 20 C++ compared with other languages......Page 24 Class interfaces and exceptions......Page 34 Libraries used in this book......Page 38 Summary......Page 39 Automatic type deduction with the auto keyword......Page 40 The lambda function......Page 44 Const propagation for pointers......Page 59 Move semantics explained......Page 61 Representing optional values with std::optional......Page 76 Representing dynamic values with std::any......Page 79 Summary......Page 80 Measuring Performance......Page 81 Asymptotic complexity and big O notation......Page 82 What to measure?......Page 90 Knowing your code and hot spots......Page 93 Summary......Page 99 Properties of computer memory......Page 100 STL containers......Page 103 Parallel arrays......Page 116 Summary......Page 124 The iterator concept......Page 125 Summary......Page 139 Using STL algorithms as building blocks......Page 140 The future of STL and the ranges library......Page 159 Summary......Page 169 Memory Management......Page 170 Computer memory......Page 171 Process memory......Page 173 Objects in memory......Page 178 Memory ownership......Page 186 Small size optimization......Page 192 Custom memory management......Page 195 Summary......Page 205 Introduction to template metaprogramming......Page 206 Type traits......Page 210 The constexpr keyword......Page 218 Heterogeneous containers......Page 223 The std::variant......Page 234 Real world examples of metaprogramming......Page 238 Summary......Page 254 An introduction to lazy evaluation and proxy objects......Page 255 Proxy objects......Page 257 Postponing an sqrt computation when comparing distances......Page 261 Creative operator overloading and proxy objects......Page 269 Summary......Page 273 Concurrency......Page 274 What makes concurrent programming hard?......Page 275 Concurrency and parallelism......Page 276 Concurrent programming in C++......Page 285 Lock-free programming......Page 305 Performance guidelines......Page 308 Summary......Page 312 Parallel STL......Page 313 Parallel algorithms......Page 314 Parallel STL......Page 329 Executing STL algorithms on the GPU......Page 336 Boost Compute......Page 337 Index......Page 350

Similar books