Book Image

Building Low Latency Applications with C++

By : Sourav Ghosh
5 (1)
Book Image

Building Low Latency Applications with C++

5 (1)
By: Sourav Ghosh

Overview of this book

C++ is meticulously designed with efficiency, performance, and flexibility as its core objectives. However, real-time low latency applications demand a distinct set of requirements, particularly in terms of performance latencies. With this book, you’ll gain insights into the performance requirements for low latency applications and the C++ features critical to achieving the required performance latencies. You’ll also solidify your understanding of the C++ principles and techniques as you build a low latency system in C++ from scratch. You’ll understand the similarities between such applications, recognize the impact of performance latencies on business, and grasp the reasons behind the extensive efforts invested in minimizing latencies. Using a step-by-step approach, you’ll embark on a low latency app development journey by building an entire electronic trading system, encompassing a matching engine, market data handlers, order gateways, and trading algorithms, all in C++. Additionally, you’ll get to grips with measuring and optimizing the performance of your trading system. By the end of this book, you’ll have a comprehensive understanding of how to design and build low latency applications in C++ from the ground up, while effectively minimizing performance latencies.
Table of Contents (19 chapters)
1
Part 1:Introducing C++ Concepts and Exploring Important Low-Latency Applications
6
Part 2:Building a Live Trading Exchange in C++
10
Part 3:Building Real-Time C++ Algorithmic Trading Systems
14
Part 4:Analyzing and Improving Performance

Maximizing C++ compiler optimization parameters

In this last section, we will understand how advanced and amazing modern C++ compilers are at optimizing the C++ code that the developers write. We will understand how compilers optimize the C++ code during the compilation, linking, and optimization stages to generate the most efficient machine code possible. We will understand how compilers optimize high-level C++ code and when they fail to do the best job. We will follow that up with a discussion on what the application developer can do to aid the compilers in their optimization task. Finally, we will look at different options available in modern C++ compilers by looking specifically at the GNU compiler (GCC). Let us start by understanding how compilers optimize our C++ program.

Understanding how compilers optimize

In this sub-section, we will understand the different compiler optimization techniques that the compiler employs during its many passes over the high-level C++ code...