Новости от рабочей группы 21, Антон Полухин

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024
  • Обсудим новости со встречи Международного комитета по стандартизации языка С++ и интересные новинки С++26. Руководитель РГ 21 С++ Антон Полухин ответит на вопросы и расскажет о планах на С++26 и С++29

Комментарии • 10

  • @asc7uni
    @asc7uni Год назад +7

    Лучший стенап плюсовик

  • @Удалить-ю3у
    @Удалить-ю3у 6 месяцев назад

    Грустно, когда, по всей видимости, некоторые конторы-члены комитета тянут в стандарт свои сугубо специальные хотелки вроде rcu и hazard ptr. Ну вот зачем оно в стандарте? Какие-то костыли. Надеюсь не примут.

  • @АлександрКуликов-ж8к

    Глобальные объекты (rcu и hazard)
    Как-же они смогут быть быстрее локальных подобных защитников?
    Получится что-то типа атомарного шареда? А атомарный шаред сейчас (в 20 стандарте, вроде проблему поправли) прячется за глобальным статическим мьютексом, что вообще ни разу не быстро...

    • @Raspredval1337
      @Raspredval1337 Год назад +2

      времени прошло уже, но может быть пригодится: послушал пару выступлений, выглядит так, что данные за хазард поинтером хранятся в неизменяемом режиме. Для 'изменения' данных вы помещаете в текущее состояние хазард поинтера новые данные, которые потом будут использоваться при дальнейших чтениях. Для этого и нужен полу-сборщик мусора: чтобы отслеживать старые куски данных и удалять их, если они больше никем не используются. Таким образом у нас есть гарантия того, что мы читаем неизменяемый кусок данных, а значит и никакой мьютекс\атомик нам уже и не нужен

    • @АлександрКуликов-ж8к
      @АлександрКуликов-ж8к Год назад

      ​@@Raspredval1337 А при чём тут глобальная и локальная реализация хазардов?

  • @ИгорьСтепанов-и1п5х
    @ИгорьСтепанов-и1п5х 8 месяцев назад

    Код всё ещё вне политики???

  • @user-1asdv19dl
    @user-1asdv19dl 11 месяцев назад

    не понял чем RCU и hazard pointer лучше по сравнению со стандартными средствами, которые работают в режиме one writer/many readers

    • @AntonyPolukhin
      @AntonyPolukhin 10 месяцев назад

      Имеющиеся стандартные механизмы (например shared_mutex) являются блокирующими.
      RCU и hazard_pointer можно использовать как lock-free механизмы. То есть они, например, очень хорошо подходят для асинхронных фреймворков с корутинами. При этом обладают на порядок лучшей производительностью/масштабируемостью, чем имеющиеся стандартные подходы

  • @voidptr_t
    @voidptr_t Год назад +1

    Я знаю, что на совсем в тему, но с модулями ведь реализация фаст пимпла может быть сильно упрощена, так?
    Вообще это удивительно, как такая замечательная концепция как модули, имеет такую ужасную реализацию во всех компиляторах, система сборки и ленгвич серверах с аналайзерами
    Сотен, если не тысяч строк кодовой базы, можно было бы избежать, но c++ это слишком неповоротливая среда, которая могла бы исправиться, но для этого нужно повернуться, но среда то неповоротливая. Вот так и живём

  • @PorisulkiPictures
    @PorisulkiPictures 10 месяцев назад

    mdspan просто какой-то ночной кошмар... а я ещё на DX12 и CUDA жаловался...