ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

Low-Latency Trading Systems in C++: Templated Meta-State Machines in HFT - Jason McGuiness - ACCU 23

Автор: ACCU Conference

Загружено: 2023-06-29

Просмотров: 6847

Описание: ACCU Membership: https://tinyurl.com/ydnfkcyn
https://accu.org
https://www.accuconference.org/

Low-Latency Trading Systems in C++: Templated Meta-State Machines in HFT - Jason McGuiness - ACCU 2023
Slides: https://accu.org/conf-previous/accu2023/

After years indulging in the temptations of micro-optimisations, I shall present a definitive, micro-optimiser's guide to implementing template meta-state machines! This was motivated by the cut-throat arena of High-Frequency Trading (HFT) and my own experiments. Extensive effort has been made to see just how far one can get using extensive template meta-programming to optimise the performance.

Following on from my previous talks regarding optimisations in C++, I undertook a multi-year investigation into extreme micro-optimisation of template meta-state machines. This Herculean effort eventually hit a "hard limit": due to Shannon's Information Theory... The meta-state machine described was a cut-down variant of the renown Boost.MetaStateMachine (mine lacks guards and other such flexilty). Each transition has been instantiated in a custom-container I termed "unordered_tuple", it provides extremely fast run-time access to each element. The input state has been encoded, using template meta-programming, in the enum tag-value to try to ensure that fastest possible instruction-encoding. The hashing of the state to identify the correct transition in the table uses a custom-designed, data-parallel algorithm that attempts to generate via brute-force an extremely fast, perfect (possibly minimal) hash: this might fail due to inadequate entropy. All this to generate a ... computed goto! (Forgive me Dijkstra...) So having erased all type information via the generated computed goto, type-safety was restored via some futher template meta-programming: the "constrained_override_type" that generates a specified override-set of functions and suitable abstract base-class. An analysis of the generated assembler that should demonstrate the efficacy of the techniques shall be given, followed by a performance comparison versus the much more simple "if-else" chain one may have used to implement the lookup of the transition in the meta state-machine.
---

Jason McGuiness

Jason is an overly-keen micro-optimiser who goes to outrageous lengths to avoid branches....

Jason has a long-standing love/hate affair with C++ and vastly prefers *nix-like O/S. With over 20 years experience, including programming prototype super-computers and automated program-verifiers, but mainly in finance, now focusing on low-latency and HFT software and architectures and the issues arising from them. I am also actively involved with the ISO C++ Standards Committee (UK Panel) and try to present regularly to maintain my skill-set.
---

YouTube Videos Filmed, Edited & Optimised by Digital Medium: https://events.digital-medium.co.uk

#accuconf #programming #cpp

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Low-Latency Trading Systems in C++: Templated Meta-State Machines in HFT - Jason McGuiness - ACCU 23

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

CMake: A Case Study - Hans Vredeveld - ACCU 2023

CMake: A Case Study - Hans Vredeveld - ACCU 2023

When Nanoseconds Matter: Ultrafast Trading Systems in C++ - David Gross - CppCon 2024

When Nanoseconds Matter: Ultrafast Trading Systems in C++ - David Gross - CppCon 2024

What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023

What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023

Супероптимизация C++: в 1000 раз быстрее

Супероптимизация C++: в 1000 раз быстрее

FPGAs and low latency trading - Williston Hayes - Optiver - FPL2020

FPGAs and low latency trading - Williston Hayes - Optiver - FPL2020

Jonathan Blow on how to figure out what is truly important for you in life

Jonathan Blow on how to figure out what is truly important for you in life

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

Building Scalable Low Latency Messaging Platform • Alexandra Tessari • Devoxx Poland 2021

Building Scalable Low Latency Messaging Platform • Alexandra Tessari • Devoxx Poland 2021

CppCast Episode 287: Trading Systems with Carl Cook

CppCast Episode 287: Trading Systems with Carl Cook

CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”

CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”

Trading at light speed: designing low latency systems in C++ - David Gross - Meeting C++ 2022

Trading at light speed: designing low latency systems in C++ - David Gross - Meeting C++ 2022

CppNow 2023

CppNow 2023

What is Low Latency C++    Timur Doumler

What is Low Latency C++ Timur Doumler

Pacific++ 2017: Carl Cook

Pacific++ 2017: Carl Cook "Low Latency C++ for Fun and Profit"

Non-Uniform Memory Architecture (NUMA): A Nearly Unfathomable Morass of Arcana - Fedor Pikus  CppNow

Non-Uniform Memory Architecture (NUMA): A Nearly Unfathomable Morass of Arcana - Fedor Pikus CppNow

SIMD Libraries in C++ - Jeff Garland - CppNow 2023

SIMD Libraries in C++ - Jeff Garland - CppNow 2023

Stop Using Rust Use C++ | Prime Reacts

Stop Using Rust Use C++ | Prime Reacts

Building Low Latency Trading Systems

Building Low Latency Trading Systems

Optimizing Trading Strategies for FPGAs in C/C++ | Milan Dvorak

Optimizing Trading Strategies for FPGAs in C/C++ | Milan Dvorak

Comparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks - Roger Orr - ACCU 2023

Comparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks - Roger Orr - ACCU 2023

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]