Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy

Optimizing software in C++

An optimization guide for Windows, Linux and Mac platforms

by Agner Fog

Optimizing software in C++

Subscribe to new books via telegram channel

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

This is an optimization manual for advanced C++ programmers. This book are not for beginners.

Topics include:
- The choice of platform and operating system.
- Choice of compiler and framework.
- Finding performance bottlenecks.
- The efficiency of different C++ constructs.
- Multi-core systems.
- Parallelization with vector operations.
- CPU dispatching. Efficient container class templates.

This open book is licensed under a Creative Commons License (CC BY-SA). You can download Optimizing software in C++ ebook for free in PDF format (3.0 MB).

Table of Contents

Chapter 1
Chapter 2
Choosing the optimal platform
Chapter 3
Finding the biggest time consumers
Chapter 4
Performance and usability
Chapter 5
Choosing the optimal algorithm
Chapter 6
Development process
Chapter 7
The efficiency of different C++ constructs
Chapter 8
Optimizations in the compiler
Chapter 9
Optimizing memory access
Chapter 10
Chapter 11
Out of order execution
Chapter 12
Using vector operations
Chapter 13
Making critical code in multiple versions for different instruction sets
Chapter 14
Specific optimization topics
Chapter 15
Chapter 16
Testing speed
Chapter 17
Optimization in embedded systems
Chapter 18
Overview of compiler options

Book Details

Optimizing software in C++
Computer Science
PDF Size
3.0 MB

Related Books

Software Innovation
Innovation is the forgotten key to modern systems development - the element that defines the enterprising engineer, the thriving software firm and the cutting edge software application. Traditional forms of technical education pay little attention to creativity - often encouraging overly rationalistic ways of thinking which stifle the ability to in...
Android on x86
Android on x86: an Introduction to Optimizing for IntelĀ® Architecture serves two main purposes. First, it makes the case for adapting your applications onto Intel's x86 architecture, including discussions of the business potential, the changing landscape of the Android marketplace, and the unique challenges and opportunities that arise from x...
Financial Numerical Recipes in C++
This book is a a discussion of the calculation of specific formulas in finance. The field of finance has seen a rapid development in recent years, with increasing mathematical sophistication. While the formalization of the field can be traced back to the work of Markowitz (1952) on investors mean-variance decisions and Modigliani and Miller (1958) ...
Open Data Structures (in C++)
There are plenty of books that teach introductory data structures. Some of them are very good. Most of them cost money, and the vast majority of computer science undergraduate students will shell out at least some cash on a data structures book. Open Data Structures (in C++) - The goal of this project is to free undergraduate computer science stud...
Agile Processes in Software Engineering and Extreme Programming
This book constitutes the proceedings of the 18th International Conference on Agile Software Development, XP 2017, held in Cologne, Germany, in May 2017. The 14 full and 6 short papers presented in this volume were carefully reviewed and selected from 46 submissions. They were organized in topical sections named: improving agile processes; agile i...
Intelligent Human Computer Interaction
This book constitutes the thoroughly refereed proceedings of the 9th International Conference on Intelligent Human Computer Interaction, IHCI 2017, held in Evry, France, in December 2017. The 15 papers presented together with three invited papers were carefully reviewed and selected from 25 submissions. The conference is forum for the presentation...