tgoop.com/cxx95/16
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