A detailed performance analysis of a simple low-latency trading system

EN / День 1 / 12:30 / Зал 2

Target audience: intermediate-to-expert. Purpose of the talk: High-Frequency Trading (HFT) and low-latency trading are a major preserve of C++.

The fact that it is amenable to extensive optimization, including micro-optimizations, has made it highly effective. Also, the impact of hardware and O/S upon such performance-critical systems are other major factors that C++ can build upon. The talk will cover, amongst other items: an analysis of some micro-optimization techniques with particular focus on the quirks in generated assembler due to different compiler versions. Exactly what is static branch-prediction, and how is it (ab)used? Followed by the "curious case of the switch-statement". All of these, and more, have been successfully implemented in a simple FIX-to-MIT/BIT trading system, for which the performance will be analyzed. Moreover, the impact of selected O/Ss upon performance will be discussed. Much has been written and speculated upon the mitigations for Spectre and Meltdown upon performance. Jason will present results that appear to contradict the currently-propounded beliefs of some major organizations.

Комментарий программного комитета

Высокочастотный трейдинг — одна из основных областей использования языка C++. Низкоуровневые оптимизации, понимание и контроль за тем, какой код генерирует компилятор, являются ключевыми бенефитами языка для разработчиков в области HFT. Именно такие примеры покажет докладчик. Но даже если вы не занимаетесь HFT, опыт и примеры будут полезны в любой области разработки на C++, а особенно той, где, как и в HFT, критично малое время отклика.

Скачать презентацию