CXX95 Telegram 16
#video

NEED FOR SPEED

Если сравнивать C++ с другими популярными языками (Python, Java, C#, etc.), то адекватно написанные программы на нем будут почти наверняка быстрее аналогичных программ на других языках.

Однако и внутри C++ есть своя сегрегация по скорости.

(1) В стандартных проектах мало кого может удивлять использование std::shared_ptr вместо голых указателей, постоянные аллокации памяти, забытый где-то std::move. Скорее всего, фикс такого это действительно "экономия на спичках" и только будет потом мешать разработке.

(2) В не очень стандартных проектах (браузеры, компиляция) уже немного сходят с ума - используют small vector (часть вектора на стеке), статический полиморфизм (юзают CRTP вместо виртуальных функций), вместо std::string делают непонятно куда указывающие std::string_view и т.д. Это встречали многие.

(3) Но в реалтаймовых программах своя вселенная. Нельзя делать системные вызовы, блокировать поток, использовать алгоритмы сложности > O(1), и еще куча ограничений. Это обработка сигналов, звука, HFT-системы...

Про программы из класса (3) рассказывает Тимур Думлер:
https://youtu.be/8GlwkWxf3hk?t=3504
Использование стандартной библиотеки С++ для обработки сигналов в real-time

Это выступление было мне интересно, как человеку, никогда не сталкивавшимся с такими жесткими рамками 👍
🔥6



tgoop.com/cxx95/16
Create:
Last Update:

#video

NEED FOR SPEED

Если сравнивать C++ с другими популярными языками (Python, Java, C#, etc.), то адекватно написанные программы на нем будут почти наверняка быстрее аналогичных программ на других языках.

Однако и внутри C++ есть своя сегрегация по скорости.

(1) В стандартных проектах мало кого может удивлять использование std::shared_ptr вместо голых указателей, постоянные аллокации памяти, забытый где-то std::move. Скорее всего, фикс такого это действительно "экономия на спичках" и только будет потом мешать разработке.

(2) В не очень стандартных проектах (браузеры, компиляция) уже немного сходят с ума - используют small vector (часть вектора на стеке), статический полиморфизм (юзают CRTP вместо виртуальных функций), вместо std::string делают непонятно куда указывающие std::string_view и т.д. Это встречали многие.

(3) Но в реалтаймовых программах своя вселенная. Нельзя делать системные вызовы, блокировать поток, использовать алгоритмы сложности > O(1), и еще куча ограничений. Это обработка сигналов, звука, HFT-системы...

Про программы из класса (3) рассказывает Тимур Думлер:
https://youtu.be/8GlwkWxf3hk?t=3504
Использование стандартной библиотеки С++ для обработки сигналов в real-time

Это выступление было мне интересно, как человеку, никогда не сталкивавшимся с такими жесткими рамками 👍

BY C++95


Share with your friend now:
tgoop.com/cxx95/16

View MORE
Open in Telegram


Telegram News

Date: |

During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Select “New Channel” How to Create a Private or Public Channel on Telegram? The best encrypted messaging apps So far, more than a dozen different members have contributed to the group, posting voice notes of themselves screaming, yelling, groaning, and wailing in various pitches and rhythms.
from us


Telegram C++95
FROM American