Post has shared content
Очень интересный доклад о стандартной библиотеки #cplusplus с конференции #cplusplusrussia. Рассказывается о современном С++ и старых методах повышения эффективности кода, которыми теперь (в современном С++) пользоваться не стоит.
https://www.youtube.com/watch?v=rJWSSWYL83U&list=PLZN9ZGiWZoZojYik8EdApUgPwa0YM3Yuz&index=14
Содержание:
1) [до 18 минуты] на примере класса строки (типичный пример велосипеда) рассказывается о подходе COW (Copy On Write), сокращающем число вызовов конструкторов при работе с временными объектами. Подход хорошо описан в интернете, но пользоваться им уже не стоит - рассказывается почему COW плохо работает в параллельных программах. Поясняется чем семантика перемещения лучше COW.
2) [до 26 минуты] рассказывается интересная оптимизация класса строки - small string optimisation. Когда-то из за этой оптимизации компании переписывали стандартную строчку. Теперь в стандартной библиотеке есть эта оптимизация. Кроме того, в С++17 поддерживается guaranteed copy elision.
3) [до 32 минуты] рассказывается о std::variant из С++17. Показаны интересные ошибки, допускаемые при написании std::variant.
4) [до 40 минуты] рассказывается про force inline и почему им не стоит пользоваться.
5) [до 44 минуты] рассказывается про aliasing. А точнее, про опцию -fno-strict-aliasing, которую иногда используют при переносе кода на другю платформу. Объсняется что делает эта опция и почему ей не стоит пользоваться.
6) [до 60 минуты] даются "советы на каждый день" - на очень простых примерах рассказываются некоторые моменты стандартной библиотеки, которые позволяют улучшить код: vector.reserve, std::make_shared, std::move, применение auto&& в range based for, std::string_view, constexpr, override (показано как помогает избежать ошибок при рефакторинге), final (помогает оптимизировать код компилятору), анонимный namespace, перемещающие конструкторы, noexcept (тоже помогает оптимизатору), конструкторы по умолчанию (помогают сильно упростить код и не ошибиться)
7) [до 68 минуты] интересный пример с кэшированием деления.
С 70 минуты идет обсуждение доклада (длится 40 минут). Тоже очень интересное.

Post has attachment

Post has attachment
Понравилось видео о корутинах (которые теперь есть в С++) с конференции C++ Russia. Да, оно двухчасовое, но это потому, что рассказывается история корутин, начиная с середины прошлого века (и языка Кобол) и очень подробно (на нескольких примерах) показывается какие проблемы можно с их помощью решить. Это нужная штука если вы хотите писать параллельные (а точнее, асинхронные) программы. Местами может показаться, что вас "грузят" каким-то жестким кодом, но досмотрите - это примеры того, как теперь писать не стоит (ведь есть корутины). https://www.youtube.com/watch?v=Ts-1mWBmTNE&list=PLrs_DcVZNww21UVq-vrGSFwjJc_zvfb5u #cplusplus

Post has attachment

Post has attachment

Post has attachment

Post has attachment

Post has attachment

Post has attachment

Post has attachment
Wait while more posts are being loaded