Writing Low-Latency C++ Applications Написание приложений на C++ с низкой задержкой требует тщательного подхода, включающего эффективную обработку данных, эффективное управление параллелизмом и тщательную оптимизацию на системном уровне. В этой статье приведен свод неплохих рекомендаций, многие из которых мы активно применяем в своих проектах. Я вот кратко зафиксировал для себя такой список: 1. Избегать динамической аллокации памяти и управлять ею самостоятельно и использовать структуры данных с пред-определенным размером 2. Избегайте использование heap, пишут что stack быстрее 3. Убедитесь, что структуры данных правильно выровнены со строками кэша CPU 4. Избегать копирование объектов, использовать доступ по ссылке 5. Предпочитать atomic operations и Lock-free Data Structures 6. Управлять аллокацией тредов и потоков по CPU в случае мультипоточных приложений и избегать выполнения разных поток на одном core что бы снизить их влияние на производительность друг друга 7. Реализуйте пул потоков для управления фиксированным количеством потоков, которые могут выполнять несколько задач 8. Соответствующим образом надо настраивать ОС для низкой задержки в выполнении приложения 9. Устанавливайте буферы сетевой подсистемы в как можно более маленький размер. Добавлю тут от себя - большие буферы увеличивают стабильность коммуникации но скрывают все возможной проблемы https://medium.com/@AlexanderObregon/writing-low-latency-c-applications-f759c94f52f8